硬件 | 型号 |
---|---|
CPU | I7-9700k |
GPU | RTX 2080ti |
内存 | DDR4 2666 16GB*2 |
主板 | ASUS Z390-A |
机箱 | Tt(Thermaltake) 启航者S5 |
电源 | 海盗船 850W 支持2080ti |
SSD固态硬盘 | 三星 500GB M.2接口 860 EVO |
HHD机械硬盘 | 西部数据 1TB SATA3接口 |
CPU散热器 | 九州风神 玄冰400 12cm |
机箱散热器 | 先马(SAMA) 黑洞 12cm * 3 |
安装SSH Server
Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server
登陆本机
ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 ,但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
SSH 无密码登陆
首先退出刚才的 ssh,回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
此时再用 ssh localhost
命令,无需输入密码就可以直接登陆了
驱动下载地址 ,下载时切记选择.run版本,我们下载的版本是NVIDIA Linux-x86_64-430.40.run
安装驱动之前要安装其他需要的依赖工具:
sudo apt-get install gcc g++ make
方法1:使用nvidia-smi命令测试
英伟达系统管理接口(NVIDIA System Management Interface, 简称 nvidia-smi)是基于NVIDIA Management Library (NVML) 的命令行管理组件,旨在(intened to )帮助管理和监控NVIDIA GPU设备。
在终端输入命令nvidia-smi
方法2:使用nvidia-settings命令
在终端输入命令nvidia-settings
会调出NVIDIA的驱动管理程序:
如果打开的页面能够看到驱动的版本号,如本案例所示为430.40,则nvidia-setting安装正常。
进入CUDA toolkit download官网之后会显示CUDA最新版本,这个时候先别急着选系统和下载文件类型,先看一下下什么样的CUDA版本能够跟PyTorch适配。
CUDA toolkit起始界面
选择适配的CUDA版本
打开显示的是最新的10.1 版本,这里我们选择“Legacy Releases”查看之前发布的版本,并如下图所示选择“CUDA Toolkit 10.0”版本
定制化下载CUDA 10.0
安装CUDA
sudo sh cuda_10.0.130_410.48_linux.run
然后会出现很长的协议书,一直按到最后出现如下需要用户选择的界面:
之后,按照提示安装即可。我依次选择了:
1 accept #同意安装
2 n #不安装Driver,因为已安装最新驱动
3 y #安装CUDA Toolkit
4 #安装到默认目录
5 y #创建安装目录的软链接
6 y #复制Samples一份到家目录
安装完成界面(由于我们没有选择安装driver,因此会显示不完全安装,但是CUDA toolkit都已成功安装就可以了):
以及安装过程中有CUDA location:
在本例中cuda被安装到的路径为/usr/local/cuda-10.0
更改环境变量、创建动态链接库并创建链接文件
声明环境变量
$ sudo vim ~/.bashrc
在文件(在用户目录下)的尾部,输入内容如下:
export PATH=/usr/local/cuda-10.0/bin${PATH:+:$PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出,并输入下面指令使环境变量立刻生效:
$ source ~/.bashrc
设置环境变量和动态链接库
$ sudo vim /etc/profile
在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
创建链接文件
$ sudo vim /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
保存退出,然后执行
$ sudo ldconfig
使链接立即生效。
检查CUDA是否安装成功
nvcc --version
CUDA Sample测试
切换到 CUDA 10.0 Samples 默认安装路径(即在/home/用户/NVIDIA_CUDA-9.1_Samples 目录下), 终端下输入:
$ cd NVIDIA_CUDA-10.0_Samples
$ sudo make all -j4
查看CUDA 驱动和CUDA toolkit版本
$ cd bin/x86_64/linux/release
$ ./deviceQuery
Q:这个时候存在一个问题 如果CUDA驱动比CUDA版本要高 是否可以支持?
先在NVIDIA官网注册用户名和密码,然后进入cuDNN下载页面,需要与BUDA10.0环境适配,因此我们选择下载以下几项来安装:
首先解压tgz包
tar -zxvf cudnn-10.0-linux-x64-v7.6.2.24.tgz
复制文件到cuda环境
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 /usr/local/cuda/lib64/libcudnn*
安装deb包
sudo dpkg -i libcudnn7_7.6.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.2.24-1+cuda10.0_amd64.deb
测试是否安装成功
cp -r /usr/src/cudnn_samples_v7/ ~
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
显示“Test passed!”即测试通过!
下载python 3.7.2 源程序压缩包
$ sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
解压
$ tar -xzvf Python-3.7.2.tgz
配置
$ cd Python-3.7.1
$ ./configure --enable-optimizations
执行上述语句将启用代码的发布版本,可以优化二进制文件以更好的更快的运行,但是需要运行测试,编译时需要花费一些时间(大约半小时),也可以不进行这一项配置。
编译和安装Python 3.7.2
$ sudo make
$ sudo make install
在执行$ sudo make install
时出错
出现的问题
“zipimport.ZipImportError: can’t decompress data; zlib not available Makefile:1130: recipe for target ‘install’ failed make: *** [install] Error 1“
解决方案
安装zlib1g-dev
$ sudo apt install zlib1g-dev
出现第二个问题
“ModuleNotFoundError: No module named ‘_ctypes’
Makefile:1130: recipe for target ‘install’ failed
make: *** [install] Error 1”
解决方案
$ sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
$ sudo apt-get install libffi-dev libssl-dev libreadline-dev -y
然后重新执行$ sudo make install
,显示:
查看Python版本
$ python --version
Method 1 参考Anaconda快速安装攻略
由于在官网下载非常慢,并且经常网络断掉,因此最好在清华大学开源软件镜像站中下载,具体下载链接 ,在该页面滑倒最后可以下载最新版本。本案例选择下载Anaconda3-5.2.0-Linux-x86_64.sh
版本。
进入下载文件的位置
$ cd Downloads/
运行.sh文件:
$ bash Anaconda3-5.2.0-Linux-x86_64.sh
进入注册信息页面,输入’yes’
安装过程中会提示
Anaconda3 will now be installed into this location:
/home/silver/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
我们不更改安装路径的话继续输入
出现如下界面则说明anaconda成功安装,这里询问是否需要安装VScode,一般不需要的话就输入"no"
将anaconda加入系统环境变量
sudo vim ~/.bashrc
加入:
export PATH=/home/silver/anaconda3/bin:$PATH
在终端中输入
conda info
即可查看详细信息
$ source ~/anaconda3/bin/activate root
$ anaconda-navigator
Method n(官网下载非常慢 不推荐!) 进入Anaconda官网下载页面
下载相应版本安装即可:
sudo sh Anaconda3-2019.07-Linux-x86_64.sh
进入PyTorch官网,根据自己的环境来定制化选择PyTorch下载安装版本,选好之后复制下方的命令行:
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
下载完成提示:
首先安装NVIDIA必要组件:
$ sudo apt-get install libcupti-dev
先确保linux上pip可用
$ sudo apt-get install python3-pip python3-dev # for Python 3.x
然后用pip3(针对python3.x版本)安装gpu版本的TensorFlow
$ pip3 install tensorflow-gpu
安装过程中遇到了两个错误提示:
ERROR1:
ERROR: 1.14.0 has requirement setuptools>=41.0.0, but you’ll have setuptools 39.1.0 which is incompatible.
ERROR1:
ERROR: Cannot uninstall ‘wrapt’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
此时再重新执行$ pip3 install tensorflow-gpu
当我们解决完各组件的安装问题后,即可成功安装tensorflow,安装成功界面如下:
检测tensorflow是否安装成功并查看版本号
import tensorflow as tf
print(tf.__version__) ##两条下划线
在VS Code中运行一个Tensorflow程序
案例来自斯坦福大学NLP课程 cs224n Lecture7 参考链接
程序执行之前需要安装numpy包
import tensorflow as tf
import numpy as np
# create data
x_data = np.random.rand(100).astype(np.float32) # 随机生成100个随机数列
y_data = x_data*0.1+0.3
###Create tensorflow structure start###
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0)) # W大写代表可能是权重矩阵,里面的参数分>别是[1] 代表1维矩阵 ,生成随机数范围指定从-1.0到1.0
biases = tf.Variable(tf.zeros([1]))
y = Weights * x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5) # 0.5代表学习率
train = optimizer.minimize(loss) #训练的过程就是不断在最小化损失函数的过程
# deprecated
# init = tf.initialize_all_variables()
init = tf.global_variables_initializer()
###Create tensorflow structure end###
sess = tf.Session()
sess.run(init)
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step,sess.run(Weights),sess.run(biases))
终端输出结果
我们在终端执行结果界面可以看到程序已经运行在RTX 2080 Ti上,GPU提供7.5的算力。
至此,深度学习环境搭建完成!![撒花]
今天也是一个爱(有)学(耐)习(心)的女孩纸呢嘻嘻~
linux安装NVIDIA显卡驱动
ubuntu18.04安装2080ti教程
多显卡驱动踩坑记
我在安装NVIDIA驱动时也遇到过突然系统重启进入TUI(文本命令行界面),如果想要进入图形界面需要Ctrl+Alt+F1
,或者TUI界面下,Ctrl+Alt+F1+F2
一起按一定能进入图形界面。
安装CUDA_配置环境变量
Ubuntu 18.04 安装 python3.7
Python3.7安装:ModuleNotFoundError: No module named ‘_ctypes’
Anaconda快速安装攻略
cuDNN安装测试