github :https://github.com/yitong91/StoryGAN
论文 :https://arxiv.org/pdf/1812.02784.pdf
-
Entorno, python3.5, pytorch, cv2
-
Ejecute el código directamente en CLEVR-SV
python main_clevr.py -
Con respecto a los problemas de 2.7 a 3.5 encontrados en el código de depuración:
Dado que 2.7 se ejecuta en el entorno python3.5, algunas funciones deben cambiarse.
(1).
Cambie iteritems a los elementos
(2).
Cambie si no b.has_key (k) a si k no está en b:
(3). La
versión de Numpy no es compatible con versiones anteriores. Cambie la versión de numpy (pip install numpy == 1.16.1)
(4).
Agregue ", encoding =" latin1 "" después del nombre de la variable original. Originalmente np.load (A) se convirtió en np.load (A, encoding = "latin1")
(5).
Solución: De hecho, el fragmento de código anterior se puede definir en python2.7 sin ningún problema. El problema soy yo El entorno de python3 existente tiene diferentes reglas para la división de python2. El 512/2 anterior, el resultado en python3 es 256.0, pero en python2 es 256. La diferencia entre python2 y 3 hace que la gente se sienta desesperada en todas partes. Reemplace / con //, se puede garantizar que la última operación sea de tipo int.
(6) El paquete de la antorcha no se puede aplicar en el servidor, así que vuelva a instalarlo.
Sin embargo, durante el proceso de instalación, siempre se muestra el tiempo de espera de instalación de pip.
Solución: modifique el tiempo de espera
pip --default-timeout = 1000 install -U pip
no resuelve el problema y el fenómeno del tiempo de espera de la instalación aún se produce.
Otra forma de pensar: use Thunder para descargar el archivo whl a una ruta, luego ingrese la ruta y pip directamente install ***. Whl
(7). -
El propietario de la tarjeta liao ~
Espera unos días, luego podemos arreglarlo.
En el github proporcionado por el autor, el autor declaró que el código no admite subprocesos múltiples.
Así que cambie el código y cámbielo por un código que no sea multiproceso, inspirado en el siguiente código.
Cambie el código en el entrenador a: