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 相关文章推荐
学习python (2)
Oct 31 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
浅谈python抛出异常、自定义异常, 传递异常
Jun 20 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
浅析使用Python搭建http服务器
Oct 27 Python
jupyter 导入csv文件方式
Apr 21 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
python 决策树算法的实现
Oct 09 Python
python 基于opencv实现图像增强
Dec 23 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 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基础学习之变量的使用
2011/06/09 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
ES6的新特性概览
2016/03/10 Javascript
js解决movebox移动问题
2016/03/29 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
python之yield表达式学习
2014/09/02 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
浅谈Python的list中的选取范围
2018/11/12 Python
Python如何实现邮件功能
2020/05/27 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
毕业证丢失证明
2014/01/15 职场文书
优秀员工获奖感言
2014/03/01 职场文书
决心书范文
2014/03/11 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
离婚协议书范本样本
2014/08/19 职场文书
学校交通安全责任书
2014/08/25 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
酒会邀请函
2015/01/31 职场文书
鸦片战争观后感
2015/06/09 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
七年级上册生物的课件
2019/08/07 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL