centos下通过conda安装pytorch
一、安装anaconda
anaconda安装简单,只要确定自己的系统即可,具体安装请参考这里
二、确定自己的系统版本
我的是centos
cat /etc/redhat-release
查看linux系统方法:
# 方法一
cat /proc/version # 方法二
lsb_release -a # 方法三
cat /etc/issue # 方法四
cat /etc/redhat-release
三、确定自己的CUDA版本
什么是cuda:
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题
简单说强大的芯片如果只是作为显卡就太浪费了,因此N卡厂商推出CUDA,让显卡可以用于图像计算以外的目的
什么是cudnn:(注意:CUDA和CuDNN一般都是结伴而行,如果需要CUDA,必然会需要CuDNN)
下载地址:注意这里需要注册才能下载,我用qq邮箱,密码首字母大写
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手
但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多
cudnn下载解压后cuda目录下有下面内容:

修改权限:
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Centos7安装NVIDIA显卡驱动和CUDA10.1(以10.1为例):
先查看自己的linux上显卡型号:
lspci | grep -i nvidia

可见我的显卡杠杠滴
显卡驱动下载:(下载与自己显卡型号一致的驱动)


注意:在安装显卡驱动的时候如果报错
ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is in use (for example, by the X server), but may also happen if your kernel was configured
我们需要查看是否有程序占用(如果存在占用,请停掉该程序)
lsof | grep nvidia.uvm
当然显卡驱动也可以这样安装:(推荐)
sudo yum install nvidia-detect # 安装检查显卡的程序
nvidia-detect -v # 查看需要的显卡驱动型号
yum -y install kmod-nvidia # 安装驱动
卸载驱动:
sudo yum remove kmod-nvidia
如果通过官网下载驱动安装时找不到kernel,通过下面的方式安装驱动(确保kernel已经安装)
sudo ./NVIDIA-Linux-x86_64-430.40.run --kernel-source-path=/usr/src/kernels/3.10.0-514.el7.x86_64

检查linux是否安装了GPU
lspci | grep -i nvidia

安装 cuda 的时候,会询问是否安装显卡驱动,说明 cuda 安装程序里包含了的显卡驱动;建议先不要安装 cuda 里的显卡驱动,待安装完 cuda 后,执行例子程序,如果报错再检查显卡驱动是否正确,避免覆盖原来的显卡驱动
安装gcc、g++编译器:先查看是否已经安装(gcc -v)
yum install gcc
yum install g++
安装kernel-devel和kernel-headers:
yum install kernel-devel
yum install kernel-headers
注意这里的kernel要和自己的linux系统版本一致:可以使用uname -r查看自己的系统版本
uname -r
#3.10.0-514.el7.x86_64
有时候直接yum安装的版本比较新,导致显卡驱动安装失败
sudo yum remove kernel-devel # 卸载新的
sudo rpm -i kernel-devel-3.10.0-514.el7.x86_64.rpm #下载安装适合的版本
编辑grub文件
vim /etc/default/grub
在GRUB_CMDLINE_LINUX中的末尾(注意要包含在引号内)添加/rd.driver.blacklist=nouveau nouveau.modeset=0
随后生成配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
禁用nouveau:将blacklist nvidiafb注释掉,并添加如下内容,禁用的原因点击这里
blacklist nouveau
options nouveau modeset=0

更新配置并重启:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
reboot
重启后确认禁用了nouveau:
lsmod | grep nouveau
# 没有内容输出表示禁用成功
赋予权限并安装驱动和CUDA-10.0:
./NNVIDIA-Linux-x86_64-430.50.run
./cuda_10.1.243_418.87.00_linux.run
查看安装结果
nvidia-smi
显卡驱动和cuda安装成功后,就可以用conda install 来安装python包了(注意:虚拟机无法调用GPU,即使所有的环境配置好,代码依然会报:all cuda 忙或者不可用的错误)
推荐搭建使用docker来安装深度学习环境,方便部署
总结:大家可以参考这个来安装深度学习框架
接下来安装pytorch-gpu:
conda create --name pytorch_gpu python=3.6.10
source activate pytorch_gpu
conda install pytorch torchvision cudatoolkit=10.1
centos下通过conda安装pytorch的更多相关文章
- CentOS下SNMP的安装与使用
CentOS下SNMP的安装与使用 导读 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(datab ...
- CentOS下通过yum安装svn及配置
CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...
- centos 下查找软件安装在哪里的命令
linux centos 下查找软件所安装的目录在哪里 1. 如果是rpm安装的可以:rpm -ql linux(1)package-name 具体你可以man rpm 2. 可以在根目录上直接fin ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
- CentOS下Eclipse的安装教程
CentOS下Eclipse的安装教程 据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都 ...
- mac与centos下redis的安装与配置
前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...
- ubuntu18.04 下利用conda安装opencv3
ubuntu18.04 下利用conda安装opencv3 安装opencv3 conda install -c https://conda.anaconda.org/menpo opencv3 出现 ...
- CentOS下Redis的安装(转)
目录 CentOS下Redis的安装 前言 下载安装包 解压安装包并安装 启动和停止Redis 启动Redis 停止Redis 参考资料 CentOS下Redis的安装 前言 安装Redis需要知道自 ...
- Centos下telnet的安装和配置
Centos下telnet的安装和配置 首先为Centos配置地址(192.168.0.1/24) 一.查看本机是否有安装telnetrpm -qa | grep telnetrpm -q telne ...
随机推荐
- HDU 6153 A Secret ( KMP&&DP || 拓展KMP )
题意 : 给出两个字符串,现在需要求一个和sum,考虑第二个字符串的所有后缀,每个后缀对于这个sum的贡献是这个后缀在第一个字符串出现的次数*后缀的长度,最后输出的答案应当是 sum % 1e9+7 ...
- luoguP1186 玛丽卡 x
P1186 玛丽卡 题目描述 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们知道 ...
- linux 挂载磁盘指令
fdisk -l (先df -h,如果没有xvdb盘信息,则敲这条指令) fdisk /dev/xvdb (进入对话状态,一问一答,结束后要保存w或者删除q) mkfs.ext3 /dev/xv ...
- vue 使用props 实现父组件向子组件传数据
刚自学vue不久遇到很多问题,刚好用到的分组件,所以就用到传递数据 弄了好久终于搞定了,不多说直接上代码 父组件: <template> <headers :inputName=&q ...
- Hyperledger交易流程
Hyperledger Fabric Network中的角色 在Hyperledger中,由三种类型的角色: Client:应用客户端,用于将终端用户的交易请求发送到区块链网络: Peers:负责维护 ...
- centos 6.9 mysql 安装配置
1.全新系统,安装mysql yum -y install mysql mysql-server mysql-devel 2.启动mysql service mysqld start 3.修改密码 登 ...
- PCIE手札
PCIE兼容了大部分PCI总线的特性,区别在于使用串行差分总线代替了并行总线,并实现了协议分层.PCIE的带宽与LANE数量和时钟频率相关,时钟频率支持2.5G和5G,Lane支持x1/x2/x4/x ...
- java对接短信平台
短信验证码目前是比较主流验证身份的一种方式,下面分享下我对接的几种短信平台 阿里云短信:https://api.alidayu.com/docs/api.htm?spm=a3142.7395905.4 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_15_静态代码块
static的特殊用法, 静态代码块 加上构造方法,做测试 又创建一个对象 静态代码块 只执行一次 后续在学习jdbc的时候,静态代码块很有用途.
- GMSSL在Window下的编译
因为工作需要用到SM2算法加解密,网络上找一圈,没有合用的,还被骗了一堆积分. 无奈只得自行编译,从GITHUB的GMSSL下载到最新的SSL库,VS2012下编译踩了不少坑,记录一下 GITHUB链 ...