在Linux系统中安装深度学习框架Pytorch
01
PyTorch和TensorFlow
PyTorch:一个开源的Python机器学习库 , 基于Torch , 用于自然语言处理等程序 。 使用Python作为开发语言 , 是一个以Python优先的深度学习框架 。 本质上是Numpy的替代者 。
TensorFlow:Tensor(张量)意味着N维数组 , Flow(流)意味着基于数据流图的计算 , TensorFlow为张量从流图的一端流动到另一端计算过程 。
TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统 , 可以看成是一个嵌入Python的编程语言 。
从目前的文档看 , TensorFlow支持CNN、RNN和LSTM算法 , 这都是目前在Image , Speech和NLP最流行的深度神经网络模型 。
PyTorch更有利于研究人员、爱好者、小规模项目等快速搞出原型 。 而TensorFlow更适合大规模部署 , 特别是需要跨平台和嵌入式部署时 。
02
在Linux下载Pytorch
由推文:在Linux系统中安装anaconda的详细实操步骤 可知 , 安装PyTorch可以通过anaconda进行安装 。
详细步骤:
1. 在确保anaconda安装成功后 , 进入下一步 。
在上一篇推文最后中 , 打开新的终端验证anaconda安装成功时 , 会发现命令前面有(base) 。
2.为PyTorch创建虚拟环境 。
为pytorch创建一个虚拟环境 , 这是推荐的做法 , 这样在创建其他环境如tensorflow时 , 就不会互相冲突 。 在终端输入:conda create -n pytorch python=3.7
文章插图
如果安装的是Anaconda2 , 安装后会出现:
文章插图
再输入 conda activate pytorch进入该环境 , 此外conda deactivate退出该环境 。 进入该环境后 , 命令行前面有(pytorch) 。
3.添加清华源 。
否则会下载过慢导致失败 。 在终端输入以下内容 , 可直接粘贴复制 。 在Linux系统终端复制时按Ctrl+Shift+v 。
conda config --add channels
conda config --add channels
conda config --add channels
conda config --add channels
conda config --add channels
conda config --add channels
conda config --add channels
conda config --set show_channel_urls yes
最后一句是设置安装路径可见 。 可输入cat ~/.condarc查看是否成功 。
补充:.condarc文件在Home文件中 , 是隐藏文件 , 可按Ctrl+H将其显示 。
文章插图
打开后可以看到:
文章插图
4打开PyTorch官网 。
官网:#anaconda , 根据提示进行选择:
文章插图
在Linux终端输入指令 , 注意官网根据你的选择给出的指令是:
conda install pytorch torchvision cpuonly -c pytorch
而在终端输入的指令时将后面的 -c pytorch 删除 , 这样下载的路径才是清华源 。
即输入:
conda install pytorch torchvision cpuonly
输入后等待 , 直到安装完成 。
5.检测是否安装成功
打开新的终端 , 输入python , 再输入import torch , 没有报错;再输入import torchvision , 也没有报错 , 如图所示 。 此时即安装成功 。
文章插图
为了进一步检测 , 我复制了PyTorch官网上的检测代码 , 测试结果也是正确的 , 如图 。
文章插图
总结:
1. 下载好anaconda
2. 创建虚拟环境pytorch(或者tensorflow)
3. 添加清华源镜像
4. 输入PyTorch官网安装提示命令 , 删除后面的 -c pytorch
5. 检测是否安装成功
03
安装时踩过的坑
软件安装需要看运气 , 有时候很顺利 , 有时候死磕也安装不下来 。
以上的过程是我最后一次安装 , 整个过程很流畅很顺利 。 但在此之前 , 我尝试了好几次 , 遇到各种问题 。
1.直接在终端输入按照官网提示的指令:
文章插图
出现错误:
文章插图
2. 在创建环境 , 添加镜像后 , 在创建的环境中安装pytorch 。
还是出现同样错误 。 尝试了网上不同的办法 , 包括将https改为http , 将.condarc文件中的-default删除 , 输入conda config --set remote_read_timeout_secs 600.0 , 设置conda下载的timeout(如果时长不够可以再设置大一点) 。
- 麒麟|荣耀新款,麒麟810+4800万超清像素,你还在犹豫什么呢?
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 行业|现在行业内客服托管费用是怎么算的
- 零部件|马瑞利发力电动产品,全球第七大零部件供应商在转型
- 通气会|12月4~6日,2020中国信息通信大会将在成都举行
- 俄罗斯手机市场|被三星、小米击败,华为手机在俄罗斯排名跌至第三!
- 体验|闭上眼睛点外卖是什么感觉?时隔一年再次体验,进步令人欣慰
- 当初|这是我的第一部华为手机,当初花6799元买的,现在“一文不值”?
- 出海|出海日报丨短视频生产服务商小影科技完成近4亿元 C 轮融资;华为成为俄罗斯在线出售智能手机的第一品牌
- 看过明年的iPhone之后,现在下手的都哭了