日韩性视频-久久久蜜桃-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 模型的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 午夜中出 | 色久婷婷 | 日日干日日操 | 日本爽爽 | 精品国产69 | 免费无遮挡在线观看视频网站 | 精品人妻一区二区三区麻豆91 | 片黄在线观看 | 喷水av| 丰满人妻一区二区 | 成人午夜在线播放 | 亚洲色偷偷综合亚洲av伊人 | 国产午夜免费 | 欧美精品一区二区久久婷婷 | 日批动态图 | 成年人黄色免费网站 | 欧美日韩亚洲国产 | 香蕉毛片 | 99热在线国产 | 美女露隐私网站 | 香蕉二区 | 色盈盈影院| 四虎影院成人 | 91精品综合久久久久久 | 久草免费资源站 | 麻豆www. | 国产三级在线看 | 国产嫩草影院久久久久 | 久久不射网站 | 精品自拍偷拍视频 | 国产伦精品一区二区. | 久久精品亚洲一区 | 国产精品免费一区二区三区在线观看 | 一级大片网站 | 人人妻人人玩人人澡人人爽 | 欧美日韩国产亚洲一区 | 亚洲高潮| www爱爱| 国产无遮挡又黄又爽又色 | 91蝌蚪91九色白浆 | 超碰97人人在线 | 一区中文字幕 | xxxx性视频 | 香蕉久久a毛片 | 国产人成无码视频在线观看 | 亚洲第一国产 | 亚洲AV成人无码精电影在线 | 激情自拍视频 | 午夜tv| 久久久国产精品成人免费 | 亚洲国产精品无码观看久久 | 国产91熟女高潮一区二区 | 国产精品1| 国产欧美日韩一区二区三区 | 91成人在线免费观看 | 一区二区三区国 | 欧色av | 91av网址 | av电影一区二区三区 | 息与子五十路翔田千里 | 中文一区二区在线播放 | 欧洲精品二区 | 尤物视频在线观看国产性感 | free性丰满69性欧美 | 欧美亚洲一级片 | 国产激情视频 | 日韩一卡二卡在线 | 日韩午夜视频在线观看 | 一级全黄裸体片 | 久久久久亚洲AV成人 | 性久久久久久久久 | 综合激情四射 | 男人桶女人桶爽30分钟 | 双性人做受视频 | 69久久久久久 | aaa黄色 | 中文字幕三级 | 欧洲熟妇的性久久久久久 | 一区二区三区四区免费视频 | 精品国产av一区二区三区 | 大色网小色网 | 午夜黄色小视频 | 884aa四虎影成人精品一区 | 美女扒开内看个够网站 | 激情丁香网 | 国模私拍一区二区三区 | 久久视频在线观看 | 午夜日韩欧美 | 日韩一级大片 | 看黄色一级大片 | 香蕉视频1024| 无套中出丰满人妻无码 | xxxxwwww国产| 男操女视频在线观看 | 久久久在线 | 国产精品成人免费一区二区视频 | 熟妇高潮一区二区高潮 | 亚洲激情综合网 | 色女人天堂 |