计划
1.复现Unet,并且实现把前面层的网络输出加到高层的代码
2.尝试用visdom观察结果
3.完成Unet的复现,但是,估计要改的话还是得弄懂upsample的尺寸变化,最后打算加一个fuse。
3.29
●代码里加了visdom,能够展现loss和error的变化了,但是,自变量没办法是eopch,每次都从0画一条线,不知道为什么。。看到别人是训练完了,再一次性画图,就可以,我是想边训练边画图的。。。。
我的结果可以看到还是收敛的了。。就是图有点丑。。
4.1
●pytorch一些用法
1.nn.ModuleList:
ModuleList can be indexed like a regular Python list, but modules it contains are properly registered, and will be visible by all Module methods.
Parameters:modules (iterable, optional) – an iterable of modules to add
2.add_module:
Adds a child module to the current module.
The module can be accessed as an attribute using the given name.
3.torch.nn.functional.pad(input, pad, mode='constant', value=0)
The number of dimensions to pad is [len(pad)/2] and the dimensions that get padded begins with the last dimension and moves forward. For example, to pad the last dimension of the input tensor, then pad has form(padLeft, padRight); to pad the last 2 dimensions of the input tensor, then use (padLeft, padRight, padTop, padBottom); to pad the last 3 dimensions, use (padLeft, padRight, padTop, padBottom, padFront, padBack).
●把Unet里一些层cat,测试结果可能提升了一点点,所以考虑别的方法,
一、添加辅助loss(未做完。此次测试没有辅助loss)
二、处理边界图,做一个二值的分类。
结果上测试时F1值提升了10个点左右。训练时验证的错误率却不是很低。。
==> 对测试结果,看了一两张图,发现有一些噪点,图片边界会有莫名的线出现。所以下次处理图不把边 界的像素标注了。然后结果让人满意的一点是,对比原图,和gt,gt标错的一小点地方网络处理正确了。
网友评论