鱗目界域-龍論壇

游態龍的錫安山。龍的力量、智慧、野性、與優雅

您尚未登录。 (登录 | 注册)

公告

mb 爪機版     |    論壇指南     |    Discord     |    QQ群

《龙魂志》第一期
《龙魂志》第二期

Tips:我们吟唱的山谷,我们飞翔的天空

#1 2018-12-23 07:55:19  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

[TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

pix2pix這個模型,在訓練之後可以將灰階圖轉變成彩色圖

如果用食物照片進行訓練,就能將食物的灰階圖轉換成彩色圖

於是我嘗試用龍圖進行訓練,希望能得到一個自動幫灰階龍圖上色的模型

這本書《學會TensorFlow之後呢?最尖端的21個夢幻範例實作》,裡面第9章的舉例,使用7000多張食物圖片進行訓練



我整理了一下我蒐集的龍圖,只整理出大約3000張

然後使用tensorflow CPU版本進行訓練,目前經過大約30小時,大約完成50%了

至於為什麼不用比較快的tensorflow GPU版本呢,這又是另外一個故事了  

------------------------------
圖片來源與參考資料:
1.  https://github.com/affinelayer/pix2pix-tensorflow
2.  《學會TensorFlow之後呢?最尖端的21個夢幻範例實作》

3.  [url]ftp://ftp.topteam.cc/TD1848%E8%AE%80%E8%80%85%E4%B8%8B%E8%BC%89%E7%94%A8%E7%9A%84ftp/TD1848/book_data/chapter_9_data/[/url]  (帳號是reader,沒有密碼,直接按確定)

最后修改: 龍爪翻書 (2018-12-23 07:59:38)


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#2 2018-12-23 17:31:19  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

今天下午終於成功安裝好TensorFlow GPU版本  [大笑] 

使用pix2pix對同樣的3000多張龍圖進行深度學習,預計時間少了一半以上

i7 9700K,預計3000多分鐘

GTX 750ti,預計1300多分鐘


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#3 2018-12-23 17:31:24  |  只看该作者

shiningdracon
寻道龙
Registered: 2008-11-03
Posts: 4,177

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

支持這個。
我試過生成樓宇和麪孔的例子,如果輸入形狀和訓練集偏離得比較大,輸出的結果可能會很詭異。
期待龍圖的實驗效果。


有 1 位朋友喜欢这篇文章:龍爪翻書


以龍為本
<-- 目前頭像 by 理業化肥
聯繫方式:站內短消息或郵件

离线

#4 2018-12-24 07:33:53  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

今天早上7點多訓練好了

驗證用的圖片,可以是彩色的,這個模型會將其轉變成灰階再轉換成彩色,還會輸出一個網頁

網頁我上傳到自家的小網站了
https://www.leisurelywing.synology.me/tensorflow/pix2pix/20181224/

我目前找了20張驗證用圖片,下方可說是直式對照,想看橫式對照請看上方網址 (晚上補充:後來將所有圖片都複製過來了)

輸入給程式的灰階圖是input
輸出的彩色圖片是output
原始圖片為target

input

output

target


input

output

target





















































電腦無法判斷的,看樣子不會亂塗

input

output

target

最后修改: 龍爪翻書 (2018-12-24 19:12:11)


有 1 位朋友喜欢这篇文章:shiningdracon


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#5 2018-12-24 08:11:41  |  只看该作者

蓝羽龙
角龍
来自 江苏扬州
Registered: 2010-12-09
Posts: 516

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

[↑] @龍爪翻書 寫道: 今天早上7點多訓練好了  驗證用的圖片,可以是彩色的,這個模型會將其轉變成灰階再轉換成彩色,還會輸出一個網頁  網頁我上傳到自家的小網站了 https://www.leisurelywing.syno …

所以說下面那些文物、雕像、玩具、蜥蜴都是驗證對照的?[傻笑]

龍爪的配置好高……

最后修改: 蓝羽龙 (2018-12-24 08:12:25)


I hope to find a little peace of mind and I just want to know.

离线

#6 2018-12-24 18:54:59  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

@藍羽龍 寫道: 所以說下面那些文物、雕像、玩具、蜥蜴都是驗證對照的?[傻笑]

對啊   [賣萌] 

因為我也和影子一樣,想知道如果驗證用圖片和訓練用圖片差太多,會發生什麼事?    [靈感] 


@藍羽龍 寫道: 龍爪的配置好高……

其實我的主力電腦還有一張1070ti顯卡    [傻笑]


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#7 2018-12-30 18:31:28  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

今天下午嘗試用我的主力電腦對同樣的3000多張龍圖進行訓練

顯示卡是1070ti,預計時間約380分鐘,跟之前相比快了好多倍

i7 9700K,預計3000多分鐘

GTX 750ti,預計1300多分鐘



執行到第13輪訓練時,我想說網路上說訓練過程中,隨時可以進行驗證,我就試試看

然後記憶體不足(我有16G),驗證和訓練的工作階段都掛了    [被炸] 

後來我測試,只驗證256*256的一張圖,居然GPU瞬間100%,CPU瞬間約20%,顯卡記憶體使用約6G

看樣子驗證圖片也需要大量的運算資源       [汗] 

暫停tensorflow訓練有一定的步驟,我也不知道我這樣能不能繼續從13輪開始訓練

不過倒是得到一個只訓練13輪的AI,我將驗證圖發過來給大家看看  (作為對比,我上面4樓的圖,是訓練70輪的AI)

補充說明:
因為訓練只接受256*256大小的圖片,之前的訓練是將長邊切掉變成正方形,
這一次的訓練則是將短邊補上黑色變成正方形,所以嚴格意義來說這次的驗證結果跟上次的驗證結果不能直接比較。


(這個13輪AI倒是很給面子,將我的臨摹圖上了不少顏色 XD)



















最后修改: 龍爪翻書 (2018-12-30 18:41:43)


有 1 位朋友喜欢这篇文章:shiningdracon


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#8 2018-12-31 09:43:21  |  只看该作者

shiningdracon
寻道龙
Registered: 2008-11-03
Posts: 4,177

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

來效果比第一次好一些


有 1 位朋友喜欢这篇文章:龍爪翻書


以龍為本
<-- 目前頭像 by 理業化肥
聯繫方式:站內短消息或郵件

离线

#9 2018-12-31 10:08:25  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

第二次訓練完成

我先解釋一下第二次的訓練用圖片和第一次的差別

首先,這個深度學習的程式只接受256*256畫素的正方形圖片

第一次訓練時,我將長邊切掉,像這樣:


第二次訓練時,我在短邊補上黑色,像這樣:


我發幾張讓大家看看這一次的訓練結果,詳細結果請點下方我的小網站的連結

輸入圖

輸出圖

原始圖

看樣子,灰階圖沒畫好的部分,電腦上色也會不好   


輸入圖

輸出圖

原始圖


最讓我驚喜的是這一張,上色結果非常接近原圖   

輸入圖

輸出圖

原始圖



驗證用圖片我不是從訓練用圖片中抓的,是另外下載的

因為這一張,我還特地略看了整組訓練用圖片,應該是沒有這一張

所以這真的是AI學習的結果,真是太神奇了    [驚訝] 

下次訓練,將圖片增加到10萬張以上吧    [傻笑] 

附上目前的三次訓練結果

1. 訓練圖切掉長邊,訓練到70 (max_epochs = 70)
https://www.leisurelywing.synology.me/tensorflow/pix2pix/20181224/

2. 訓練圖短邊補黑色,訓練到13時意外中斷 (epochs = 12)
https://www.leisurelywing.synology.me/tensorflow/pix2pix/20181230/

3. 訓練圖短邊補黑色,訓練到70 (max_epochs = 70)
https://www.leisurelywing.synology.me/tensorflow/pix2pix/20181231/

這一次我也學會叫出訓練曲線來看

雖然這曲線我看不大懂,但上下幅度很大,深色線條是取平均、平滑後的結果

我猜上下幅度大,代表AI還沒找出很好的規律

這一次的訓練用龍圖,可能風格太散,每一張對電腦來說都是特例的話,畫風很難找出規律

下次訓練時,相同風格的多弄幾張好了   [靈感]


有 1 位朋友喜欢这篇文章:shiningdracon


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#10 2018-12-31 21:11:39  |  只看该作者

蓝羽龙
角龍
来自 江苏扬州
Registered: 2010-12-09
Posts: 516

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

好像比較偏暖色系?


I hope to find a little peace of mind and I just want to know.

离线

#11 2018-12-31 21:52:16  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

似乎是的,訓練用圖片各種顏色都有,但我沒統計暖色系比例    [靈感]


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#12 2019-01-03 19:47:41  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

AMD最近的RX570顯示卡蠻便宜的

例如華碩 STRIX-RX570-O4G-GAMING 顯示卡只要4390

現在買還可以從Resident Evil™ 2、Devil May Cry™ 5、Tom Clancy’s The Division® 2,這三款遊戲中任選兩種

可惜TensorFlow深度學習不支援AMD顯示卡的說   

以下分享文章:
深度學習該選什麼顯示卡?

整體來說最佳的GPU: RTX 2070
不建議買的GPU: 所有Tesla卡; 所有Quadro卡;所有Founders Edition卡; Titan V, Titan XP
性價比好但貴: RTX 2070
性價比好又便宜:  GTX Titan (Pascal) from eBay, GTX 1060 (6GB), GTX 1050 Ti (4GB)
我預算很少: GTX Titan (Pascal) from eBay, or GTX 1060 (6GB), or GTX 1050 Ti (4GB)
我幾乎沒預算: GTX 1050 Ti (4GB); CPU (prototyping) + AWS/TPU (training); or Colab.

性能

性價比


圖片與資料來源: 
http://timdettmers.com/2018/11/05/which-gpu-for-deep-learning/
https://zhuanlan.zhihu.com/p/42749496


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

#13 2019-01-06 19:56:06  |  只看该作者

龍爪翻書
会员
来自 台北
Registered: 2011-07-10
Posts: 2,829

回应: [TensorFlow]使用pix2pix將灰階圖轉換成彩色圖

又做了一個嘗試

這一次的訓練樣本,是來自同一個畫家的25張龍圖


Ruth Thompson的龍圖出處:http://s278.photobucket.com/user/rjraven97/library/ruth%20thompson%20dragons?sort=3&page=1

因為樣本數很少,所以我設定訓練1萬次 (epochs = 10000)

以我的電腦硬體配備,大約需要7小時

訓練曲線出乎我預料,居然不是越多次越好   [驚訝] 

根據這篇,pix2pix訓練過程,generator_loss_L1是最主要的標準,越低越好
https://github.com/affinelayer/pix2pix-tensorflow/issues/99

以我這次的訓練來說,大約在35.5K step,也就是大約 1420 epoch時,generator_loss_L1最低

對照上面兩張圖的generator_loss_L1,訓練到1萬epoch(250K step)的時候,都沒有1420 epoch這麼低,真奇妙   [疑惑] 

這一次的驗證結果網頁如下:
https://www.leisurelywing.synology.me/tensorflow/pix2pix/20190106

可以看出,即使樣本極少,而且都是同一個畫風,訓練出來的AI仍然可以給「某些」其他風格的龍圖上色 

雖然效果沒有之前3000張樣本的AI好,但是這代表AI不是死背,而是有學習到龍的一些特徵啊    [靈感] 

最后修改: 龍爪翻書 (2019-01-06 20:05:56)


←目前頭像感謝安雅贈圖。

And I saw a new heaven and a new earth: for the first heaven and the first earth were passed away; and there was no more sea.

离线

论坛页尾