前言
前情:上篇博客
在更新基于神经网络的图像风格迁移代码之后,出现了无法正常运行,程序结束with -1073740791的问题,以下为debug过程与最终结果。
尝试过程与结果
一、尝试功能
尝试使用其他软件功能,例如图像旋转,图像色值调节等,均可正常运行,说明问题出在风格迁移模块本身。
二、多次输出
尝试多次输出结果,发现在拿取风格参考图片,模型训练时出现问题,UI部分均可正常运作。
三、还原更改代码
将原本增添的功能一一注释,试图还原为曾经可以运行的代码。
步骤二中提到,是模型训练取用参考图片时出现的问题,所以去掉新增添的功能之后,-1073747091问题依然存在。
四、以备份代码做对照
万般无奈,找到了最开始可运行的代码,逐字对照,最终发现问题所在。
m_ui.py文件为大家均会更新的文件,在使用GitHub fetch之后,两行代码产生了微小差异,如下。
def open_file_and_change_name(self):
self.style_file_transfer=QFileDialog.getOpenFileName(self, '选择文件',self.root_path+"/part3/images","photo(*.jpg *.png)")
self.label_style_file.setText(self.style_file_transfer[0])
getOpenFileNames ——> getOpenFileName
self.style_file_transfer[0][0] ——> self.style_file_transfer[0]
更改之后,代码运行成功。
getOpenFileNames 和 self.style_file_transfer[0][0] 确实是作为一组使用的,但是因为和后面调用的代码不统一,所以报错。
总结
- 遇到报负数结束运行的报错不要慌,可能性虽然很多,但是很大几率是出在一个小小的差错。
- 可以尝试按照上面的 尝试功能 ——> 多次输出 ——> 还原代码 ——>代码对照的方式debug。
- 找到问题的根源,不做无用功。
- !平时要注意 !代码备份,可以有效帮助在走投无路的情况下留有退路。