pytorch遇到一个问题

当运行Python脚本时遇到NoCUDAGPUsareavailable的错误,即使torch.cuda.is_available()返回True,问题可能出在代码中设置了CUDA_VISIBLE_DEVICES环境变量。如果设置为非零值如2,而系统中没有对应GPU,更改该值为0可解决此问题。

进入python时,

import torch
print(torch.cuda.device_count())
torch.cuda.is_available()

结果是:

1
True

而且根据网上方法检验了cuda和cudnn的安装都没有问题。但是但我运行python脚本或者在jupyter notebook中都会报错:

RuntimeError:No CUDA GPUs are available

注意此时:可能不是环境和配置的问题,而是代码里面出了问题,如果你的代码里面有:

os.environ["CUDA_VISIBLE_DEVICES"]="2"

并且在torch.cuda.is_available()的前面,那就是这里除了问题!
把“2”或者“1”改成“0”,就好了!

### 在 Jupyter 中配置 PyTorch 环境 在 Jupyter Notebook 中使用 PyTorch 需要确保 Jupyter 与 PyTorch 所使用的 Python 内核一致。以下是详细的步骤,用于在 Jupyter 中正确配置 PyTorch 环境: #### 创建并激活 PyTorch 虚拟环境 首先,确保你已经安装了 Anaconda,并通过 Anaconda Prompt 创建一个专门用于 PyTorch 的虚拟环境。例如,创建一个名为 `pytorch` 的环境并激活它: ```bash conda create -n pytorch python=3.8 conda activate pytorch ``` 接着,按照你的系统需求从 [PyTorch 官方网站](https://pytorch.org/get-started/locally/) 获取安装命令,并粘贴到 Anaconda Prompt 中以安装 PyTorch 包。 验证是否成功安装可以通过以下方式: ```python import torch print(torch.cuda.is_available()) # 如果返回 True,则表示 GPU 支持已启用 ``` #### 配置 Jupyter 使用 PyTorch 环境 为了使 Jupyter Notebook 能够识别并使用新创建的 PyTorch 环境,需要执行以下几个步骤: 1. **安装 nb_conda**:此包允许 Conda 管理 Jupyter 内核。在 base 环境下运行以下命令来安装 `nb_conda`: ```bash conda install nb_conda ``` 2. **安装 ipykernel**:接下来,在你的 PyTorch 环境中安装 `ipykernel`,这是 Jupyter Notebook 的核心组件之一,负责提供语言支持。 ```bash conda install ipykernel ``` 3. **注册 PyTorch 环境到 Jupyter**:最后一步是将你的 PyTorch 环境注册为 Jupyter 的一个内核选项。这可以通过运行下面的命令完成: ```bash python -m ipykernel install --user --name pytorch --display-name "Python (PyTorch)" ``` 4. **解决可能遇到的问题**:如果在尝试连接 Jupyter Notebook 和 PyTorch 环境时遇到了“Bad file descriptor”这样的错误信息,通常是因为 `pyzmq` 库存在兼容性问题。此时可以尝试卸载当前版本的 `pyzmq` 并重新安装特定版本(如 19.0.2)以解决问题: ```bash pip uninstall pyzmq pip install pyzmq==19.0.2 ``` 5. **启动 Jupyter Notebook**:现在你可以通过 CMD 或者 Anaconda Prompt 启动 Jupyter Notebook,并且应该能够在新建的笔记本中看到刚刚添加的 PyTorch 内核。 ```bash jupyter notebook ``` 一旦一切设置完毕,在 Jupyter Notebook 中创建一个新的文件时选择相应的 PyTorch 内核即可开始编写和运行基于 PyTorch 的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值