
那些奇奇怪怪的问题
文章平均质量分 72
分类内容为解决不常见的bug、兼容性、冲突等问题
andyL_05
EE 计算机视觉 机器学习 深度学习 算法
展开
-
训练过程中Loss突然变为NaN的可能原因与解决
训练过程中Loss突然变为NaN的可能原因与解决深度学习训练过程中,我们依赖模型当前参数训练得到的loss,根据所选择的优化策略,如Adam、SGD等得到参数步进调整值,对参数进行不断的调整,直到模型达到我们的预期。但在实际训练过程中,有时候会发现loss变为NaN或Inf的情况,导致训练无法正常进行。出现这种情况的原因主要有以下几点:1. 梯度爆炸2. 出现除零、对数函数自变量为负值等数学问题3. 出现坏样本1. 梯度爆炸训练过程中由于学习率等超参数设置的不合理,导致优化过程中没有减小los原创 2021-07-27 13:03:19 · 35376 阅读 · 15 评论 -
ubuntu编译caffe可能遇到的坑
ubuntu编译caffe可能遇到的坑caffe作为深度学习最早的框架之一,对于现在DL的发展起到了很大的贡献。然而相比于现在更加主流的tensorflow、pytorch等,其编译过程常常让人很痛苦。这篇博客记录一下caffe编译配置过程中常见的问题,能够解决的问题会给出解决方案。首先caffe不一定非要手动编译,以ubuntu为例,在20.04之前的版本,可以通过apt安装caffe-cuda和caffe-cpu(cpu版本)。然而Ubuntu20.04只有caffe-cpu,可能过段时间会加上吧原创 2020-11-25 22:16:27 · 571 阅读 · 1 评论 -
pytorch命令行打印模型结构的两种方法及对比
pytorch命令行打印模型结构的两种方法及对比当我们使用pytorch进行模型训练或测试时,有时候希望能知道模型每一层分别是什么,具有怎样的参数。此时我们可以将模型打印出来,输出每一层的名字、类型、参数等。常用的命令行打印模型结构的方法有两种:一是直接print二是使用torchsummary库的summary但是二者在输出上有着一些区别。首先说结论:1. print输出结果是每一层的名字、类别、以及构造时的参数,例如对于卷积层,还包括用户定义的stride、bias等;而torch summ原创 2020-10-24 22:42:26 · 43495 阅读 · 5 评论 -
解决PyTorch 出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1 问题
解决PyTorch 出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1 问题在使用pytorch框架训练中,进行loss.backward()一步时可能出现如下的问题:RuntimeError: Function AddBackward0 returned an invalid gradient at index 1 - expected type TensorOptions(dtype=float,原创 2020-08-12 11:14:11 · 15738 阅读 · 7 评论 -
ubuntu20.04 编译安装早期版本(如2.2.1)的OpenEXR
ubuntu20.04 编译安装早期版本(如2.2.1)的OpenEXR在一些slam问题相关的源码编译时,往往需要OpenEXR。有一些SOTA的slam相关工作是比较早期完成的,当时依赖的OpenEXR版本可能比较早。本文介绍如何在较新的系统下自行编译安装老版本OpenEXR。apt 安装存在的问题对于比较新的系统,apt很可能是找不到老版本库的。apt 安装openexr可以直接通过:sudo apt install libopenexr-dev得到。但是一般是比较新的版本,比如ubun原创 2020-07-02 19:29:28 · 1845 阅读 · 0 评论 -
one of the variables needed for gradient computation has been modified by an inplace operation
本文主要讨论pytorch在训练时出现错误:Runtime Error:one of the variables needed for gradient computation has been modified by an inplace operation 的不同情况。对需要求导的Tensor使用了 inplace 操作inplace操作类似于a+=5即使用变量参与了运算,又修改了变量的值。这类问题在这里降解的比较清楚。比如一个张量a用于计算张量b,随后又对a重新赋值,但是使用b求解loss并反原创 2020-06-23 16:24:48 · 3128 阅读 · 4 评论 -
PyTorch 加载数据集PIL.Image和numpy相互转化出现 TypeError: Cannot handle this data type的问题
PyTorch 加载数据集PIL.Image和numpy相互转化出现 TypeError: Cannot handle this data type的问题pytorch 加载图片数据集通常会使用 PIL读入图片,进行一些预处理转化为Tensor并有dataloader加载进行训练或测试。有时候我们对图像的预处理要求较高,PIL库无法快捷的完成,常常会用numpy数据辅助完成。但是使用不当也会造成一些问题,例如:Traceback (most recent call last): File "trai原创 2020-06-22 17:40:05 · 8809 阅读 · 5 评论 -
PyTorch+TensorboardX 出现“Found more than one "run metadata" ”以及可视化多个模型graph的问题
Tensorboard是一个非常好用的深度学习可视化工具,能够将训练过程loss变化、模型结构等可视化显示,方便我们了解细节,在使用TensorFlow框架时经常用到。TensorboardX则是适用于PyTorch框架的可视化工具,使用方法基本类似。本文主要解决使用PyTorch和TensorboardX出现的一些问题。1. 出现“Found more than one “run metad...原创 2020-04-16 11:47:31 · 1244 阅读 · 0 评论 -
VSCode写python代码时遇到的 Module 'XXX' has no 'XXX' memberpylint(no-member)问题
VSCode作为目前可以说是最流行的代码编辑器,通过添加扩展,可以对各种语言的代码进行友好的编辑,包括错误提示、代码补全等等。但是在使用VSCode写Python代码时,常常遇到 Module ‘XXX’ has no ‘XXX’ memberpylint(no-member)的问题。我个人是在使用cv2和pytorch遇到较多,比如:Module ‘cv2’ has no ‘getGauss...原创 2020-03-17 10:54:45 · 4001 阅读 · 2 评论 -
关于import matplotlib.pyplot as plt的多种报错解决
本文针对由于版本、依赖库等造成的若干import matplotlib.pyplot as plt语句报错问题。操作系统:win10Python版本:3.7.0matplotlib.pyplot 是常见的可视化工具之一,风格与MATLAB类似,可以方便的绘制图像、展示结果。这一工具的使用需要在代码中执行:import matplotlib.pyplot as plt实际由于版本、依赖库等...原创 2018-12-13 20:22:46 · 74482 阅读 · 14 评论 -
PyTorch 与 TensorboardX 的版本兼容性问题
1· PyTorch 与 TensorboardX 的版本兼容性问题在tensorflow的使用中,大家往往都会用tensorboard进行数据的可视化,例如模型结构、损失函数的变化等,实际上PyTorch也可以使用TensorboardX 进行可视化。PyTorch有自己的visdom模块实现可视化,但是从接口的方便、简介的角度来说,TensorboardX用起来更加容易。本文简要介绍一下自...原创 2020-01-10 21:49:42 · 19803 阅读 · 2 评论