天天看點

TensorFlow.NET機器學習入門【9】後記

某個無聊的下午,在部落格園刷帖時無意發現一篇介紹關于風格遷移的文章,提到某個國外團隊在這方面研究的最新進展。

他們實作了一個網絡,可以把真人的照片轉為二次元卡通圖檔,效果非常好。

論文位址:[2106.06561] GANs N' Roses: Stable, Controllable, Diverse Image to Image Translation (works for videos too!) (arxiv.org)

 項目源碼:GitHub - mchong6/GANsNRoses: Official PyTorch repo for GAN's N' Roses. Diverse im2im and vid2vid selfie to anime translation.

 下面是一個示範的效果:

TensorFlow.NET機器學習入門【9】後記

 說實話,看到這種效果還是很令人震撼的。

正是看了這篇論文激發了我研究機器學習的興趣,當時還買了Python、Pytorch、TensorFlow等方面的書惡補了一把,最後由于水準原因,沒有成功!

不過,正所謂:有心栽花花不開,無心插柳柳成蔭。我發現在工業自動化領域如果有涉及到機器學習的需求,采用TensorFlow.NET來解決是一個非常好的方案。目前大部分AI解決方案都是基于WEB服務的,這種架構在工業應用領域就不太合适,如果能采用C#來消費學習好的模型将是一個非常好的方案。近期我采用該方案實作了一個電信号波形的類型識别,取得了不錯的效果。

工業領域的應用一般不會特别複雜,模型也相對簡單,最大的問題是樣本不足(主要是負例樣布不足),而GAN恰好可以用來生成負例樣布。

本文提供的源碼内有兩個GAN的例程,功能是實作繪制二次元妹子,其中GAN_Anime_Faces繪制灰階圖像,GAN_Anime_Faces_Color繪制彩色圖像,代碼都是參考了官方Samples源碼。

以下是運作結果:

TensorFlow.NET機器學習入門【9】後記

 總體效果不是特别理想,而且即使加大訓練時間,實作效果也沒有明顯提升。由于目前工作需要用到的機器學習相關技術都比較淺,是以就沒有再繼續深入研究下去了。 

 最後,給這個系列的文章做一個簡單的小結:

1、目前機器學習的主流語言仍是Python,有志在這個領域發展的同學肯定還是要以Python為主,Tensorflow.NET适合非常熟悉C#同時想嘗鮮機器學習的同學;

2、關于Tensorflow和torch的選擇問題,目前似乎torch人氣更高,我是因為Torch.NET不好用才選擇Tensorflow.NET;

3、在工業應用領域,C#有很大的應用空間,簡單的情況采用Tensorflow.NET是一個很好的方案,複雜的系統可以采用Python訓練、C#消費的方案。

這個系列就到這裡了,後面要專心學習WPF去了。github上Tensorflow.NET項目一直都在更新維護,有希望深入的朋友可以繼續持續關注。

【相關資源】

源碼:Git: https://gitee.com/seabluescn/tf_not.git

目錄:檢視TensorFlow.NET機器學習入門系列目錄

【參考資料】

TensorFlow.NET (scisharp.github.io)

風格遷移三部曲 | 楊培文 (ypw.io)

簽名區:

如果您覺得這篇部落格對您有幫助或啟發,請點選右側【推薦】支援,謝謝!

繼續閱讀