PyTorch的深度学习入门之PyTorch安装和配置


Posted in Python onJune 27, 2019

前言

深度神经网络是一种目前被广泛使用的工具,可以用于图像识别、分类,物体检测,机器翻译等等。深度学习(DeepLearning)是一种学习神经网络各种参数的方法。因此,我们将要介绍的深度学习,指的是构建神经网络结构,并且运用各种深度学习算法训练网络参数,进而解决各种任务。本文从PyTorch环境配置开始。PyTorch是一种Python接口的深度学习框架,使用灵活,学习方便。还有其他主流的深度学习框架,例如Caffe,TensorFlow,CNTK等等,各有千秋。笔者认为,初期学习还是选择一种入门,不要期望全都学会。须知,发力集中才能深入挖掘。乱花渐欲迷人眼,选择适合自己的,从一而终,相信会对科研大有裨益!

***************************************************

说明:本文乃至本系列全部文章都是在PyTorch0.2版本下做的。现在版本更新了很多,会有一些API的更改,请大家注意Follow最新的变化,以免由于版本问题受到困扰。

***************************************************

1. 环境说明

PyTorch目前支持OSX和Linux两种系统,并且支持多种安装方式。在官网上介绍了基于conda,pip和源代码编译几种不同的安装方式。支持的Python版本有2.7,3.5和3.6。鉴于深度学习需要的计算量一般比较大,强烈建议找到一个有独立显卡的电脑来展开学习,当然没有显卡也能用,就是计算慢很多了。

如果你的电脑是Windows,那么可以安装一个虚拟机来运行Linux,但是性能可能会折扣。我的电脑操作系统是Ubuntu16.04,所以我会以此为例子来介绍后面的内容。

PyTorch的深度学习入门之PyTorch安装和配置

 2. Anaconda 和Python

PackageManager我们选择conda,于是我们需要安装Anaconda这个功能强大的包,下载地质:https://www.anaconda.com/download/ 。里面包含了conda工具,也有Python,以及很多Python需要的扩展工具包。选择2.7版本,下载并安装即可。接下来,如果有显卡,进入第3步;没有显卡直接到第4步。

PyTorch的深度学习入门之PyTorch安装和配置

3. 显卡驱动和CUDA

要使用显卡进行运算,你需要使用支持CUDA的NVIDIA显卡,目前比较好的显卡有NVIDIATITANX、GTX1080Ti 等。好的显卡将会是深度学习研究的有力武器。当然,普通的显卡例如GTX970、GTX1060等也是可以用的。实在没有显卡,那只能做简单的小数据量的实验,效果不会太好。

在Ubuntu16.04上可以采用以下方法安装显卡驱动,这种方式比较稳定。打开“SystemSettings”——“Software&Updates” —— “AdditionalDrivers”,联网状态会自动搜索可用的显卡驱动,选择可用的版本,点击“ApplyChanges”即可。可能重启动后显卡驱动才能生效。

接下来安装CUDAToolkit。因为最新的CUDA是9.0版本,但是PyTorch只能支持到8.0。所以转到该网址“https://developer.nvidia.com/cuda-80-ga2-download-archive”,选择对应的参数,下方会有对应的CUDA文件。例如,下图是我选择的版本。选择deb文件,发现有1.9G大小,下载下来,按照baseinstaller的指示来完成安装。附加的cuBLAS也可以下载下来安装上。

CUDA安装完成后,在主目录下打开“.bachrc”文件,在末尾添加如下代码:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 PyTorch的深度学习入门之PyTorch安装和配置

4. 运行PyTorch的安装命令

如果你和我一样,采用8.0CUDA,2.7版本Python,可以运行以下命令:

conda install pytorch torchvision cuda80 -c soumith

如果没有显卡,2.7版本Python,可以这样:

conda install pytorch torchvision -c soumith

5. 验证安装是否成功

要显示显卡信息,在终端输入:

sudo lshw -c video

要显示CUDA信息,在终端输入:

nvcc -V

查看Phthon版本,在终端输入:

python --version

验证pytorch是否安装成功,在终端输入:

python

此时进入python环境。然后,继续输入

import torch

import torchvision

不报错就表明安装成功。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
解决pycharm remote deployment 配置的问题
Jun 27 #Python
python turtle库画一个方格和圆实例
Jun 27 #Python
Python实现的对一个数进行因式分解操作示例
Jun 27 #Python
python pytest进阶之xunit fixture详解
Jun 27 #Python
Python批量查询关键词微信指数实例方法
Jun 27 #Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 #Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 #Python
You might like
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
JavaScript继承方式实例
2010/10/29 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
vue实现分页加载效果
2019/12/24 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Python能做什么
2020/06/02 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
优秀大学生自荐信
2014/06/09 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
硕士论文致谢范文
2015/05/14 职场文书
拖欠货款起诉状
2015/05/20 职场文书
技能培训通讯稿
2015/07/18 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫