Debug专栏
我是一个对称矩阵
这个作者很懒,什么都没留下…
展开
-
训练时,Loss或者精度不变的bug
目前遇到了造成该现象的两种原因:1、交叉熵和Softmax的错误使用该问题我已经总结在另一篇文章了:paddle:使用CrossEntropyLoss作为loss,训练时loss不下降?,注意paddle和pytorch的api很像,所以见一知二,自己推广。原因在于CrossEntropyLoss函数实际上内置了LogSoftmax 和 NLLLoss,也就是你一旦使用CrossEntropyLoss,在计算预测值和标签值时就会自动帮你将预测值给LogSoftmax 和 NLLLoss。但当我们再在原创 2022-04-24 20:36:13 · 3041 阅读 · 2 评论 -
Pycharm中run正常,debug错误“Process finished with exit code -1073741819 (0xC0000005)”
0、问题描述在使用pycharm运行代码时,如果使用run能够正常跑完,但是使用debug时,会报错:“Process finished with exit code -1073741819 (0xC0000005)”1、解决方案解决办法也很简单。打开pycharm的settings面板(File->Settings),将下图红色标注的选项取消即可。2、inferencePycharm Debug错误“Process finished with exit code -107374181原创 2022-04-10 09:06:18 · 3290 阅读 · 2 评论 -
pytorch在DataParallel训练保存的模型如何在CPU上运行?
0、问题描述当使用torch.nn.DataParallel()在多GPU上训练并保存的模型,直接在CPU上通过load_state_dict()加载模型时会报错,state_dict=torch.load("DataParallel_pretrained_path")model.load_state_dict(state_dict)如下图:也就是通过多GPU训练保存的模型,某些层名会多出"module."的前缀,导致层名不匹配1、解决办法也简单,只要在加载参数之前,将"module.xx原创 2022-04-09 23:25:05 · 1606 阅读 · 3 评论 -
【python中numpy数值溢出--numpy自动类型转换】
0、问题描述1、可视化原理2、解决办法0、问题描述在使用numpy将元素值范围为(0,2268)的矩阵(深度图)可视化时,发现其可视化结果不如人意,下图1是正常图(翻转了180°),下图2是不如人意的图(也翻转了180°),通过排查最终发现是数值溢出问题,造成某些值得丢失。1、可视化原理我们知道图像的像素值通常是0~255,所以要将元素值为0~2268范围的矩阵以图片方式展示,就要将0~2268范围按比例缩放到0~255max_value=255 # intdepth_min=depth.原创 2022-04-07 21:28:01 · 1004 阅读 · 0 评论 -
paddle:使用CrossEntropyLoss作为loss,训练时loss不下降?
0. 问题描述做多分类任务时,使用了paddle的CrossEntropyLoss损失函数,但是在训练时,计算出的loss一直不变,如下图:1. 解决实际上很有可能你在定义网络模型时的最后一层输出层,加上了nn.Softmax(),只要将这个层注释掉,loss就可以正常下降了2. 原因原因在于CrossEntropyLoss函数实际上内置了Softmax,也就是你一旦使用CrossEntropyLoss,在计算预测值和标签值时就会自动帮你将预测值给Softmax。但当我们再在模型里最后一层加上原创 2022-01-19 20:42:47 · 3522 阅读 · 0 评论 -
笔记本触摸板双指、多指操作失效问题的解决
0. 问题描述笔记本:惠普光影精灵2系统:win10触摸板+无线鼠标触摸板单指点击、滑动正常,左右按键正常,但是双指滑动、多指操作无反应(表现为单指滑动的效果)。1. 解决方法下载驱动。去笔记本官网下载触摸板驱动程序: Synaptics TouchPad Driver拔掉所有其他鼠标:比如我的无线鼠标接收器重启笔记本安装驱动程序:成功后会继续弹出另一个中文语言的安装程序(如果没有自动弹出下面这个安装程序,那可能要检查你的其他鼠标有没有拔出,重复上面的操作了;因原创 2021-09-19 10:58:48 · 36506 阅读 · 4 评论 -
“found unknown escape character ‘D‘”问题的分析与解决
0. 分析我出现这种问题是在Windows系统,这是由于windows路径使用"",造成的1. 解决将报错地方的路径"“修改为”\"即可原创 2021-09-06 07:53:21 · 2891 阅读 · 0 评论 -
“OSError: [WinError 126] 找不到指定的模块”的解决办法
1. 问题分析出现找不到指定模块的问题通常是程序要加载某个DLL文件,但是这个DLL文件不存在就报错了。从这一句可以看出,程序试图加载一个’geos_c.dll’,os.path.join(sys.prefix, ‘Library’, ‘bin’, ‘geos_c.dll’)组成了这个DLL文件的完整绝对路径,那么我们只需要找到这个绝对路径,并去网上下载这个DLL文件放入这个绝对路径即可。2. 找到绝对路径我们打印出这个路径:于是我们得到了这个完整的绝对路径3. 下载所需的DLL文件程序原创 2021-09-05 22:53:21 · 63439 阅读 · 25 评论
分享