上周导师要求我用gan补充数据,于是我开始了艰难的入门之旅。
首先就是安装tensorflow环境,这里非常需要注意的是版本问题,tensorflow2.0只支持python3.6以上的版本。最最重要的是tensorflow2.0不可以兼容之前版本,2.0以后的版本又称动态版本,在模型建立后可以直接运行,这与之前版本有很大不同。有些同学认为肯定安装新版本,我当初也是这么想的,导致吃了很多亏,因为现在网络上很多的代码都是用之前版本编写的,这会造成巨大困扰,当然随着你对tensorflow慢慢熟练之后,也就不是事了。或者你可以在import时候改变tensorflow的impor方式,也可以继续使用之前代码。如下:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
然后安装tensorflowflow版本确定后就是安装步骤,建议跟着b站视频走,网络博客中很多方法使用不了。
gan知识的前提储备,我觉得只要自己尝试过神经网络代码构建,并且知道卷积神经网络的原理,基本可以无压力理解gan网络。
gan网络框架构建没有啥难的,也好理解,最最最重要的是gan训练了。
单纯的gan用来训练图片还可以有些成果,但是要是去生成补充纯数据,真的会哭,这让我开始总觉得自己代码出错了,浪费了很多时间在没结果的反思上面,所以刚开始不要觉得自己哪里出错了,慢慢往下学,会有好的结果。
然后就是我踩的一个大坑了,就是生成器与判别器的训练,**一定,要,分开!!!**训练生成器的时候要关联判别器,并且判别器的trainable设为False,训练判别器的时候就只训练判别器。而且需要注意的是,判别器的训练次数要比生成器多。
单纯的gan效果会有很多局限,也可以使用wgan,或者数据增强gan。以为目前正在学wgan,也给不了太多建议,况且当大家学到wgan时,已经过了入门阶段,可以自主学习了。
总结一句话就是,做深度学习的,写代码并不难,难的是理解各个模型背后的原理,因为只有理解了这些原理,你才能明白这些idea是怎么来的,你才能有自己的创新。这次因为是急着完成导师的任务,我也是对这些原理囫囵而过,后面有时间了,一定撸了它!
初学者学习gan建议
最新推荐文章于 2022-09-28 12:28:19 发布