热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于PyTorch的深度学习入门教程(一)——PyTorch安装和配置

@page{margin:0.79in}p{margin-bottom:0.1in;line-height:120%}a:link{so-language:zxx}

前言

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

 

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/#linux 。里面包含了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

不报错就表明安装成功。

 

 



推荐阅读
  • 本文详细介绍了 TensorFlow 的入门实践,特别是使用 MNIST 数据集进行数字识别的项目。文章首先解析了项目文件结构,并解释了各部分的作用,随后逐步讲解了如何通过 TensorFlow 实现基本的神经网络模型。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 计算机视觉初学者指南:如何顺利入门
    本文旨在为计算机视觉领域的初学者提供一套全面的入门指南,涵盖基础知识、技术工具、学习资源等方面,帮助读者快速掌握计算机视觉的核心概念和技术。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 本文介绍了一个使用Keras框架构建的卷积神经网络(CNN)实例,主要利用了Keras提供的MNIST数据集以及相关的层,如Dense、Dropout、Activation等,构建了一个具有两层卷积和两层全连接层的CNN模型。 ... [详细]
  • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
  • 本文详细介绍了如何在树莓派上安装Ubuntu系统,并配置SSH服务以实现远程操作。此外,文章还涵盖了在Ubuntu环境下搭建TensorFlow框架的过程,以及如何利用TensorFlow实现基础的BP神经网络模型。 ... [详细]
  • PC时代的传奇人物
    回顾过去几十年,个人电脑(PC)的发展历程犹如一部英雄史诗。每一位杰出人物都在这一领域留下了不可磨灭的印记,他们的贡献不仅推动了技术的进步,也深刻影响了现代社会的发展。 ... [详细]
  • TWEN-ASR 语音识别入门:运行首个程序
    本文详细介绍了如何使用TWEN-ASR ONE开发板运行第一个语音识别程序,包括开发环境搭建、代码编写、下载和调试等步骤。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 吴裕雄探讨混合神经网络模型在深度学习中的应用:结合RNN与CNN优化网络性能
    本文由吴裕雄撰写,深入探讨了如何利用Python、Keras及TensorFlow构建混合神经网络模型,特别是通过结合递归神经网络(RNN)和卷积神经网络(CNN),实现对网络运行效率的有效提升。 ... [详细]
  • 图神经网络模型综述
    本文综述了图神经网络(Graph Neural Networks, GNN)的发展,从传统的数据存储模型转向图和动态模型,探讨了模型中的显性和隐性结构,并详细介绍了GNN的关键组件及其应用。 ... [详细]
author-avatar
羽靜幻雲_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有