卑微菜鸡在这里恳求各位图像视觉的大佬指点一下我,如何解决下面的 bug(有偿也可!欢迎留下联系方式)
问题描述:毕设要做的是用 fcn 做显著性目标识别,大概过程就是用 fcn 做多分类的语义分割,然而结果输出却成了雪花状的图,虽然能看出大概的轮廓。训练过程中 loss 一直在抖动,范围在 0.4 到几之间,不收敛。
自我感觉是在数据处理方面出了问题。
实验室的学姐也没有解决的思路,网上也查不到。迫不得已来 v2 恳求各位大佬。(有偿也可啊!)
我的微信:sy971216200
1
apostle OP 原图 rgb https://imgchr.com/i/YnBEM8
|
2
apostle OP |
3
apostle OP ground true https://imgchr.com/i/YnBHeg
|
4
apostle OP |
5
bug403 2020-05-08 10:58:17 +08:00 4
放弃吧,你不写今日头条号太浪费了,写头条号震惊体新闻,你早迎娶白富美了。
|
6
epleone 2020-05-08 10:59:23 +08:00
"自我感觉是在数据处理方面出了问题"
你把数据处理结果可视化出来不就好了 |
7
andantin0 2020-05-08 11:06:30 +08:00 1
同学,你训练的时候用的数据集样本量有多少?我看了一下那个 repo,网络挺深的,应该需要很大的数据量才能 train 吧,我其实也不太确定,但是是根据我个人经历感觉的,我之前 train 过一个倒置的 VGG16,就是做显著性检测的,然后样本只有 1k 左右,结果就和你那个图像差不多,都是雪花,我参考的原作他的样本数远远大于我的,我使用他的预训练模型就能顺利地输出正确结果,所以可以看看是不是样本量的问题
|
11
apostle OP @andantin0 大佬!我的确为了图方便只用 400 多张图迭代 10 次,然而我一直在怀疑我的数据处理或者模型的问题,没有想到这个!非常感谢!我这就去试一下
|
12
w1573007 2020-05-08 13:03:31 +08:00 via Android
不收敛大概率是模型没有学习到东西,猜测是数据的问题。同时,也可能是数据量小,但模型比较庞大,这也会导致这个问题。一定要检查模型输入的张量是不是和开源程序一样
|
13
sadfQED2 2020-05-08 13:44:43 +08:00 via Android
400 张图迭代 10 次也太少了吧?
|
14
GDouble 2020-05-08 14:05:53 +08:00 via iPhone
本科还是研究生啊?
|
15
ccromantic1412 2020-05-08 14:51:53 +08:00
不太懂你 load 完数据以后 tensor2image 是啥操作……
在 train loader 里面没有 transform,结果 test loader 里面又用了 transform,训练和测试阶段数据处理没统一 |
16
ourgoder 2020-05-08 14:52:32 +08:00
哈哈哈,楼主头条看多了吧
|
17
wangzhangup 2020-05-08 18:31:00 +08:00
你这也太简单了吧。
|
18
8G 2020-05-10 03:15:22 +08:00 via iPhone
同,我刚刚还在查重,哭了
|
19
8G 2020-05-10 03:18:36 +08:00 via iPhone
https://github.com/nephashi/GaitRecognitionCNN/blob/master/layers/Conv2D121.py 想知道这个和普通的 Conv2D 有啥区别 我对比了一下,感觉差别不大,多了一些 def 不是很懂,有大佬帮忙看看吗😂😂😂
|
20
YOUMA 2020-05-20 16:53:28 +08:00
我也想知道这个和普通的 Conv2D 有啥区别😀
|
21
8G 2020-05-20 21:39:40 +08:00 via iPhone
@YOUMA 我知道了,你应该 @我的。我是刚好回来看这个帖子。
它是做了简化的操作,只接受 2D 的输入。会轻便很多。 其中,自定义的一对一连接的自定义层,是基于 keras 源代码中卷积的部分编写的,采用的设计理念是参照了“Alotaibi2017A”论文中的描述,实现了一对一连接的自定义层。 在自定义层的设计部分,将原来 keras 自带的卷积代码中删除了冗余的部分,只支持 2D 数据,然后对 input_dim (数据维度)输入进行切片并进行卷积。 一对一连接,即每个 feature map 与上一层中的 feature map 之间的连接方式都是一对一,这种做法的优势在于通过减少参数的数量,达到大大的降低了计算成本,加快训练的速度的目的。同时,相比于数百万个参数的其他深层模型,我们所拥有的数据集体量相对较小,无法训练所有参数,否则可能会出现 over-fitting (即过度装配)的问题。 在后续的实验中,我们可以清晰地看出模型能够快速且有效的收敛,恰恰是因为由于使用了一对一连接的方式,需要训练的参数数量较小(当然,这个一对一连接不包括全连接层)。 |