Linux-非Root用户-配置深度学习环境
1|01 简介
- Anaconda:是一个开源的Python发行版本,其包含了conda、Python等软件包,numpy,pandas,scipy等科学计算包.
- Conda:包管理器, venv+pip的作用,也就是虚拟环境+包管理。
- Nvidia: 显卡制造商。
- 显卡:承担输出显示图形的任务。
- GPU:图形处理器,是显卡内部的处理器,
- cuda:Nvidia推出的运算平台,用于并行计算的框架,使GPU能够解决负责的计算问题。
- cudnn: 针对深度卷积神经网络的加速库
- 显卡驱动: 可以调用GPU并行计算能力的驱动程序
2|02 前言
- 图片中的实例路径为文件夹以sl示例,实际操作中更改为本人用户。
- 数据和软件存放建议存放于 /data/用户 ,小文件可以存放于 /home/用户,通过df -h命令可以查看磁盘使用情况,data下共有3.6T可用。

- 实际操作通过第四台服务器为例
- 建议使用MobaXterm连接服务器:具体信息请参考
3|03 Anaconda 安装
- Anaconda下载
上传安装包到服务器
通过MobaXterm工具可以快速将刚才下载的安装包上传到服务器中
Anaconda安装: 新建一个soft文件夹用于存放下载的软件文件
- 可视化界面中右键可以创建新文件夹(也可以使用mkdir命令),我的软件安装文件都存在/home/sl/soft中,数据和软件都存在/data/sl/中



- MobaXterm重新连接服务器,这时候命令输入前多了一个base,说明conda已经在环境变量中,可以使用conda命令。
或者也可以直接使用命令:source ~/.bashrc

- 查看已安装的包

- 其中看到Python版本

4|04 配置虚拟环境
1.创建虚拟环境



2. 虚拟环境中安装第三方包
- 方法一:conda install package_name
- 方法二:pip安装,例如安装opencv

5|05 安装PyTorch
- 官网选择对应命令

- 在虚拟环境中安装


- 注意: 使用conda命令安装PyTorch会自动安装对应cuda版本
cuda版本与显卡驱动版本对应
如果不需要使用ncvv命令,安装PyTorch或者tenserflow后也可以使用GPU加速。
6|06 配置cuda
6|1方法1 使用Root下Cuda
- 查看cuda是否安装,-> 没有安装

- 查找Root下cuda安装位置

- 配置自己用户下的环境变量,使用MobaXterm工具可以双击打开文件编辑器


- 复制以下内容到文件末端
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH
# cuda
- 关闭MobaTextEditor后会询问是否保存到服务器,选择保存。
- 查看结果

至此,已经完成了基本环境的配置,已经可以正常使用GPU计算资源。
6|2方法2 非Root用户安装cuda
- 回到base环境中

- 查看Linux信息,并记住这些信息


- CUDA下载地址


- 下载完成

- 安装过程



- 取消其他安装项目,只安装CUDA Toolkit

- 进入options,修改Toolkit Options




- 修改Library install path

- 完成后安装

- 安装成功显示

- 更改环境变量使用新安装的10.2版本,一下内容添加到.bashrc
export CUDA_HOME=/data/sl/cuda-10.2
export LD_LIBRARY_PATH=/data/sl/cuda-10.2/lib/lib64:$LD_LIBRARY_PATH
export PATH=/data/sl/cuda-10.2/bin:$PATH
# cuda

- 使用source ~/.bashrc命令刷新配置文件,或重新登录服务器

7|07 配置cudnn
- 注册一个Nvidia账户

- 下载对应版本


- 右键复制下载地址,然后在服务器中下载

- 下载完成

解压下载包
下载后文件名很长的后缀的话,先修改文件名为xx.tgz
cudnn安装
- 按照自己目录复制文件

- 修改对应权限

参考
Linux-非Root用户-配置深度学习环境的更多相关文章
- ubuntu18+gtx1060 +cuda9+cudnn-v7+opencv3.1.0 配置深度学习环境
将笔记本的ubuntu系统更新到18版本后重新配置深度学习环境,在此记载方便日后参考 具体配置为 Ubuntu18.04+gtx1060+opencv-3.1 第1步 安装依赖包 sudo apt-g ...
- linux非root用户下安装软件,搭建生产环境
之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包 ...
- 【tf.keras】Linux 非 root 用户安装 CUDA 和 cuDNN
TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loade ...
- linux非root用户执行开机启动程序
问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/ ...
- linux非root用户安装jdk1.8
如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如w ...
- EasyHLS直播在Linux非root用户运行时出现无法写文件的问题解决mkdir 0777
今天在Github上收到一个用户反馈的EasyHLS在linux上非root用户调用时,无法写目录的问题:https://github.com/EasyDarwin/EasyHLS/issues/3, ...
- linux非root用户安装ncurses-devel依赖
很明显,如果我们通过yum或rpm下载安装,始终无法绕开root用户,除非我们不用yum或rpm.嗯,我们直接用源码安装.下载源码包,到http://ftp.gnu.org/gnu/ncurses/我 ...
- 安装 Win10 & Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录
0. 前言 坑爹的Ubuntu晚上运行还是好好的,第二天中午的时候打开机器发现屏幕分辨率不正常了:2K屏显示800*600左右的分辨率(无法调节),一个图标一拳头大,窗口和网页显示不全.Google查 ...
- 【系统配置】Ubuntu和Windons系统安装配置深度学习环境
Ubuntu系统 1.备份 在服务器上整个装系统之前,需要做好一个工作,也就是相关重要数据的备份,这里主要是将固态中的数据备份到机械硬盘或移动硬盘里,可能在备份的过程中会遇到无法写入的问题,是因为文件 ...
- linux非root用户安装rabbitmq
因为rabbitmq是用erlang语言写的,所以装rabbitmq前第一步得先装erlang. 我们到erlang官网https://www.erlang.org/downloads下载安装包,最新 ...
随机推荐
- Python列表等长度分割
1 def list_of_groups(init_list, childern_list_len): 2 ''' 3 :param init_list: 4 :param childern_list ...
- 软件工程日报九——SQLite的安装与配置
安卓stuio的数据库连接需要SQLite,现在进行安装与配置 一进官网下载sqlite-dll-win32-x86.zip和sqlite-tools-win32-x86.zip 二.在下载目录进行解 ...
- maven jar包新版本检测工具推荐
为什么需要 经常使用maven来构建项目的朋友,应该遇到过类似这样的情况:项目通过maven引入了很多jar包,随着时间推移,这些jar包都有了更优的新版本出来,想升级,但又觉得很繁琐.主要是因为两方 ...
- Java Swing 防止键入手Key 的实现方法
实现思路,启动一个线程每隔0.1秒去比较文本里字符长度变化,如果文本变长了,这个情况间隔时间超过2秒,则认为是人工键入. 对于字符串较多,且包含数字和字母的情况,比较适用. class KeyCode ...
- windows 安装mysql-8.0.13(zip安装)
安装环境说明 系统版本:windows10 mysql版本:mysql-8.0.13-winx64.zip 下载地址:http://mirrors.163.com/mysql/Downloads/My ...
- 提交docker镜像到远程仓库
生成镜像 Docker build 镜像 编辑Dockerfile文件 新建Dockerfile文件,将如下构建脚本复制进去 # Build for ansible envirament FROM c ...
- 02 流程控制之while循环
# 1.循环的语法与基本使用'''print(1)while 条件: 代码1 代码2 代码3print(3)''' # count=0# while count < 5: # 5 < 5# ...
- zookeeper(1)-集群的搭建
集群搭建 1. 下载二进制文件 $ wget --no-check-certificate https://mirrors.ustc.edu.cn/apache/zookeeper/zookeeper ...
- JSON中put、accumulate、elemate的区别
JSONObject.put():将value映射到key下,加入在JSONObject对象之前存在一个value存在key下,当前的value会替换之前的value. JSONObject.accu ...
- SQL Server【提高】分区表
分区表 分区视图 分区表可以从物理上将一个大表分成几个小表,但是从逻辑上来看,还是一个大表. 什么时候需要分区表 数据库中某个表中的数据很多. 数据是分段的 分区的方式 水平分区 水平表分区就是将一个 ...
