邁向元宇宙, AI 生成藝術之路 ( N o .1 )
<<彩繪GAN模型的範例程式與訓練流程 --使用Paddle&OpenVINO>>1.0 說明:實機演練 Paddle GAN 的訓練流程
⚫ 這是 Paddle GAN 模型,可以自己觀察 Picasso 的畫作而自我學 習。並且渲染很接近原圖的彩色作品了。
⚫ 目標:訓練了一個 GAN 模型,學習 Picasso 的畫風。
⚫ 作法:採取 Lab 三通道,將*.jpg 圖像,分解為 L、a、b 三通道。
⚫ 將單通道 L 輸入給 G(生成器),由 G 自己生成兩通道:new_a 和 new_b。然後將[L, new_a, new_b]匯合成為一張新的*.jpg 圖像。
⚫ 例如,原圖是:
⚫ 取出 L 通道:
⚫ GAN 就自動生成 new_a 和 new_b,並匯合出新圖像:
⚫ 在您的電腦上,需要安裝 Paddle(飛槳)模型框架,以及相關的套 件。
⚫ 準備訓練資料:即 10 張 Picasso 的畫作(*.jpg)。如下:
⚫ 圖片大小不拘,GAN 會自動調整為 256 x 256 大小。
⚫ 於是,這 AI 模型學習了 Picasso 的畫作風格。
⚫ 您可以把您自己的任何彩色(JPG)圖片,取出 L 通道,輸入給這訓練 好的模型。它就會重新彩繪出 Picasso 的色彩風格了
⚫ 您也可以繼續拿莫內、梵谷等的畫作讓它學習,就能將您的圖像彩繪 出這些名家的混合風格了。
1.1 觀摩這個 GAN 模型的程式碼
⚫ 程式碼:使用 Paddle 模型框架
⚫ 程式碼:
⚫ 這個程式,每執行一次,就會訓練 20 回合。
⚫ 可以觀察到,一開始訓練 1 回合,其誤差值為:
⚫ 訓練到 20 回合,其誤差值已經下降:
⚫ 訓練到 20 回合,其誤差值已經下降:
⚫ 訓練 20 回合之後,自動輸入黑白底圖:
⚫ 這個 GAN 會基於上述黑白底圖,而依據它所學習到的 Picasso 風格 而渲染彩繪出來:
⚫ 並且輸出 Paddle 的模型檔案:
⚫ 這把訓練 20 回合之後的模型權重及相關參數值,儲存起來。以便後 續繼續訓練。
⚫ 現在,已經訓練 20 回合,並儲存到 Paddle 模型檔案
⚫ 把各圖像的 L 輸入給 GAN 模型,就輸出訓練的結果— 繪出圖像(如 上圖所示)。
1.2 基於上述的 Paddle 模型檔,繼續訓練 20 回合
⚫ 使用一樣的程式:繼續訓練 20 回合,並更新模型檔
⚫ 程式碼:
⚫ 之前已經訓練 20 回合了。
⚫ 現在,再執行一次這個程式(Paddle_Lab_GAN_train_001.py)。
⚫ 就會進行新的 20 回合的訓練。誤差值繼續縮小:
⚫ 目前總共訓練了 40 回合。
⚫ 此時,這個 GAN 會基於黑白底圖,而依據它所學習到的 Picasso 風 格而渲染彩繪出來:
1.3 繼續加碼,繼續訓練 20 回合(共 60 回合)
⚫ 再一次使用剛才的程式:繼續訓練 20 回合,並更新*.pt
⚫ 程式碼:
⚫ 之前已經訓練 40 回合了。
⚫ 現在,再執行一次這個程式(Paddle_Lab_GAN_train_001.py)。
⚫ 就會進行新的 20 回合的訓練。
⚫ 此時總共訓練了 60 回合。誤差值繼續縮小:
⚫ 這個 GAN 會基於黑白底圖,而依據它所學習到的 Picasso 風格而渲 染彩繪出來:
1.4 繼續加碼,繼續訓練 20 回合(共 80 回合)
⚫ 再執行一樣的程式:繼續訓練 20 回合,並更新*.pt
⚫ 程式碼:
⚫ 之前已經訓練 60 回合了。
⚫ 現在,再執行一次這個程式(Paddle Lab_GAN_train_001.py)。
⚫ 就會進行新的 20 回合的訓練。
⚫ 此時總共訓練了 80 回合。誤差值繼續下降:
⚫ 這個 GAN 會基於黑白底圖,而依據它所學習到的 Picasso 風格而渲 染彩繪出來:
1.5 繼續加碼,繼續訓練 20 回合(共 100 回合)
⚫ 再執行一次上述的程式:繼續訓練 20 回合,並更新模型檔
⚫ 程式碼:
⚫ 之前已經訓練 80 回合了。
⚫ 現在,再執行一次這個程式(Paddle Lab_GAN_train_001.py)。
⚫ 就會進行新的 20 回合的訓練。
⚫ 此時總共訓練了 100 回合。誤差值繼續縮小:
⚫ 這個 GAN 會基於黑白底圖,而依據它所學習到的 Picasso 風格而渲 染彩繪出來:
⚫ 可以拿來比較一下原圖:
⚫ 大功告成。
◆◆◆
尊重原创,感谢原创!神鹰AI团队准备了10支《彩绘GAN模型》,更多paddlepaddle的讨论与知识也可关注公众号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)