上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速、神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(conda、pip、轮子)。

还未下载安装 CUDA 和 Anaconda,请看往期文章,是全套系列的总结,包你不用开很多网页,然而只为了下载安装一个工具而已。。。。

Anaconda中使用

在CUDA安装完之后,如果想要学习深度学习中的神经网络的话,则额外下载安装cuDNN,可帮助我们加快神经网络的运算,cuDNN是一个常见的神经网络层加速库文件,能够很大程度把加载到显卡上的网络层数据进行优化计算,而CUDA就像一个很粗重的加速库,其主要依靠的是显卡。cuDNN需要在有CUDA的基础上进行,可以在CUDA基础上加速2倍以上。

下载安装之前,这里再简要介绍几个关键概念

NVIDIA的显卡驱动器与CUDA

NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,CUDA本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的CUDA工具包,一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了。

CUDA和cuDNN关系

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

注意:cuDNN是一个SDK,是一个专门用于神经网络的加速包,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

CuDNN支持的算法

  • 卷积操作、相关操作的前向和后向过程
  • pooling的前向后向过程
  • softmax的前向后向过程
  • 激活函数的前向后向过程,如(Relu、Sigmoid、Tanh )等

cuDNN的下载与安装

第一步:官网下载cuDNN的安装包,地址:https://developer.nvidia.com/cudnn,这里需要你注册一个账号,按照要求注册完就可以下载安装包了,这里我的CUDA安装的是10.2版本的,我就安装与我CUDA对应的cuDNN了。

第二步:下载好安装包后,利用解压软件解压出来

第三步:复制粘贴 bin、include、lib三个文件到CUDA的安装目录进行覆盖替换,

cuDNN到此安装成功!

下面我介绍Pytorch-GPU的下载安装的三种方式

  • Conda安装(官网命令下载速度慢,设置镜像源后可加速)
  • Pip安装(设置镜像源,设置镜像源后可加速)
  • 轮子安装(官网下载轮子,轮子安装)

第一步:打开Anaconda Navigator中新建一个虚拟环境,选择Enviroments->Creat->点击,自己设置环境名(这里我设为py35)和Python版本,也可以用命令创建环境

第二步:创建完后,点击py35旁边的绿色三角形箭头,选择Open Terminal,在命令行中打开,我们就可以使用命令的方式在该虚拟环境py35中安装Pytorch-GPU了

第一种:Conda安装

第一步:首先我们来到Pytorch-GPU的官网,选择CUDA的安装平台以及版本、Conda或者Pip安装,在下方粘贴复制安装命令即可,但是这里下载速度极慢,很容易出现CondaHTTPError,因为默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,我们更改Conda下载安装包的镜像源

第二步:这里我们首先设置一下Conda下载安装包的镜像源,输入以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --set show_channel_urls yes

第三步:添加完后,在用户目录下,如:C:\Users\11703 ,找到 .condarc 文件,使用记事本打开,删除里面的 defaults,这样能快点,或者在其前面加#号注释掉。

注意:用conda安装包的标准语法格式为:conda install -c <channel><packagename>,而pytorch官网中conda给的命令行是上图那样的,有-c选项,就说明已经指定了官方下载源,所以自己配置的镜像源不管用, 所以应该把-c pytorch去掉,就可以从镜像源下载文件了。

输入y,即正式下载和安装

友情提示:如果你想再次换源安装,需要使用以下命令conda config --remove-key channels恢复默认源的命令,否则会报错,然后再次配置你想要的镜像源。

第二种:Pip安装

pip添加源安装,等待一段时间安装完成即可,安装命令:

pip install torch===1.5.0 torchvision===0.6.0 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple

第三种:轮子安装

pytorch轮子文件下载地址:https://download.pytorch.org/whl/torch_stable.html,分别下载安装torch和torchvision安装包,这里请注意自己安装的CUDA、以及torch、torchvision版本匹配,最后创建的Python环境请和下载的一致。如下图举例

下完轮子文件之后,命令窗口到相应虚拟环境以及轮子安装目录下,命令安装轮子,我的轮子文件放在了D盘,

这里注意: 安装Pytorch需要依赖包numpy、future,可以提前安装好,安装torch检测到没有numpy时,会自动帮我们下载安装依赖包numpy、future,不用担心,但是过程缓慢,建议提前安装后numpy、future。

下载安装torch完成后,我们开始安装torchvision,torchvision需要安装依赖包pillow,这里教大家提前安装的方法,使用如下命令,如果出现问题加上信任选项 trusted host,pip install-i https://pypi.tuna.tsinghua.edu.cn/simple--trusted-hostpypi.tuna.tsinghua.edu.cn pillow

安装torchvision

最后我们检测Pytorch-GPU是否安装完成

先使用命令pip list查看已安装的包列表,再输入命令python,然后 torch.cuda.is_available(),输出True,即安装成功

本期教程至此就结束了,觉得不错的点个赞吧,整理不易,希望大家支持,想要pytorch轮子安装包,关注我即可获取

更多有关python、深度和计算机编程的精彩内容,可以关注我的微信公众号:码农的后花园

官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error的更多相关文章

  1. 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...

  2. CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...

  3. RHEL6安装python包tornado

    RHEL6安装python包tornado tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由Friendfeed开发.通过使用非阻塞IO,Tornad ...

  4. 使用setup.py安装python包和卸载python包的方法

    使用setup.py安装python包和卸载python包的方法 记录安装后文件的路径 python setup.py install --record files.txt删除这些文件 cat fil ...

  5. pip安装python包出现Cannot fetch index base URL http://pypi.python.org/simple/

    pipinstall***安装python包,出现 Cannot fetch index base URL  http://pypi.python.org/simple /错误提示或者直接安装不成功. ...

  6. 在windows下安装python包管理器pip及使用

      从来没有在Windows下用过pip,今天试了下,原来pip也可以在Windows下安装,使用也和Linux下一样简单. 先从下面的地址下载pip源码: http://pypi.python.or ...

  7. 如何安装python包

    安装python包有两种方法: 使用Python包管理器pip工具 在Linux系统中,首先 yum install python-pip 然后就可以欢快的pip install *** 啦 源代码安 ...

  8. ubuntu下pycharm无法使用pip安装python包的修复方案

    1. 在pycharm 中安装python包会报错“pycharm ModuleNotFoundError: No module named 'distutils.core'”: 2. 可能原因:in ...

  9. Linux虚拟环境配置(安装python包,连接至jupyter notebook)

    在Linux虚拟环境下安装python包 方法一:使用下载包 由于实验室下载速度较慢,因此采用传输下载包的形式安装包. 首先导入python包至指定文件夹(任意文件夹,记住地址即可)并解压. 进入虚拟 ...

随机推荐

  1. CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解

    一.与CUDA相关的几个概念:thread,block,grid,warp,sp,sm. sp: 最基本的处理单元,streaming processor  最后具体的指令和任务都是在sp上处理的.G ...

  2. PyCharm 2020.1专业版安装教程及破解方法

    一.安装第一步下载 版本一定得是:2020.1 其他版本下载地址:https://www.jetbrains.com/pycharm/download/other.html  安装不多说了: 二.破解 ...

  3. java web应用启动报错:Caused by: java.lang.ClassNotFoundException: ServletContext

    ServletContext是个接口,不同的WEB容器(tomcat, jboss等)都有各自的实现. 一般是缺少servlet-api.jar包 在Java Build Path的Libraries ...

  4. Java—面向对象、类与对象、封装

    理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. 面向对象的程序设计方式,是 ...

  5. 分治算法(二分查找)、STL函数库的应用第五弹——二分函数

    分治算法:二分查找!昨天刚说不写算法了,但是突然想起来没写过分治算法的博客,所以强迫症的我…… STL函数库第五弹——二分函数lower_bound().upper_bound().binary_se ...

  6. 【Apollo】(1)--- Apollo入门介绍篇

    Apollo入门介绍篇 Apollo有一点很好,就是它是由国内携程团队开发,而且文档写的很全,代码也完全开源.如果去了解它也可以直接去看它的官方文档. 一.配置中心概念 1.背景 在实际开发中都会与配 ...

  7. 火题大战Vol.0 B 计数DP

    火题大战Vol.0 B 题目描述 \(n\) 个沙茶,被编号 \(1\)~$ n$.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 \(1\)(\(+1\) 或\(-1 ...

  8. int ,long , long long , __int64类型的范围

    首先见测试代码(在g++/gcc下运行): #include<iostream> using namespace std; int main() { cout<<sizeof( ...

  9. Js中的各种高度问题

    一.屏幕宽高相关 屏幕高度就是你的整个屏幕高度(开机会亮的那片区域的高度),相关的其他高度划分很简单,就是以任务栏为分界线从而分为两部分. screen.height :屏幕高度. screen.wi ...

  10. 笔记:Linux用户管理(补充)、权限管理、内存管理、网络管理、渗透常用命令

    一.用户管理(补充) 添加用户:useradd [选项] 用户名 useradd -u 5000 -g demogroup -G root -d /home/demo -s /bin/bash dem ...