【问题】程序中已经设定了在cuda:6上面进行训练,但是一直显示For debugging consider passing CUDA_LAUNCH_BLOCKING=1. 即:我已经设置了在cuda:6上面运行,但是一直显示的是程序运行在cuda:1上面。参数将模型参数映射到一个现有的设备上。
【报错记录】AttributeError: module ‘numpy‘ has no attribute ‘bool‘. 【代码】【报错记录】AttributeError: module ‘numpy‘ has no attribute ‘bool‘.
Softmax函数和Sigmoid函数的思考 由于softmax是对两个类别(正反两类,通常定义为0/1的label)建模,所以对于NLP模型而言(比如泛BERT模型),Bert输出层需要通过一个nn.Linear()全连接层压缩至2维,然后接softmax(pytorch的做法,就是直接接上。sigmoid得到的结果是“分到正确类别的概率和未分到正确类别的概率”,softmax得到的是“分到正确类别的概率和分到错误类别的概率”。前者0.2805指的是分类类别为0的概率,0.8748指的是分类类别为1的概率。同样的,得到两个类别的概率之和也是1.
交叉熵损失函数介绍 交叉熵是信息论中的一个重要概念,它的大小表示两个概率分布之间的差异,可以通过最小化交叉熵来得到目标概率分布的近似分布。为了理解交叉熵,首先要了解下面这几个概念。信息论的基本想法是,一个不太可能的事件发生了的话,要比一个非常可能发生的事件提供更多的信息。根据以上三点,定义在本文中,用log来表示自然对数,其底数为e。设 X 是一个有限个值的离散随机变量,其概率分布为:对于该离散随机变量,用自信息的期望来量化整个概率分布中的不确定性总量:这里的H(X)定义为随机变量 X 的。
Linux下CMake安装遇到的问题 在使用pip install cmake安装完cmake以后,想要检查一下cmake的版本,于是输入。这个问题是由于CMake无法找到正确的安装路径。安装完成以后即可解决问题。
Vscode远程连接遇到的一些问题 由于之前报错图片没有保存,所以只有文字描述一下:1、无法与192.168.8.210建立连接:Vscode服务器启动失败2、无法与192.168.8.210建立连接:无法安装Vscode服务器。
【Error】OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. 注意:这种方法有效但是每开启一次终端就得设置一次。注意:这种方法不一定对所有情况都有效。方案二:在终端中设置。
Opencv 读取灰度图像会识别为3通道问题 opencv在默认情况下会读取3个通道的图像,如果是灰度图/红外图片则会将其图层复制三次(BGR缺省,B==G==R),因此读出来的图片是三通道。如果我们想一开始就按照单通道读取灰度图片/红外图片的话,可以在imread()函数中加入相关参数(读取图片时似乎都是三通道图片,只有在灰度处理后才回显示单通道。我们都知道灰度图或者红外图都是单通道图片,而彩色图片是三通道图片。但是当我们用img.读取灰度图/红外图片的时候返回的却是三通道结果。这样就会直接按照单通道的方式读取。
TypeError: Descriptors cannot not be created directly. 【代码】TypeError: Descriptors cannot not be created directly.
关于安装TensorFlow1.x版本的一些注意事项 虽然目前主流深度学习框架是Pytorch和TensorFlow2.x版本,但是也不乏有一些大佬使用TensorFlow1.x版本进行开发,这个时候如果不想使用Pytorch和TensorFlow2.x重写一下源代码的话,唯一的办法就是创建一下TensorFlow1.x的虚拟环境。
pip install xx安装的时候加速“算法” 我们在使用pip install 安装某些包的时候会发现非常慢,这是因为一些包需要从国外服务器下载,导致速度非常慢,这个时候我们可以选择一些国内的镜像换源,比如阿里源、清华源等等,可以加速下载。这里选择的是清华源,当然也可以选择其他源下载,会发现速度大大提升了。
【报错】RuntimeError: Unable to find a valid cuDNN algorithm to run convolution 我的程序需要6G的GPU空间,一开始我使用的是显卡0,显卡0还剩余4G左右的空间,显然不够我的程序需要,所以就出现了上面的错误,在我换到显卡3(显卡3还剩余10G左右)以后,程序就可以正常执行了。这个错误的原因是咱们的。
N折交叉验证的作用 如果当前有多个候选模型,想从中选出一个最合适的模型,就可以用交叉验证的方法进行模型选择,尤其是当数据集很小时。如果当前只有一个模型,想获得对这个模型的performance最客观的评估,就可以用交叉验证的方法进行模型评估,尤其是当数据集很小时。
【PyTorch】register_hook的使用 上面的代码中,当执行到z.backward()这一句代码的时候,就是计算变量z的偏导数,因为v=torch.randn(1,3)也就是1行3列,所以可以假设v=(v1, v2, v3),那么z=v1+v2+v3。上面的代码即可将梯度保存到变量grad_store中,方便后面计算Grad-CAM等等。所以可以得出上面的偏微分结果为 :tensor([[1., 1., 1.]])。