日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cycle/Pix2Pix 模型

發布時間:2025/3/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cycle/Pix2Pix 模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CycleGAN是在去年三月底放在arxiv的一篇文章,文章名為Learning to Discover Cross-Domain Relations with Generative Adversarial Networks,同一時期還有兩篇非常類似的 DualGAN 和 DiscoGAN ,簡單來說,它們的功能就是:自動將某一類圖片轉換成另外一類圖片。

?

由于CycleGAN這個框架具有較強的通用性,因此一經發表就吸引了大量注意,很快,腦洞大開的網友想出了各種各樣神奇的應用。

比如將貓變成狗:

?

讓圖片中的人露出笑容:

?

將男人變成女人:

?

?

如果說這些應用多少可以理解,那么下面的應用就有點“匪夷所思”了:你可以想象將人和拉面做轉換嗎?

日本網友加藤卓哉(Takuya Kato)就訓練了這樣一個模型,它可以從拉面中生成人像,此外將人臉變成拉面的圖片。鑒于生成的結果比較鬼畜,如果有興趣的可以搜索觀看生成結果。

此外,知乎上的 @達聞西 還用CycleGAN訓練了可以脫掉女優衣服的模型(可以參考提高駕駛技術:用GAN去除(愛情)動作片中的馬賽克和衣服),其腦洞之大,實在是讓人驚嘆了一番。

?

?

還有自動美顏,卸妝...

?

CycleGAN與pix2pix模型的對比

pix2pix也可以做圖像變換,它和CycleGAN的區別在于,pix2pix模型必須要求成對數據(paired data),而CycleGAN利用非成對數據也能進行訓練(unpaired data)。

?

?

比如,我們希望訓練一個將白天的照片轉換為夜晚的模型。如果使用pix2pix模型,那么我們必須在搜集大量地點在白天和夜晚的兩張對應圖片,而使用CycleGAN只需同時搜集白天的圖片和夜晚的圖片,不必滿足對應關系。因此CycleGAN的用途要比pix2pix更廣泛,利用CycleGAN就可以做出更多有趣的應用。

?

?

在TensorFlow/Pytorch中實驗CycleGAN

1.Tensorflow中開源代碼主要可以參考這個

vanhuyz/CycleGAN-TensorFlow(地址:https://github.com/vanhuyz/CycleGAN-TensorFlow)。

具體操作也比較簡單,今天主要給大家玩玩Pytorch版CycleGAN 與 pix2pix二合一版的。

?

2.提高駕駛技術

?

一行代碼都不用改,只需要按照前面的步驟把數據準備好,然后按照pix2pix官方的使用方法訓練就可以了:

https://github.com/phillipi/pix2pix

pyTorch版pix2pix(Cycle-GAN二合一版):

https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

具體步驟:

1.拷貝項目

  • git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

  • cd pytorch-CycleGAN-and-pix2pix

  • 這個沒啥好說的,不會github命令請轉身學習幾分鐘。

    ?

    2.玩轉CycleGAN

    CycleGAN train/test

    懶人系列就直接安裝源碼中給出的數據集,一步步來就ok.

    這里主要介紹如何在自己的數據集上去訓練。

    數據集準備

    To train a model on your own datasets, you need to create a data folder with two subdirectories?trainA?and?trainB?that contain images from domain A and B. You can test your model on your training set by setting?--phase train?in?test.py. You can also create subdirectories?testA?and?testB?if you have test data.

    簡單說就是,訓練自己的CycleGAN,需要在datasets目錄下新建兩個文件夾 trainA 和trainB,同時為了后面的測試,可以再建testA,testB,完整目錄展示如下:

    注意mosaic是我存放兩個數據集的根目錄。看名字就知道我這個數據集就是用來玩馬賽克的。

    數據集有千百種獲取方式,,寫個爬蟲腳本,收集一下需要的圖片,然后做些處理,隨機crop,翻轉等數據增強操作。記得一定要準備兩類,比如高清圖,對應的馬賽克圖,美顏圖,對應的需要卸妝后的圖。如果你跟我一樣比較懶,那么也好辦,從來源數據集下載總可以了吧。這里我下載的celeba數據集,然后截取了兩萬張,,,后來發現訓練太慢來,再次截取,最后采集來三千張來玩,由于我要做的是原圖與馬賽克圖之間的translation,所以,隨機采集3000張后的圖作為trainB,然后打馬賽克的圖作為trainA.最后圖像轉換的方向就是A==>B

    話說回來,如何打mosaic?前幾天剛好研究到這里,已經放出了代碼,請自行移步這里

    ?

    訓練

    python3 train.py --dataroot ./datasets/mosaic --name mosaic_cyclegan --model cycle_gan --pool_size 50 --no_dropout --gpu_ids 0,1

    ?

    說明下:

    CycleGAN訓練是個非常漫長的過程,如果沒有GPU,小哥哥你還是看看就好。我是直接放到服務器上玩的了,配置如下:

    ?

    如上訓練命令,我使用的是GPU DEVICE 0和1

    代碼想要跑起來,必須搭建好環境,參照項目源碼自行配置,記得安裝

  • pip install visdom

  • pip install dominate

  • 用來可視化訓練過程的 To view training results and loss plots, run?python3 -m visdom.server?and click the URL?http://localhost:8097. To see more intermediate results, check out?./checkpoints/maps_cyclegan/web/index.html

    可視化過程:

    python3 -m visdom.server

    記得現把這個執行下,不然直接跑訓練命令會報錯。

    訓練過程是這樣的

    ?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ?

    ?

    看不出來?再貼一張:

    ?

    ?

    測試命令在:

    ?

    /scripts/test_cyclegan.sh

    ?

    python test.py --dataroot ./datasets/mosaic --name mosaic_cyclegan --model cycle_gan --phase test --no_dropout

    ?

    ?

    ?

    3.玩轉pix2pix

    ?

    pix2pix train/test

    數據集準備

    ?

    We provide a python script to generate pix2pix training data in the form of pairs of images {A,B}, where A and B are two different depictions of the same underlying scene. For example, these might be pairs {label map, photo} or {bw image, color image}. Then we can learn to translate A to B or B to A:

    Create folder?/path/to/data?with subfolders?A?and?B.?A?and?B?should each have their own subfolders?train,?val,?test, etc. In?/path/to/data/A/train, put training images in style A. In?/path/to/data/B/train, put the corresponding images in style B. Repeat same for other data splits (val,?test, etc).

    Corresponding images in a pair {A,B} must be the same size and have the same filename, e.g.,?/path/to/data/A/train/1.jpg?is considered to correspond to?/path/to/data/B/train/1.jpg.

    ?

    這個比較復雜一點,主要是要求圖像必須成對

    我們同樣在./datasets/mosaic文件夾下新建兩個文件夾,A 和 B,然后在它們各自目錄下再建三個folder,test,train,val

    最后將訓練數據放到各自的train下,測試的在test下,驗證在val下。

    整個文件結構長這樣子:

    ?

    ?

    細心的盆友可能發現mosaic根目錄下也有三個folder,test,train,val,對的,這個是用代碼自動生成的:

    python3 datasets/combine_A_and_B.py --fold_A ./mosaic/A --fold_B ./mosaic/B --fold_AB ./mosaic

    到此,我們的數據集算是搞定了。

    ?

    訓練

    還不就是一句話的事

    python3 train.py --dataroot ./datasets/mosaic --name mosaic_pix2pix --model pix2pix --which_model_netG unet_256 --which_direction AtoB --lambda_B 100 --dataset_mode aligned --no_lsgan --norm batch --pool_size 0

    ?

    注意參數選取

    ?

    可視化

    一樣的,通過

    run?python3 -m visdom.server?and click the URL?http://localhost:8097.?

    ?

    測試

    so easy ..

  • #!./scripts/test_pix2pix.sh

  • python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --which_model_netG unet_256 --which_direction BtoA --dataset_mode aligned --norm batch

  • 數據集改成自己測試的數據集路徑就好。

    ?

    參考文獻:

    1.https://cloud.tencent.com/developer/article/1064970

    2.https://cloud.tencent.com/developer/article/1077415

    3.https://blog.csdn.net/Gavinmiaoc/article/details/80585531

    總結

    以上是生活随笔為你收集整理的cycle/Pix2Pix 模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日本伊人色| 久久久无码精品亚洲国产 | 国产精久久| 少妇熟女高潮流白浆 | 成年人av在线播放 | 丰满人妻一区二区 | 天堂8av | 天天影视插插插 | 一区二区三区不卡视频在线观看 | 亚洲欧美乱日韩乱国产 | 久久的色偷偷 | 毛片大全在线观看 | 成人深夜福利在线观看 | 日韩午夜激情电影 | 色噜噜狠狠狠综合曰曰曰88av | 日本一区二区在线 | www.日韩欧美 | 男女激情网站 | 免费看欧美一级特黄a大片 国产免费的av | 精品黑人一区二区三区久久 | 女人喂男人奶水做爰视频 | 夜夜综合网 | 亚洲一区二区三区在线视频 | 欧美色图亚洲激情 | 中文在线观看免费 | 国产一区美女 | 影音先锋在线观看视频 | 欧美大片在线 | 意大利性荡欲xxxxxx | 日韩欧美国产激情 | 在线免费观看污网站 | 操极品女神 | 久久免费看片 | 精品视频一区二区三区 | 欧美日韩一级黄色片 | 亚洲国产成人无码av在线 | 欧美在线一卡 | 久久综合久色欧美综合狠狠 | 日韩黄色影院 | 美女av网| 日韩色婷婷 | 91久久极品少妇xxxxⅹ软件 | 公侵犯一区二区三区 | 中文字幕在线三区 | 日本中文在线 | 久久久噜噜噜久久中文字幕色伊伊 | 国产欧美日韩中文字幕 | 91成人精品一区在线播放 | www.色啪啪.com | 美日韩丰满少妇在线观看 | 少妇愉情理伦片bd | 国产一区二区三区在线 | 国产美女被遭强高潮免费网站 | 免费视频久久 | 亚洲一区二区色 | 日韩第一视频 | 日韩三级免费看 | 十八禁毛片 | 中文字幕在线播放第一页 | 久久三 | 91精品国产高清 | 国产又黄又粗 | 成年人免费观看网站 | 综合色99 | 国产免费一区二区三区最新不卡 | 亚洲激情在线播放 | 99热这里只有精品18 | 欧洲美一区二区三区亚洲 | 337p日本欧洲亚洲大胆张筱雨 | 婷婷综合另类小说色区 | 亚州国产精品视频 | 亚洲精品www | 伊人首页| 美女av一区二区 | 一区二区三区四区免费 | 永久久久久久 | 91抖音在线观看 | 我要看黄色大片 | 黄色三级生活片 | 成人做爰www免费看视频网站 | 亚洲色图欧美自拍 | 日韩精品一区在线视频 | 一区两区小视频 | 黄色资源网站 | 日韩成人免费在线视频 | 日韩一区二区三区在线播放 | 日韩黄色一级视频 | 亚洲一区a | 狠狠躁夜夜躁xxxxaaaa | 红桃视频一区二区三区免费 | 免费的av网址 | 最近中文字幕在线观看视频 | 在线免费中文字幕 | 亚洲精品久久一区二区三区777 | 国产四区 | 久久美女免费视频 | 亚洲国产精品久久久久久6q | 97影院手机版 | 欧美色吊丝 |