发布时间:2024-05-10 10:01
实验环境(电脑:Macbook air,图形卡:Intel HD Graphics 6000 1536 MB;基础环境:python 3.72,Anaconda)
在网上搜了不少教程,看起来都非常容易,上手问题多多,此文测评各种安装方式以及记录作者糟心的安装过程
1. 直接下载
在pytorch 官网(Start Locally | PyTorch)根据电脑配置,拷贝推荐代码到终端运行:
conda install pytorch torchvision torchaudio -c pytorch
参考博客:安装torch - 走看看
运行结果:超级慢,大概率会失败(因为是去外网上下载)
2.通过镜像下载
2.1 清华镜像和中科院镜像
(1)创建虚拟环境
#创建环境
conda create -n Pytorch python=3.7 #环境名为Pytorch,你也可以取别的名字,python=也可以是其他版本
#激活环境
conda activate pytorch
#PS:在没激活环境前,所在路径是base, 激活了之后进入创建的pytorch,再进行安装包
(2)查看环境
conda info --envs
(3)配置镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
(4)使用镜像安装
分别采用了pip和conda进行安装,pip能装上,conda即使添加了镜像也安不上
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
#一般来说前面已经设置镜像源了,这里不需要在加镜像链接
conda install pytorch torchvision torchaudio
#注意!前面不加镜像官网推荐代码:conda install pytorch torchvision torchaudio -c pytorch
#加镜像要去掉-c pytorch
(5)验证安装结果
#激活环境
conda activate pytorch
#进入python
python
#导入torch包进行验证
import torch
print(torch.__version__)
运行结果:显示下载好了,但是无法导入torch包
错误排查:
1.网上有帖子说torch,torchvision 有的版本不相容 #我的不是这个问题,使用的官网推荐代码,下载时并未指定版本,都是按照最新的下载
2.python于torch版本不兼容 import torch报错完美解决! - 知乎#我的不是这个问题,我在创建虚拟环境时python=3.7
3.镜像出了问题 #尝试了清华镜像、中科大镜像,以及豆瓣镜像,其中一次尝试得到如下结果
Traceback (most recent call last):
File "/Users/zhangtong/opt/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 704, in fetch_repodata_remote_request
resp.raise_for_status()
File "/Users/zhangtong/opt/anaconda3/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch/current_repodata.json
这里还不知道是什么原因造成的,感觉自己不太会添加镜像,在一些帖子里看到添加镜像时简单的指定到镜像大路径运行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
有的详细到/cloud/pytorch/
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/
这两个的区别是什么呢?
4.torch装到默认环境里了
整个安装过程,conda都没能成功下载包,pip下载出来了但导不出包,使用pip再次安装结如图已经存在了:
检查pip里已下载的包:
pip3 list
torch其实已经下载了:
继续排查
#这一步的目的不明白
where pip3
用conda再创建了一个新的虚拟环境torch2,激活进入torch2,运行代码
pip list
此时能看到之前装的tensorflow等包,疑问:1.创建torch2环境时并没有下载这些包,怎么能看到;2.前面用pip下载了torch包,在上一个虚拟环境torch下输入代码pip3 list能看到torch包,这里怎么没有
继续排查,这一步思路是?
vim ~/.bashrc
vim ~/.bash_profile
进入到~/.bash_profile,修改如下:注释了path和export四行代码
修改前
修改后
source ~/.bash_profile
结果commend not found:bash_env
#继续修改
vim ~/.bash_profile
这次注释掉了bash_env #不明白
修改前:
修改后:
source ~/.bash_profile
修改后,再次激活进入之前创建的torch环境
where pip #这个的目的是?
此时pip的位置对比前图,没修改bash_profile时没看出差别。