昨天没按时更新,所以按照之前说好的惩罚自己这一周都不吃哈根达斯了。
一、杂记
刚刚看到票圈里学长发了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软件进行改名。
重命名时,先序列化,再添加后缀。
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
大概理解思路了,明天自己去写代码。
好困哇。
今天主要是下午睡了一下,然后晚上吃饭吃的太晚了。所以学习时间不足。
网友评论