运行环境

  1. Anaconda [Python] 下载
  2. CUDA 10.0 下载
  3. CUDNN 7.6 下载

安装Anaconda之后,在菜单栏中打开 AnacondaPrompt 然后会弹出控制台程序,在这里执行Python操作。

CUDA默认安装,CUDNN安装之后解压至C盘路径下,并在系统环境变量Path中添加以下三行:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v10.0\extras\CUPTI\libx64
C:\CUDNN路径\cuda\bin
笔记:StyleGan食用教程

之后再打开的控制台面板中创建环境 输入以下命令

conda create -n tensorflow-gpu python=3.7

创建完成后输入

conda activate tensorflow-gpu

进入环境

输入

python -m pip install –upgrade pip 

升级Pip,然后输入

pip install tensorflow-gpu==1.13.1

安装TensorFlow

之后去GITHUB下载StyleGan,解压出来

在控制台中CD至StyleGan目录

笔记:StyleGan食用教程

生成数据集

首先我们要先创建自己的数据集(图库),将图片打包至StyleGan目录下任意一个文件夹里,比如/pic中.

之后再控制台输入

python dataset_tool.py create_from_images datasets/custom_dataset ./pic

执行成功后应该会显示Add XXX Images

这时候在目录中的datasets里面应该就会有打包好的 TFRecords 文件了。

修改训练参数(Train.py)

    desc += '-custom_dataset';     dataset = EasyDict(tfrecord_dir='custom_dataset', resolution=128); train.mirror_augment = False
    #desc += '-ffhq';     dataset = EasyDict(tfrecord_dir='ffhq');                 train.mirror_augment = True
    #desc += '-ffhq512';  dataset = EasyDict(tfrecord_dir='ffhq', resolution=512); train.mirror_augment = True
    #desc += '-ffhq256';  dataset = EasyDict(tfrecord_dir='ffhq', resolution=256); train.mirror_augment = True
    #desc += '-celebahq'; dataset = EasyDict(tfrecord_dir='celebahq');             train.mirror_augment = True
    #desc += '-bedroom';  dataset = EasyDict(tfrecord_dir='lsun-bedroom-full');    train.mirror_augment = False
    #desc += '-car';      dataset = EasyDict(tfrecord_dir='lsun-car-512x384');     train.mirror_augment = False
    #desc += '-cat';      dataset = EasyDict(tfrecord_dir='lsun-cat-full');        train.mirror_augment = False
 
    # Number of GPUs.
    desc += '-1gpu'; submit_config.num_gpus = 1; sched.minibatch_base = 4; sched.minibatch_dict = {4: 128, 8: 128, 16: 128, 32: 64, 64: 32, 128: 16, 256: 8, 512: 4}
    #desc += '-2gpu'; submit_config.num_gpus = 2; sched.minibatch_base = 8; sched.minibatch_dict = {4: 256, 8: 256, 16: 128, 32: 64, 64: 32, 128: 16, 256: 8}
    #desc += '-4gpu'; submit_config.num_gpus = 4; sched.minibatch_base = 16; sched.minibatch_dict = {4: 512, 8: 256, 16: 128, 32: 64, 64: 32, 128: 16}
    #desc += '-8gpu'; submit_config.num_gpus = 8; sched.minibatch_base = 32; sched.minibatch_dict = {4: 512, 8: 256, 16: 128, 32: 64, 64: 32}

总共修改俩处,第一行将自己数据集的路径填写进去,然后设置一下图片分辨率

下面的NumberOF Gpus 按照自己显卡数量 在每行前面加注释(#)即可,选择一行将其他行注释掉。

然后执行

python train.py

出现Train...即成功开始训练

输出结果

修改pretrained_example.py

 url = os.path.abspath("results/目录下的文件夹/network-snapshot-000140.pkl")
    with open(url, 'rb') as f:
        _G, _D, Gs = pickle.load(f)

将Url 的路径修改成模型的路径

然后执行

python pretrained_example.py

即可在Result中输出图片

笔记:StyleGan食用教程

问题

执行中出现Moduel xxxxx

缺少组件 用pip安装即可 缺什么装什么

导入图片失败

图片尺寸要是2的倍数


Per Aspera Ad Astra