美文网首页
2019-02-04

2019-02-04

作者: 幽并游侠儿_1425 | 来源:发表于2019-02-05 12:34 被阅读9次

    以后再也不要这么晚睡觉了。

    新的一周了,我希望这周我可以完成GAN和cycleGAN生成新的图。

    下一周尝试对比其他方法。

    一、继续研究GAN和CycleGAN

    1、回去看GAN的论文,理解清楚loss function的含义。

    理解清楚了 (*/ω\*)

    2、做一个DCGAN基于轮子的小练习。

    参考2019-02-02的日记

    https://zhuanlan.zhihu.com/p/24767059 想跑一下这篇文章的结果

    我之前跟这篇文章用的是同一个轮子,但是为什么结果不好?

    对比发现,一个是训练数据集少,另一个是epoch不够多。

    运行前记得激活tensorflow环境:source activate tensorflow

    这次我的size设置是256*256,epoch设置为300,这次命令行里显示load sucess,应该能成功。

    效果不大好哎。

    在sample里,所有的test_arrange图片都等于第7张original图片的结果。

    3、看CycleGAN学长的论文,弄清楚两个input之间的关系。

    首先CycleGAN的结构是类似这样的:

    思路解释:两个domain分别放 original image 和groundtruth。其实我觉得需要一一对应的哎。不过先不管这个了吧。

    然后real original image生成fake groundtruth; 同时 real groundtruth 生成 fake original image。

    我把这个图加到PPT上了,然后覆盖了原来的链接,这样老师下载的时候显示的就是新的PPT了。

    所以以后发邮件给老师都用链接的方式而不是附件的方式(这样可以随时更新 (*/ω\*))

    实测这样不行,因为老师电脑里不会更新!!!!因为这个被老师骂了。

    二、跑CycelGAN

    0、https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

    介绍性的网站:https://zhuanlan.zhihu.com/p/27145954

    用这个代码是不需要安装其他东西的。

    1、图片会不会太大了

    如果图片太大了该怎么处理?我可以把图片切成小的slices放进去,这个叫batch size.

    然后用laplacian blending来融合这些slides.。

    2、我先试试不切片,就正常跑吧。因为学长的代码也是正常跑的,我看他的图也蛮大的。

    然后记得多放一点图,比如放200张图吧。

    我总觉得我应该用pixel to pixel的代码哎,因为我的数据是paired的。

    3、思路:我先尝试用pixel to pixel训练一遍看看结果

    再尝试用 cyclegan跑一遍看看结果。

    再尝试跑切片的代码,两种方法各跑一次。

    4、开始研究代码:

    trainning tips:

    https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/tips.md

    frequently asked questions

    先跑一遍程序自带的代码。

    (1)这句命令是什么含义呀?

    Download a CycleGAN dataset (e.g. maps):

    bash ./datasets/download_cyclegan_dataset.sh maps

    bash是一个命令行,.sh是一种创建并保存在bash里的语言。

    下载完之后,datasets的文件夹里多了一个叫做:map的.zip文件。

    会自动解压的。

    解压好的文件格式如下:

    我想下载下来看一下内容,比如val和valA valB的关系。

    关系如下:

    val valA valB

    就是把他们拼在一起啦。

    注意这里还有testA和testB。

    他们的意思应该是:输入testA,能转化成testB。以及输入testB能转化成testA的意思吧。。。

    但是这样怎么新生成呢?(这个问题待理解)

    我觉得可能一个是test的输入,另一个是groundtruth吧

    注意看学长的论文,在inference里面的句子:

    基于based on labeled image 生成合成的image,那么这个合成的image和之前的labeled image是一对。

    其实学长的论文那一块我没太看懂。

    现在好像看懂了。结合block disgram去看,就容易理解了。

    下面我想研究一下那个“ Synthetic Binary Volume Generation”到底是啥 by reading 参考文献20.。

    (2)第二句话

    python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

    打开train.py文件去看这句话的参数含义。

    参考网站:https://blog.csdn.net/weixin_35653315/article/details/72886718  命令行运行python时传入参数的三种方式。

    parser.add_argument('--batch-size', type=int, default=32)

    对应的传入参数代码为:python script.py --batch-size=10

    注意:To see more intermediate results, check out ./checkpoints/maps_cyclegan/web/index.html

    去checkpoint里去看中间结果。

    (3)第三句话

    python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

    结果保存的地方:

    ./results/maps_cyclegan/latest_test/index.html

    5、跑CycleGAN遇到的问题以及解决办法

    地图是600*600像素的,所以我觉得我1024*1024说不定也可以跑出来。

    那我跑跑看?我想看最后的结果。好的那就跑吧。

    跑的时候遇到了两个没有的module,那就直接安装就行了。比如:visdom模块和dominate模块

    遇到的问题是:visdom模块报错:could not connect  to Visdom server。但是后来又好了。那么就让它继续跑好啦。

    6、研究 Synthetic Binary Volume Generation

    细胞核看成是椭圆形的。

    然后去看参考文献【20】

    好像马上就要开会了,时间过得真快。

    我的思路是先用已有的图片放进CycelGAN进行训练,然后训练好generator和discriminator。

    然后我用GAN产生grountruth,然后放进CycelGAN进行test产生images.

    这个思路真的还不错哎!

    但是我还是先研究清楚他是怎么做的吧!研究Synthetic Binary Volume Generation。

    也可以用他的方法:

    我的思路是先用已有的图片放进CycelGAN进行训练,然后训练好generator和discriminator。

    然后我用 Synthetic Binary Volume Generation 产生grountruth,然后放进CycelGAN进行test产生images.

    这个思路也还不错哎!

    三、复习580

    最喜欢看书了。(*/ω\*)

    看完lecture2和3

    找了好久的蓝笔啊

    然后把note放到手机或者平板上看,放到电脑上面看太费脑子了

    四、我希望今天能用GAN生成更多的images

    首先我用基础的GAN生成,看一下结果。

    然后我用https://medium.com/@jonathan_hui/gan-super-resolution-gan-srgan-b471da7270ec里提到的superresolutionGAN去尝试结果。

    generate with the video data

    相关文章

      网友评论

          本文标题:2019-02-04

          本文链接:https://www.haomeiwen.com/subject/tqbmsqtx.html