PyTorch环境配置常见报错的解决办法

目标

小白在最基础的环境配置里一般都会出现许多问题。

这里把一些常见的问题分享出来。希望可以节省大家一些时间。

最终目标是可以在cmd虚拟环境里进入jupyter notebook,new的时候有对应的环境,并且可以跑通所有的import code。

第一步: 在anaconda中创建一个专门的虚拟环境

bash 复制代码
conda create -n py37_torch131 python=3.7

第二步:激活环境

bash 复制代码
# 激活环境
source activate py37_torch131

## 如果source报错,改用conda 
conda activate py37_torch131

# 退出环境的指令
deactivate

以上两步一般都不会出现什么问题。

第三步:在虚拟环境下安装pytorch1.3.1及各种依赖库

原始安装代码:

bash 复制代码
# 安装pytorch1.3.1
conda install pytorch=1.3.1 torchvision cudatoolkit=10.0

# 安装其他依赖库
pip install jupyter tqdm opencv-python matplotlib pandas

这一步可能会遇到非常多的安装的问题。

安装的时候可能会遇到:

① channel找不到的,报错为 The following packages are not available from current channels;

②也可能文件比较大,或者下载速度非常慢。

此外,conda的安装目前不支持断点续传,一旦卡住了或者超时,就需要重头再来。

这里提供一种针对各种安装问题的通用解决方案: **尽量都通过清华源的镜像下载安装。**相比速度很快。

bash 复制代码
# 先添加清华的channels

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

# 安装pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# conda install pytorch torchvision cudatoolkit=10.0 # 不指定版本的话,默认下载最新的,这样的话再baseline里可能会遇到需要将target类型转为long的报错提示

conda install pytorch=1.3.1 torchvision cudatoolkit=10.0


# 安装其他依赖包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter tqdm opencv-python matplotlib pandas

如果要安装其他包,可以先网上搜索下清华镜像是否有,一般都会有的。然后尽量通过清华镜像资源下载。

第四步:启动notebook

bash 复制代码
jupyter-notebook
jupyter notebook
# 以上两种方式都可以启动notebook

本来要开始愉快的代码之旅了,结果发现在notebook里new的时候,并没有我们刚刚创建的那个虚拟环境。

原因是缺少nb_conda插件,以及没有导入虚拟环境。

bash 复制代码
# 安装nb_conda插件
conda install nb_conda
conda install ipykernel
  
# 导入虚拟环境
python -m ipykernel install --user --name py37_torch131 --display-name "py37_cv"

# 最后启动jupyter notebook
jupyter notebook

总结

要敲的指令按顺序如下:

bash 复制代码
conda create -n py37_torch131 python=3.7 
conda activate py37_torch131

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
 

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda install pytorch=1.3.1 torchvision cudatoolkit=10.0
   
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter tqdm opencv-python matplotlib pandas


conda install nb_conda
conda install ipykernel


python -m ipykernel install --user --name py37_torch131 --display-name "py37_cv"
jupyter notebook

在notebook里new file的时候记得选择 py37_cv那个环境。

最终效果如下:

相关推荐
豆浆whisky几秒前
Go分布式追踪实战:从理论到OpenTelemetry集成|Go语言进阶(15)
开发语言·分布式·golang
2401_86049470几秒前
Rust语言高级技巧 - RefCell 是另外一个提供了内部可变性的类型,Cell 类型没办法制造出直接指向内部数据的指针,为什么RefCell可以呢?
开发语言·rust·制造
Tony Bai1 分钟前
【Go模块构建与依赖管理】08 深入 Go Module Proxy 协议
开发语言·后端·golang
浪裡遊1 分钟前
Next.js路由系统
开发语言·前端·javascript·react.js·node.js·js
程序员-小李2 分钟前
基于 Python + OpenCV 的人脸识别系统开发实战
开发语言·python·opencv
QX_hao3 分钟前
【Go】--文件和目录的操作
开发语言·c++·golang
卡提西亚4 分钟前
C++笔记-20-对象特性
开发语言·c++·笔记
万粉变现经纪人16 分钟前
如何解决 pip install 安装报错 [WinError 32] 文件被占用(杀毒/占用进程)问题
python·pycharm·flask·beautifulsoup·bug·pandas·pip
java1234_小锋35 分钟前
[免费]基于Python的Flask酒店客房管理系统【论文+源码+SQL脚本】
开发语言·人工智能·python·flask·酒店客房
bubiyoushang8881 小时前
使用MATLAB计算梁单元的刚度矩阵和质量矩阵
开发语言·matlab·矩阵