基于深度学习GAN的Ai换装(比赛记录)

比赛记录(一)

一、AI换装:

在这里插入图片描述
在这里插入图片描述

1:模型安装与调试

Viton -Gan

项目地址:
https://github.com/shionhonda/viton-gan

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hMfeHdY2-1593176058275)(D:\CSDN\Blog\比赛记录\1593171961436.png)]

clone好以后,目录中只有文件,没有文件夹,缺少:

1:编译环境,torch -gpu版本地址:链接:https://pan.baidu.com/s/1d6ThY0AlhDF-cJQenL8vLw
提取码:j784 通过pip install XXXXXXX.whl安装 (python3.7, 64位,cuda为10.2)

通过pip或者conda安装:https://pytorch.org/见此

如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hqf0crUZ-1593176058280)(D:\CSDN\Blog\比赛记录\1593172572297.png)]

其余的基本上就是个个可视化的,直接安装就行。

2:需要下载data数据集:包含:
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z5gyIgh1-1593176058282)(D:\CSDN\Blog\比赛记录\1593172023867.png)]

见此:https://pan.baidu.com/share/init?surl=bdB3mdWBAD8-5uYoa3Kp4Q 提取码:8aum

脚本介绍,以及后续运行顺序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDybJe9y-1593176058286)(D:\CSDN\Blog\比赛记录\1593173725894.png)]

说明:

2:代码运行

运行train_gmm

如果运行报错:

Traceback (most recent call last):
  File "train.py", line 191, in <module>
    main()
  File "train.py", line 176, in main
    train_gmm(opt, train_loader, model, board)
  File "train.py", line 58, in train_gmm
    inputs = train_loader.next_batch()
  File "/vton/cinastanbean-cp-vton/cp_dataset.py", line 166, in next_batch
...
    tensor.sub_(mean[:, None, None]).div_(std[:, None, None])
RuntimeError: output with shape [1, 256, 192] doesn't match the broadcast shape [3, 256, 192]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-soKpVd6Q-1593176058289)(D:\CSDN\Blog\比赛记录\1593174125020.png)]

self.transform = transforms.Compose([  \
        transforms.ToTensor(),   \
        transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
self.transform = transforms.Compose([ \
        transforms.ToTensor(), \
        transforms.Normalize((0.5,), (0.5,))])

测试时,不用改epoch为100,测试用1-10就行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pLxVJtNE-1593176058291)(D:\CSDN\Blog\比赛记录\1593174302817.png)]

会在:

在这里插入图片描述

里面的GMM打开:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bIGUjRfO-1593176058294)(D:\CSDN\Blog\比赛记录\1593173908116.png)]

3:运行run_gmm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MfHCCxDR-1593176058297)(D:\CSDN\Blog\比赛记录\1593174444022.png)]

要是报runtime错,请修改batchsize,降低到6左右

要是报一个out of memenoy 请降低n_worker 为0-4左右

然后运行结束后会在data /train 和test 或者val中各添加两个拟合,与掩码图片:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mTYlcecE-1593176058297)(D:\CSDN\Blog\比赛记录\1593174683337.png)]

4,然后就运行train _tom

需要一个VGG19模型,请点击:https://blog.csdn.net/Da_Yuan8421/article/details/88836970

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v8afdJzz-1593176058298)(D:\CSDN\Blog\比赛记录\1593174914077.png)]

写错了。应该是torch 下面的checkpoints里面

运行train_tom这个是生成最后的拟合模型,根据你的epoch数决定

会在根目录的result里面的TOM下生成模型pth

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v29DOJRX-1593176058299)(D:\CSDN\Blog\比赛记录\1593175122382.png)]

(这个我有训练好65个epoch的)

然后就最后run_tom:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wUUKf2Qc-1593176058300)(D:\CSDN\Blog\比赛记录\1593175467203.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rqQEpJ6m-1593176058302)(D:\CSDN\Blog\比赛记录\1593175564472.png)]

结果如图:(只训练了几个epoch)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Bks8Faq-1593176058302)(D:\CSDN\Blog\比赛记录\1593175624462.png)]

目标效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kQiAwPXP-1593176058304)(D:\CSDN\Blog\比赛记录\1593175677884.png)]

5:最后有一些需要修改的地方(报错请看这里):

要是报runtime错,请修改batchsize,降低到6左右

要是报一个out of memenoy 请降低n_worker 为0-4左右

data中,要改成person,不用原本的(只改名字,结果如图),另外好像要自己建立个VAL文件夹,放入跟test一样的文件就行(这个不确定了):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ndHwwXRn-1593176058304)(D:\CSDN\Blog\比赛记录\1593175804784.png)]

猜你喜欢

转载自blog.csdn.net/qq_46098574/article/details/106974570