ubuntu搭建深度学习环境
安装vscode
方法一:
依次输入如下命令
1.sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
2.sudo apt-get update
3.sudo apt-get install ubuntu-make
4.umake ide visual-studio-code
可以在应用找到vscode即为成功
安装git
1.sudo apt update
2.sudo apt install git
可以在git --version打印出版本即为成功
安装cuda
在这里找CUDA Toolkit Archive | NVIDIA Developer
(nvcc -V的话是查询系统安装的cuda版本,而nvidia-smi是查看GPU使用情况的(也可以用来检查驱动是否安装成功)。nvidia-smi之所以会出现cuda version,我印象里谷歌给的解释是,release这个显卡驱动时英伟达使用的cuda版本。只需要保证nvidia-smi显示的cuda version比nvcc -V显示的版本高就行)
1.wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
2.sudo sh cuda_11.3.0_465.19.01_linux.run
以下这样即为成功
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.2/
Samples: Installed in /home/wohu/, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-10.2/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.2/lib64, or, add /usr/local/cuda-10.2/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-10.2/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.2/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 440.00 is required for CUDA 10.2 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
多种方式验证cuda是否安装成功
ll /usr/local/
若看到 /usr/local/
目录下已经有 cuda -> /usr/local/cuda-10.2//
软链接,则为成功
然后继续配置cuda环境变量
打开.bashrc并修改
sudo vi ~/.bashrc
进入文件后使用上下左右移动键将光标移动到最后一行,然后使用字母按键o插入一行
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
继而接着再插入一行
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
最后按下esc按键,然后输入:wq即可保存
然后还要使得配置的环境变量生效,所以继续输入
sudo source ~/.bashrc
如果遇到source command not found情况,可以切换到root用户,使用sudo -s切换,然后执行source ~/.bashrc 即可成功
当一切搞定,就可以测试cuda,查看cuda版本使用nvcc -V
卸载cuda
在cuda10.2里对应torch1.7.0和torchvision0.8.1使用nvidia 3090不太行(原因:算力7.0的显卡可以在支持最高算力7.5的CUDA版本下运行,但是算力7.5的显卡不可以在支持最高算力7.0的CUDA版本下运行,同理算力8.x的显卡不可以在支持最高算力7.x的CUDA版本下运行),会报错,所以此时只能升级torch版本
这里感觉装了两个无用cuda版本有点难受,所以卸载他们
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
当下载cuda提示连接超时时,建议直接重启电脑
胡乱卸载导致nvidia-smi找不到设备了,故重新安装nvidia驱动
首先安装驱动前一定要更新软件列表和安装必要软件、依赖(必须)
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
lspci | grep -i nvidia或者ubuntu-drivers devices 查看显卡型号,然后进入这个网站
https://www.nvidia.cn/Download/index.aspx?lang=cn
卸载原有驱动
sudo apt-get remove --purge nvidia* # 或者nvidia-*
禁用nouveau(nouveau是通用的驱动程序)(必须)
sudo gedit /etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)
在打开的blacklist.conf末尾添加如下,保存文本关闭
blacklist nouveau
options nouveau modeset=0
在终端输入如下更新,更新结束后重启电脑(必须)
sudo update-initramfs –u
重启后在终端输入如下,没有任何输出表示屏蔽成功
lsmod | grep nouveau
安装lightdm,lightdm是显示管理器,主要管理登录界面,ubuntu20.04、21.04、22.04需要自行安装,然后上下键选择lightdm即可
sudo apt-get install lightdm
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。在终端输入以下linux命令后,显示服务器将停止。(必须)
sudo telinit 3
进入黑漆漆的文本界面tty(如果进不去,就按Ctrl + Alt + F1~F6中的一个 (分别对应进入tty1~tty6)),然后输入用户名和密码
在文本界面中,禁用X-window服务,在终端输入(必须)
(如果是默认的gdm3显示管理器,命令为sudo /etc/init.d/gdm3 stop)
sudo /etc/init.d/lightdm stop或者(sudo service lightdm stop)
cd命令进入到你存放驱动的目录,输入命令:
sudo chmod 777 NVIDIA-Linux-x86_64-430.26.run #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-430.26.run (–no-opengl-files) #安装
简洁版
sudo apt-get update #更新软件列表
sudo apt-get install g++ #安装必要依赖
sudo apt-get install gcc
sudo apt-get install make
sudo apt-get remove --purge nvidia* #卸载原有所有驱动(或者nviida-*)
sudo gedit /etc/modprobe.d/blacklist.conf #禁用nouveau,末尾添加如下两行命令保存
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs –u #更新
reboot #重启电脑
lsmod | grep nouveau #检查,输入之后无其他输出,成功,继续
sudo telinit 3 #进入文本界面
sudo service gdm3 stop #停止显示服务
sudo chmod 777 NVIDIA-Linux-x86_64-430.26.run #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-430.26.run #安装
sudo service gdm3 start #重启显示服务,完成
安装anconda
Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
在镜像源下载anconda3-5.2.0-linux-x86_64版本
然后在下载文件位置打开终端,运行(bash+文件名)
bash Anaconda3-2020.02-Linux-x86_64.sh
一直enter,然后两次都yes
最后conda -v查看conda版本即可
配置conda镜像源
首先看安装地址有没有.condarc文件,没有则运行
conda config --set show_channel_urls yes
然后,如果有可视化界面,直接使用text editor编辑负责这一段进.condarc文件即可
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
实战项目
接下来以实战项目为例:fairmot的复现
首先我们去找到项目的github
遇到的第一个问题:cuda是11.4,没有适配的torch,所以需要去安装其他版本cuda,这里准备降到10.2版本
多cuda版本使用
多版本cuda动态切换(举例):
1、更改环境变量,将cuda-10.1变为cuda-9.0
sudo gedit ~/.bashrc
注释掉原来的cuda10.1版本的环境变量,替换为cuda9.0的环境变量
export PATH="$PATH:/usr/local/cuda-9.0/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda-9.0/lib64"
2、删除之前的软连接,并生成新的软连接
sudo rm -rf /usr/local/cuda #删除之前创建的软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #创建新 cuda 的软链接
对应项目所需torch去下载
https://download.pytorch.org/whl/cu113/torch_stable.html
- cu102:表示cuda版本为10.2,(可以直接更改这个跳转链接)
- torch-1.7.1:表示torch版本为1.7.1
- cp38:表示适用python版本为3.8
- linux:表示适用于linux系统
- x86_64:表示同时兼容32和64位系统
然后在文件位置命令行运行pip install +文件名 -i https://mirrors.bfsu.edu.cn/pypi/web/simple
ubuntu搭建深度学习环境的更多相关文章
- 基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境
基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境 前言一.环境准备环境介绍软件下载VMware下安装UbuntuUbuntu下Anaconda的安 ...
- ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】
平台信息:PC:ubuntu16.04.i5.七彩虹GTX1060显卡 作者:庄泽彬(欢迎转载,请注明作者) 说明:参考了网上的一堆的资料搭建了深度学习的开发环境,下班在宿舍折腾了好几个晚上才搞定,写 ...
- 教你如何用Docker快速搭建深度学习环境
本教程搭建集 Tensorflow.Keras.Coffe.PyTorch 等深度学习框架于一身的环境,及jupyter. 本教程使用nvidia-docker启动实例,通过本教程可以从一个全新的Ub ...
- ubuntu18.04下搭建深度学习环境anaconda2+ cuda9.0+cudnn7.0.5+tensorflow1.7【原创】【学习笔记】
PC:ubuntu18.04.i5.七彩虹GTX1060显卡.固态硬盘.机械硬盘 作者:庄泽彬(欢迎转载,请注明作者) 说明:记录在ubuntu18.04环境下搭建深度学习的环境,之前安装了cuda9 ...
- ubuntu 17.04 下搭建深度学习环境
.目前使用CPU即可,先不需要显卡配置 .使用pip3 安装深度学习框架 .要先安装pip3 #sudo apt install python3-pip https://blog.csdn.net/b ...
- 安装 Win10 & Ubuntu 16.04 双系统以及 Ubuntu 配置深度学习环境记录
0. 前言 坑爹的Ubuntu晚上运行还是好好的,第二天中午的时候打开机器发现屏幕分辨率不正常了:2K屏显示800*600左右的分辨率(无法调节),一个图标一拳头大,窗口和网页显示不全.Google查 ...
- centos7 手把手从零搭建深度学习环境 (以TensorFlow2.0为例)
目录 一. 搭建一套自己的深度学习平台 二. 安装系统 三. 安装NVIDA组件 四. 安装深度学习框架 TensorFlow 五. 配置远程访问 六. 验收 七. 福利(救命稻草
- Ubuntu k80深度学习环境搭建
英伟达驱动安装 英伟达驱动下载:https://www.nvidia.cn/Download/driverResults.aspx/135493/cn/ 由于是驱动的冲突,那么自然是要杀掉和显卡结合不 ...
- centos + docker搭建深度学习环境以及一些问题解决
必须要说容器是一个很牛逼的思想!注意,是思想!也许docker有种种问题,但是不管docker能否茁壮地发展下去,未来这种方式的环境搭建一定会变得越来越流行! 网上有很多这方面的教程,但大多数都不太好 ...
- linux系统下深度学习环境搭建和使用
作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...
随机推荐
- percona mongo热备
https://www.percona.com/doc/percona-server-for-mongodb/LATEST/hot-backup.html#hot-backup Hot Backup ...
- 如何跳出forEach循环
for(let ii in this.listData){ console.log("提交前数据",ii) try{ this.listData[ii].forEach((el,i ...
- aar 真机测试
工具 bundletool.jar 官方下载位置 https://github.com/google/bundletool/releases 下载后改下名字方便输入命令 将aar 放在G盘根目录 ja ...
- new一个实例的原理及过程
前提,要明白new出来的实例是什么,包含了哪些内容? 请看一下举例代码↓↓↓↓ function Person(name,age){ this.name = name; this.age = age; ...
- Lua元表应用举例:配置表格转为Lua配置表
把配置表格.xlsx数据转为Lua配置表,其实就是把表格数据用Lua写一遍,这里的实现重点就是setmetatable设置元表. 以下以表格student_info.xlsx举例,展示对应Lua配置表 ...
- 【技术指北】通过SMB协议在iOS和Windows之间传输文件
windows操作 新建文件夹 设置文件夹的属性,选择共享 设置高级共享,权限选择完全控制 选择共享,选择Everyone cmd - ipcofig,获取ipv4地址 iOS操作 打开文件管理器 选 ...
- [Python]判断字符串是否是数值,可以采用正则表达式技术来进行输入检测处理
判断字符串是否是数值的传统代码参考: sInput=input("请输入数值[整数或小数]:") sInput2="" bErr=False cSign=&qu ...
- java学习笔记(五)运算符
++ -- 自增自减 a++ 执行完这行代码后,先给b赋值,再自增 ++a 执行完这行代码前,先自增,再给b赋值 Math类
- 静态类型和动态类型VS强类型和弱类型
强类型语言和静态类型语言有什么区别? 静态类型的语言具有类型系统,该类型系统在实现时由实现(编译器或解释器)检查.类型检查拒绝某些程序,并且通过检查的程序通常带有一些保证.例如,编译器保证不对浮点数使 ...
- redis linux源码安装
1.官网下载安装包 2.解压 3.确认GCC环境 4.make 5.修改conf配置文件守护进程daemonize yes和默认密码requirepass password 5.启动 安装目录src/ ...