关于调试2019年CVPR的StoryGAN的2.7→3.5

github:https://github.com/yitong91/StoryGAN
论文:https://arxiv.org/pdf/1812.02784.pdf

  1. 环境,python3.5,pytorch,cv2

  2. 直接运行code 在CLEVR-SV下
    python main_clevr.py

  3. 关于在调试代码遇到的2.7到3.5的问题:
    由于是利用python3.5的环境运行2.7,因此部分函数需要更改。
    (1).
    将iteritems改为items
    将iteritems改为items
    (2).
    将 if not b.has_key(k)改为 if k not in b:
    将 if not b.has_key(k)改为 if k not in b:
    (3).
    更改numpy的版本
    Numpy的版本没有向下兼容。更改numpy的版本(pip install numpy==1.16.1)
    (4).
    encoding="latin1
    在原本的变量名后面加“,encoding=“latin1””。 本来是np.load(A)变成np.load(A,encoding=“latin1”)
    (5).
    把/换成//
    解决:其实上面这一段代码,放到python2.7里面定义是完全没有问题的,问题是我现有的python3的环境对于除法的规则和python2不一样。上面的512/2,在python3中的结果是256.0,但是在python2中就是256,python2和3的这些区别,真的让人处处感到绝望。把/换成//,后者的运算能够保证是int型数据。
    (6). 服务器上应用不了torch的包,因此重新安装。
    但是在安装过程中,一直显示pip安装超时。
    pip --default-timeout=1000 install -U pip
    解决方法:修改超时时间
    pip --default-timeout=1000 install -U pip
    解决失败,还是出现安装超时的现象。换一个思路:
    用迅雷将whl文件下载到一个路径中,然后进入路径,直接pip install ***.whl
    (7).

  4. 卡主liao~
    Wait some days, then we can fix it.
    在这里插入图片描述
    在作者给出的github上,作者说明了该代码并不支持多线程。
    在这里插入图片描述
    因此更改代码,将其改成不是多线程的代码,受下方代码启发。
    在这里插入图片描述
    在trainer中更改代码为:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wwwangzai/article/details/98028466