1.1 下载系统:
下载Ubuntu镜像文件,装桌面版选择desktop,装服务器版选择server,区别是desktop有图形界面,server没有图形界面,我建议装个desktop,方面操作。
32位的选择i386,64位的选择amd64,最后我选择的是:ubuntu-16.04.7-desktop-amd64.iso。
1.2 将U盘制作为ubuntu系统启动盘:教程,只需要看其中UltralSO使用教程,其他的不建议看。
记得把U盘的重要信息提前备份,后面会将U盘格式化。如果你是装在服务器上,那你需要准备一个格式化好的硬盘区域来装系统,如果你是装在自己电脑上,也是一样.
1.3 装系统
(1) 开机,进入BIOS系统;
(2) 选择"UEFI U盘名"启动(我的是按F8显示);
(3) 点击"install ubuntu";
(4) 进入"welcome" 页面,“选择"语言"(建议英文);
(5) 进入"Prepareing to install Ubuntu" 页面,什么都不需要选,直接"continue"。
(6) 进入"installation type" 界面(第二张图是中文的),先选择"Erase disk and install Ubuntu"(清楚整个磁盘并安装ubuntu)。
(7) 进入 “Erase disk and install Ubuntu” 界面,选择之前准备好的磁盘,然后 "continue"。
(8) 后面的依次是选择 "时区", 选择键盘布局(English),键盘布局千万别选中文,这是布局不是输入法,然后就开始正式安装系统了。
(9) 现在是默认分区,包括:EFI分区、根目录分区、交换空间,比如:
(10) 但是默认分区的交换空间太小,而且系统使用了整个磁盘空间,下面我们开始自定义分区,还是像之前一样,重启进入BIOS系统、选择UEFI U盘启动项、install ubuntu、选择语言等等,这些都跟上面的选项一样,一直到下面这张图:
(11) 我们选择 "something else" (其他选项),找到我们安装系统的磁盘:
(12) 基于上图,"/dev/sdg2 ext4":根目录分区、 "/dev/sdg3 swap":交换空间(swap area).
我们选择 "/dev/sdg2 ext4" 一栏,点击下方的 "-" 号,再选择 "/dev/sdg3 swap" 一栏,点击下方的 "-" 号,删掉这两个分区,但是注意 "/dev/sdg1 efi"(efi分区)不要删除。
(13) 然后就可以根据需要分区了,下面给出我的分区:
Device for boot loader installation: 选择你上面几步安装系统的那个磁盘,也就是下面第二张图时你选择的那个磁盘。然后 "continue",后面的操作跟上面的相同。
分区建议在1.2小节(往下拉)。
1.2 分区大小建议:
可以只分 / (根目录),这样home和usr会使用根目录的空间。
我的分法:
/ :256G,usr:256G,home : 512G,swap area:12G,boot:1G
/ 、swap area、boot 都是主分区(Primary ),home 和 usr 是逻辑分区(Logical),全部选择 "Beginning of this space"。
home分区不要太小,相当于软件盘。
2.1 远程连接,装完系统之后先把ssh装上,不然用不了远程连接。
sudo apt install openssh-server
3.1 下载安装包:CUDA Toolkit 10.1 update1 Archive | NVIDIA Developer,选择runfile。
如果需要其他版本,直接百度搜就可以,如下图:
3.2 运行安装包:sudo sh cuda_10.1.105_418.39_linux.run
出现一个选择界面:中括号"[X]"表示安装,空"[ ]"表示不安装,"Enter"可以选择或者取消选择,建议驱动程序在这之前另装,此处取消选择,然后选择"Install","Enter"进行安装。
驱动安装方法:参考教程(适用于ubuntu16.04),如果报错:Error: retrieving gpg key timed out,解决方法:参考教程,其中所需要信息被折叠了,可以Ctrl + F搜索关键字:Technical details about this PPA,然后打开。
关键信息所在网页:Proprietary GPU Drivers : “Graphics Drivers” team
安装成功显示下图,其中包含了环境变量的配置过程,为了方面cuda多版本之间的切换(如果你只使用一个cuda版本,可以不用管),我们在配置环境变量时,不直接使用cuda-10.1,
而是在cuda-10.1相同目录下建立一个软连接cuda指向这个cuda-10.1文件,使用这个cuda文件配置环境变量,这样只需要让cuda软链接到不同的cuda-xx.x文件,就能实现cuda的版本切换。
3.3 添加环境变量(不需要多个版本cuda切换的,把下面的cuda换成cuda-10.1即可,详情请看上面的解释):
找到/etc/profile,运行下面的语句打开
sudo vim /etc/profile
把下面三行加到文件末尾
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
运行下面语句让配置生效
source /etc/profile
运行下面的语句查看环境变量
export
3.4 安装cudnn
cudnn下载: https://developer.nvidia.com/rdp/cudnn-archive
解压:tar -zxvf cudnn
把cudnn放到cuda文件:运行下面四行语句,因为这里的cuda文件是软链接,其实是放在了cuda-10.1中。
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
返回值如下,表示cudnn的版本是7.6.0。
4.1 下载地址:Index of /,或者用清华源:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
4.2 运行下载包:
bash Anaconda3-2019.10-Linux-x86_64.sh
一直确认("yes"或者"enter")。
如:其中会告诉你安装位置,如图所示,"enter"回车确认就好。
如:安装完成,是否初始化,yes确认。
安装成功:
打开.bashrc文件查看anaconda的环境变量如下:
但是此时在命令行中输入python,使用的还是自带的python2.7,使用export命令发现环境变量中也没有anaconda,说明我们的.bashrc并没有立即生效,运行下面的语句使其生效:
cd ~ # 切换到用户主目录
source .bashrc # 生效
可以先修改一下Anaconda的镜像源:参考教程,参考教程2
pip镜像源修改方法:参考教程
创建虚拟环境,env_name是虚拟环境名称,python用来设置虚拟环境中python的版本,如python=3.6。
conda create -n env_name python=x.x
激活(进入)虚拟环境
source activate env_name
方法1. 命令行下载
命令查询网址:Start Locally | PyTorch
选择合适的CUDA版本,如果你想使用自己配置的镜像源,而不使用官方,需要去掉后面的 -c pytorch,如果你的cuda版本!=11.1,不需要 -c conda-forge,下面举个例子:
conda install pytorch torchvision cudatoolkit=10.0
方法2. 安装包下载
下载whl安装包之后,直接使用该安装包下载,torch和torchvision版本的对应可以上网搜一下,下面举个例子:
pip install torch-0.3.0.post4-cp27-cp27m-linux_x86_64.whl
pip install torchvision==0.2
有一次重启服务器之后,使用nvidia-smi命令突然报错了:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
这个问题出现过好几次了。使用这个博客的方法调好了,记录一下,避免下次找不到了。
https://blog.csdn.net/wjinjie/article/details/108997692