错误一览
1.PatchSampleF object has no attribute ‘module’
PatchSampleF是我添加的netF里的一项,改模型后我运行了5个epoch,到保存模型的时候了,然后保存网络的函数报错了,在:
红框位置是源代码,经过上网查阅后把红框里的改为蓝框中的,现在代码在重新跑(因为没保存模型所以不能续跑),等跑到第五个epoch时我再进行查看,届时再对本文进行修改。
2.RuntimeError: shape ‘[20, -1, 256]’ is invalid for input of size 65536
贴源代码:
对于关键的地方进行了标注,这里.view()里有三个参数,他们的值分别是20,-1,256。其中20为原batchsize。经过查阅资料,该问题的原因主要是红框里的,我们需要将除-1以外的参数进行相乘(-1是程序推断出来的值),在我这里,如红框所示,我把input size=65536 除以20,再除以256,得到不是一个整数,这里我就知道我的batchsize出问题了,把batchsize改为16或者4都行。我采用了4,因为是16时后边又出错了,如下。
3.ValueError: could not broadcast input array from shape (3,128,128) into shape (3,0,128)
这里提示错误的地方是源码里我没动过的,当然我也对这里进行了一堆分析也没分析出来,因为人家源码能跑通的这里肯定没问题啊,所以我就把batchsize从16改成了4,结果没报错。当然导致这个错误的原因其实很多,输入图像和网络需要的数据不一致啊之类的,因为我是直接用的人家论文作者的数据集和代码,只是加了一点自己的东西,所以搜索到的对我都没啥用,改了batchsize就完事,等我搞懂为啥以后再来编辑本文。