小编bam*_*mbi的帖子

获取CUDA_HOME环境路径PYTORCH

我通过 anaconda 在我的系统上安装了 cuda,该系统有 2 个 GPU,它被我的 python 识别。

import torch
torch.cuda.is_available()
true
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过 C API 运行模型时,出现以下错误:

~/anaconda3/lib/python3.6/site-packages/torch/utils/cpp_extension.py in _join_cuda_home(*paths)
722     '''
723     if CUDA_HOME is None:
--> 724         raise EnvironmentError('CUDA_HOME environment variable is not set. '
725                                'Please set it to your CUDA install root.')
726     return os.path.join(CUDA_HOME, *paths)

OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.
Run Code Online (Sandbox Code Playgroud)

https://lfd.readthedocs.io/en/latest/install_gpu.html页面给出了如果通过他们的方法安装 cuda 则设置 CUDA_HOME 路径的说明。由于我已经通过 anaconda 安装了 cuda,所以我不知道要设置哪个路径。

我尝试了 find 方法,但它返回了太多 cuda 路径。有人可以帮我找到 CUDA …

python anaconda deep-learning pytorch

18
推荐指数
1
解决办法
7万
查看次数

Keras 对不同的错误分类应用不同的权重

我正在尝试用三个类来实现一个分类问题:'A'、'B' 和 'C',我想在我的模型损失函数中对不同类型的错误分类进行惩罚(有点像加权交叉熵)。类权重不适合,因为它适用于属于该类的所有数据。例如,与被错误分类为“A”相比,真实标签“B”被错误分类为“C”应该具有更高的损失。重量表如下:

   A  B  C  
A  1  1  1  
B  1  1  1.2 
C  1  1  1    
Run Code Online (Sandbox Code Playgroud)

在当前的 categorical_crossentropy 损失中,对于真正的“B”类,如果我将预测 softmax 设为

0.5 0.4 0.1  vs 0.1 0.4 0.5 
Run Code Online (Sandbox Code Playgroud)

categorical_crossentropy 将相同。'B' 是否被误分类为 A 或 C 并不重要。与第一个相比,我想增加第二个预测 softmax 的损失。

我试过https://github.com/keras-team/keras/issues/2115 但没有任何代码适用于 Keras v2。任何我可以直接将权重矩阵强制执行到 Keras 损失函数的帮助都将受到高度赞赏。

keras tensorflow cross-entropy loss-function

5
推荐指数
1
解决办法
3169
查看次数