2019-02-06

昨天没按时更新,所以按照之前说好的惩罚自己这一周都不吃哈根达斯了。

一、杂记

刚刚看到票圈里学长发了ly最后去了Harvard的录取通知书,其实有一点怀念当年的自己。ly也是暑假去了那里,最后留下来了。虽然妈妈在大四录取结果出来之后,经常说我,不该去这里,你可以去更好的学校。虽然我也这么觉得,但是我一直安慰自己说,我喜欢在中等偏上的学校做一个中等偏上的人,我不喜欢自己肩负着那么大的压力。大学压力不大,在这边压力也不大,这样其实蛮好。但是看到ly的录取通知书的时候,回忆起当年还是那个在校车的角落因为同时做三个项目做不好的,自己把自己压迫得很紧的小孩子。其实那个想去最好的学校的心还是在的,只不过把它埋到了很深的地方。不甘还是有的,不然为什么我妈每次提起这件事情的时候,我都会觉得很烦,然后让她不要说。

其实昨天不该睡得很晚,主要是因为和scs的事情,自己确实在任性,在浪费时间。其实独处的时光更能自己训练自己,训练自己的自制力,以及自己约束自己去养成好的生活习惯,比如早睡早起,每天整理房间。

最近肩膀又疼得厉害,明明电脑已经很轻了,但是背到肩膀上却很重。下次试试直接用实验室里的台式机,不把小笔记本电脑带过去了。

下午一边整理房间,一边复习课程内容吧。反正确实不多,能复习得过来的。

之前看过一段话“把事情写下来,比把事情没有写下来,完成的可能性要提高百分之三十”,虽然不知道这个数据是怎么来的,

二、复习两门课的内容

下午

1、复习完590的课程笔记。并写完作业。

2、整理房间

结果下午整理完房间就困了。

三、杂记

晚上跟学长出去吃饭,讨论了很多内容。

对比下来其实我特别特别幸福了。

四、继续CycleGAN

今晚需要完成cyclegan的train并且得到初步结果。

1、2-4的思路接着用进来:

我的思路是先用已有的图片放进CycelGAN进行训练,然后训练好generator和discriminator。然后我用GAN产生grountruth,然后放进CycelGAN进行test产生images.

明天需要做的事情:要到bluepill的权限。

今天先去训练generrator和discriminator,这个应该不难的。

然后我拿其他的groundtruth进来训练。

2、我想打开map数据集合code去看他是怎么调用数据集的code的。并且我想把epoch改小一点。

比如trainA trainB train都要用到,还是用不到train.

(我觉得不需要用到train,因为文件建立的时间都不一样。

我觉得我下面需要用自己的文件做一个map文件夹,存自己的训练数据。)

(1)应该去看model文件夹下的cycle_GAN model.py这个文件

还有主文件夹下的train.py这个文件

在train.py这个文件里,有“from options.train_options import TrainOptions”这句话。

我需要转过去看“options.train_options”这个文件。

这句话的意思是 在主文件夹下面有一个叫options的子文件夹,在这个子文件夹下面,有一个叫train_options.py的文件,在这个文件夹,有一个TrainOptions的class

很多参数都在这个文件里。

(2)dataset = create_dataset(opt)

 create_dataset是在data文件夹里的__init__.py里

(3)model.set_input(data)

model.optimize_parameters()

这两句话我觉得很重要哎

3、直接换dataset训练咯

参考这篇文章:

https://blog.csdn.net/Gavinmiaoc/article/details/80585531

这篇文章里面说了。train,validation还有test这三个文件夹是程序自己生成的。

然后这篇文章里没有说需要用到


五、如何用自己的数据集训练CycleGAN

1、建立数据集

我放500张图进去吧,1000张有点多。

然后我还是放成对的吧。

A放groundtruth,B放original image.

train里还是放成对的。然后test里务必放不成对的。

图片命名也要注意:1_A,1_B这么命名。

我直接拿之前训练Unet的数据集来做了。871张train的图和groundtruth,

找好图片之后,再统一用renamer软件进行改名。

重命名时,先序列化,再添加后缀。

2019-02-06_第1张图片

2、把数据集放到指定位置:

放到dataset目录下。

3、开始train

python3 train.py --dataroot ./datasets/cell --name cell_cyclegan --model cycle_gan --pool_size 50 --no_dropout --gpu_ids 0,1

和之前的命令行有什么区别呢?

对比之前的命令:python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

我把gpu_id这个去掉吧。。。。。

python3 train.py --dataroot ./datasets/cell --name cell_cyclegan --model cycle_gan --pool_size 50 --no_dropout

遇到的问题1:在读数据的时候报错

解决办法1:我试试看加一个validation的文件夹,看看能不能解决问题。

不能解决。

解决办法2:是不是文件格式原因。

我放一个.jpg的文件进去试试。

果然是文件格式原因,原来只接受.jpg格式的文件!!!!

(暂时不要改代码,我去顺应代码改我的文件格式去)

如何把tif文件转化成jpg文件?

参考链接:https://www.jianshu.com/p/9420c8f6ba02

代码如下:

import os

from libtiff import TIFF

from scipy import misc

original_path = './testA/'

save_path = './testA1/'

files = os.listdir(original_path)

for file in files:

    tif = TIFF.open(original_path+file,mode = 'r')

    for im in list(tif.iter_images()):

        new_path = seved_path + file[:-3]+'jpg'

        misc.imsave(new_path,im)

        print(new_path,'successfully saved')

遇到问题1:libtiff这个模块好像一下子安装不上

解决办法::

参考网站:https://www.jianshu.com/p/c902c66c02ac

我是从这个网站下载的:https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载的是cp36 win64的版本的libtiff

然后把这个轮子放在anaconda prompt的当前文件夹下。然后输入如下命令:

pip  install libtiff-0.4.2-cp36-cp36m-win_amd64.whl   就安装成功了。

遇到问题2:好像(tif.iter_images())这句话总是报错。

解决办法:

直接改成数字咯

遇到问题3:save的时候报错:

'arr' does not have a suitable array shape for any mode.

参考网站:https://blog.csdn.net/yyhhlancelot/article/details/81477830

还有这里http://www.dewen.net.cn/q/10191/python+%E4%B8%ADtif+%E5%9B%BE%E7%89%87%E8%BD%AC%E6%8D%A2%E6%88%90jpg

大概理解思路了,明天自己去写代码。

好困哇。

今天主要是下午睡了一下,然后晚上吃饭吃的太晚了。所以学习时间不足。

你可能感兴趣的:(2019-02-06)