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.

 下面是一个演示的效果:

 说实话,看到这种效果还是很令人震撼的。

正是看了这篇论文激发了我研究机器学习的兴趣,当时还买了Python、Pytorch、TensorFlow等方面的书恶补了一把,最后由于水平原因,没有成功!

不过,正所谓:有心栽花花不开,无心插柳柳成荫。我发现在工业自动化领域如果有涉及到机器学习的需求,采用TensorFlow.NET来解决是一个非常好的方案。目前大部分AI解决方案都是基于WEB服务的,这种架构在工业应用领域就不太合适,如果能采用C#来消费学习好的模型将是一个非常好的方案。近期我采用该方案实现了一个电信号波形的类型识别,取得了不错的效果。

工业领域的应用一般不会特别复杂,模型也相对简单,最大的问题是样本不足(主要是负例样布不足),而GAN恰好可以用来生成负例样布。

本文提供的源码内有两个GAN的例程,功能是实现绘制二次元妹子,其中GAN_Anime_Faces绘制灰度图像,GAN_Anime_Faces_Color绘制彩色图像,代码都是参考了官方Samples源码。

以下是运行结果:

 总体效果不是特别理想,而且即使加大训练时间,实现效果也没有明显提升。由于目前工作需要用到的机器学习相关技术都比较浅,所以就没有再继续深入研究下去了。 

 

 最后,给这个系列的文章做一个简单的小结:

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)

posted @ 2022-02-22 13:50  seabluescn  阅读(854)  评论(0编辑  收藏  举报