前言
深度神经网络是一种目前被广泛使用的工具,可以用于图像识别、分类,物体检测,机器翻译等等。深度学习(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,所以我会以此为例子来介绍后面的内容。
2. Anaconda 和Python
PackageManager我们选择conda,于是我们需要安装Anaconda这个功能强大的包,下载地质:https://www.anaconda.com/download/ 。里面包含了conda工具,也有Python,以及很多Python需要的扩展工具包。选择2.7版本,下载并安装即可。接下来,如果有显卡,进入第3步;没有显卡直接到第4步。
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}}
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
不报错就表明安装成功。
来源:https://blog.csdn.net/zzlyw/article/details/78674543


猜你喜欢
- DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找。设我们有一个敏感词库,词酷中的词汇为:我
- 如下所示:import sysfrom PyQt5.QtWidgets import *class MainWindow(QMainWind
- 1、打开文件得到文件句柄并赋值给一个变量2、通过句柄对文件进行操作3、关闭文件示例文件'你好呀'我是于超嗯再见文件操作基本流
- 之前写过一篇 MySQL通过自定义函数的方式,递归查询树结构,从MySQL 8.0 开始终于支持了递归查询的语法CTE首先了解一下什么是 C
- 我们平常用 IE 打开一个普通的本地 xml 文件,其形式通常都是如下图: 默认样式看得多了就不觉得有什么特别。但对于少接触 xml 的人来
- 在国内利用Python从Internet上爬取数据时,有些网站或API接口被限速或屏蔽,这时使用代理可以加速爬取过程,减少请求失败,Pyth
- 介绍SQLSERVER 2012新增了两个字符串函数CONCAT和FORMAT。本文首先介绍一下CONCAT,CONCAT函数的作用是可以返
- 组合模式Composite Pattern是什么组合模式是一种结构型模式,它允许你将对象组合成树形结构来表示“部分-整体
- PHP simplexml_import_dom() 函数实例获取 DOM 文档节点并转换为 SimpleXML 节点:<?php $
- python 连接数据库操作, 方法如下:在本机的mysql 数据库中有一个名为yao的库,其中有一个名为user的表,表中的内容如图下面,
- 先看函数参数:torch.flatten(input, start_dim=0, end_dim=-1)input: 一个 tensor,即
- 后台管理配置动态路由菜单前段时间做一个后台管理项目,因为超级管理员可以给普通管理员动态更改权限,所以vue-element-admin里的写
- 1、Session的存储方式。 session其实分为客户端Session和服务器端Session。 当用户首次与Web服务器建立连接的时候
- 确定数据库内有多少记录,或者确定有多少记录达到了某些标准,这些用ASP完成并非难事。如果你采用了正确的游标类型,你可以用RecordCoun
- asp学习入门经验介绍,本文初步介绍了初学asp的一些相关知识,如VBScript语法简介,循环控制语句的使用,asp数据库的简单操作查询,
- 本文实例为大家分享了python定时复制远程文件夹中文件的具体代码,供大家参考,具体内容如下import os, shutil, sysim
- tensorflow下设置使用某一块GPU(从0开始编号):import osos.environ["CUDA_DEVICE_OR
- 引言大纲这个月我会整理分享一系列后端工程师求职面试相关的文章,知识脉络图如下:JAVA/GO/PHP 面试常问的知识点DB:MySql Pg
- re.group()用法在正则表达式中,re.group()方法是用来提取出分组截获的字符串,匹配模式里的括号用于分组。举例说明:#!/us
- 【MySql常用命令】1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:创建一个数