论文地址具有上下文注意的生成图像修复
论文代码:GitHub
01配置环境
根据原文代码中read me中要求,进行环境配置以及包的安装。
Run
安装python3。
安装tensorflow(在1.3.0,1.4.0,1.5.0,1.6.0,1.7.0版本上进行了测试)。
安装tensorflow工具包neuralgym(运行pip Install git+https://github.com/JiahuiYu/neuralgym)。
01安装tensorflow
我在pycharm中安装tensorflow发生报错,我选择在conda中安装,Read me中各几个版本的(1.3/4/5/6/7.0)对应的python版本都很低,选择安装py3.6。
第一步:导入下载镜像地址,加速下载。配置国内源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaonda/pkgs/main/
第二步:现实源地址
conda config --set show_channel_urls yes
第三步:创建一个3.6的python环境
conda create --prefix=D:\an\anaconda\envs\xf3.6 python=3.6
conda remove -n xf --all
conda create -n txxf3.6 python=3.6
conda activate xf3.6
第四步:安装1.4.0的版本的tensorflow,我安装了1.3.0和1.7.0都报错了,Conv2D可能没有。 第五步:安装gpu版本的tensorflow
conda install tensorflow==1.4.0
pip install tensorflow-gpu==1.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U --trusted-host pypi.tuna.tsinghua.edu.cn
02安装neuralgym
我们需要运行代码pip Install git+https://github.com/JiahuiYu/neuralgym,首先我们需要下载一个git。
git官网Git
1点击downloads,2点击windows,3在点击64位window系统的
安装:01图Next,02图选择图中5个打勾,设定基本功能next,
03选择默认的喜好-默认vim。04选择 重写新存储库的默认分支名称。
05选择中间的git from 06上面的
07上面的 08上面的
09 10
11 12
13点安装 14 安装成功
打开anaconda prompt,激活你的环境,再cd D:\learn\txhf\generative_inpainting-master,然后安装
pip install git+https://github.com/JiahuiYu/neuralgym
01 cv2
ModuleNotFoundError: No module named 'cv2'
输入代码 pip install opencv-python
报错
Collecting opencv-python
Cache entry deserialization failed, entry ignored
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
解决方法,在官网https://www.lfd.uci.edu/~gohlke/pythonlibs/下载opencv的whl文件安装 ,D盘是whl文件保存路径。
pip install D:\an\anaconda\Lib\site-packages\opencv_python-4.4.0-cp36-cp36m-win_amd64.whl
02 numpy
报错
File "D:\an\anaconda\envs\txxf3.6\lib\site-packages\neuralgym\ops\image_ops.py", line 5, in <module>
import cv2
ImportError: numpy.core.multiarray failed to import
numpy版本过低,我安装的1.3.1的numpy,应该根据python版本找适合的最好版本,我装了1.16.4成功了。
conda install numpy==1.16.4
03 yaml
报错
File "D:\an\anaconda\envs\txxf3.6\lib\site-packages\neuralgym\utils\config.py", line 4, in <module>
import yaml
ModuleNotFoundError: No module named 'yaml'
安装 pyyaml,直接
conda install pyyaml
File "D:\an\anaconda\envs\txxf3.6\lib\site-packages\neuralgym\ops\gan_ops.py", line 138, in <module>
class Conv2DSepctralNorm(tf.layers.conv2D):
AttributeError: module 'tensorflow.python.layers.layers' has no attribute 'conv2D'
报错代码为
class Conv2DSepctralNorm(tf.layers.Conv2D):def build(self, input_shape):super(Conv2DSepctralNorm, self).build(input_shape)self.kernel = kernel_spectral_norm(self.kernel)
把其中的Conv2D改为小写的。
路径在D:\an\anaconda\envs\txxf3.6\Lib\site-packages\neuralgym\ops\gan_ops.py
class Conv2DSepctralNorm(tf.layers.conv2d):def build(self, input_shape):super(Conv2DSepctralNorm, self).build(input_shape)self.kernel = kernel_spectral_norm(self.kernel)
04 pillow
Traceback (most recent call last):
File "D:\learn\txhf\generative_inpainting-master\train.py", line 7, in <module>
from inpaint_model import InpaintCAModel
File "D:\learn\txhf\generative_inpainting-master\inpaint_model.py", line 16, in <module>
from inpaint_ops import gen_conv, gen_deconv, dis_conv
File "D:\learn\txhf\generative_inpainting-master\inpaint_ops.py", line 8, in <module>
from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
这个需要安装piillow,PIL曾用于2x版本的python,先使用3x版本对应pillow。
登录pillow官网pillow · PyPI
点击download files,在其中找到Pillow-5.2.0-cp36-cp36m-win_amd64.whl(1.6 MB view hashes)
我们是python3.6 win系统 64位 whl文件。
直接点击左边蓝字下载。把下载好的whl文件放到D:\an\anaconda\Lib路径下,
安装代码与路径一致。
pip install D:\an\anaconda\Lib\site-packages\Pillow-5.2.0-cp36-cp36m-win_amd64.whl
06 检验环境包安装成功
点击train.py,初步训练成功。
02训练过程
准备训练图像文件列表并打乱它(例子)。
修改填补。设置DATA_FLIST、LOG_DIR、IMG_SHAPES等参数。
运行python train.py。