〇、实验过程记录
- 2020年11月11日:改进第30版本,加入了纺锤结构,但是还没有使用残差来缓解训练难度,同时也没有使用注意力机制,更没有更换优化器,也没有换卷积的类型
一、第一次试验的测试位置
- 评价指标的文件路径:E:\2020-09-22更换数据集\测试集\Infra01
- 测试集数量/类别:5个
- 每个测试集的图片数目
- 训练集和验证集的位置:
- 训练集和验证集的位置:
- 原始数据集的位置:
- 数据集划分的比例和时间:
二、灰度化前后的测量指标是否会改变?
- 会改变,但是对于每一个指标,我们应该采用同样的策略,比如,在使用评估指标A时,我们在所有数据集上评价不同的算法的时候,都应该使用灰度化,或者不使用灰度化的策略,也就是保持对比的公平性。
- 同时,使用灰度化之后的图片进行测试的话,评估每个数据集的时间将大大降低,有利于做实验,节省时间。
三、测量结果归一化
- 有的评估指标的实验结果的数值过大,不便于我们进行算法之间的比较。
- 为了方便比较,我们应该对得出的实验数据进行类似于归一化的操作,比如,某个评价指标A的实验结果普遍是超过10位数的,如4489518967312,数字的位数过多,我们一下子难以做出辨别,而且数据位数过长,显得有些冗余,这时候我们应该对数据进行除以千万(10,000,000)或者除以一亿(100,000,000)的操作,如此我们在进行算法比较是就比较从容和方便。
- 目的就是让数据看起来更加简洁,易于比较,让我们能够一眼就能看出孰优孰劣。
- 另一方面,在实验数据的表格之中,使用过长的实验数据会使人失去阅读的兴趣,不利于展示算法的实验结果或者说效果。
四、无参考指标的选取
- 实验的评价指标选取4~5个即可,如此实验结果的表格的数据就很充分和丰富了。
- DCT
- DFT
- Brenner
- Energy
- Entropy
- Laplace
- Range
- Roberts
- Tenengrad
- Variance
- Vollaths
- SMD
- SMD2
- 另外,还有使用新的无参考评价指标:如Matlab自带的那几个,抓紧时间搞懂究竟是怎么实现的!!!
五、模型的训练和测试
- 注意保存结果以及相关的参数;
- 注意保存模型训练和测试的时间;
- 对于模型的测试,一定要及时地在模型训练完成之后进行测试,保持实验动作的连贯性。
- 尽量不要在没有完成上一版本模型的测试的情况下,就着急着开始新模型的训练。
六、论文的阅读
- 论文的创新点和对自己的实验有启迪的地方要马上记笔记,否则看完之后很容易遗忘。
- 明确看论文的原始目的:一是在自己的论文实验遇到瓶颈的时候需要去论文中寻找;二是没有idea的时候需要看别人的论文。
- 不是为了看论文而看论文,这样的做法不提倡。
- 另一方面,在阅读别人的论文时,要注意总结别人是怎么行文的,是如何遣词造句的,遇到精彩的表达要注意积累,这对于论文的撰写至关重要!
七、研究思路
- 一定要理清实验的思路,吧模型的结果构思好,绘制出来,对比着进行实现。
- 对于论文中获取的idea一定要自己亲自用于实验,如此才能验证idea是否可行或者某个模块的效果是否可行。
- 别人论文中的不一定适合自己的实验,也有可能是任务不合适
- 别人说的只能当做是参考,要秉持怀疑的态度,不是被动地全盘接受
八、交流讨论
- 遇到问题可以多和同学交流,不能一个人蒙着头盲目地搞,交流有利于开阔视野以及为问题的解决提供不同的解决方案、不同的视角等。
- 积极交流,秉持包容开放的态度,虚心向同学请教。
- 阅读论文,遇到不懂或者有疑问的地方,可以选择给原作者发邮件进行交流。
九、代码
- 要逐渐深入阅读代码,把各个文件以及函数之间的调用逻辑以及作用搞清楚。
- 在实践中逐步熟练使用python。
- 形成自己的代码风格,适合自己的才是最好的。