SSH无密码登陆
安装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 # 加入授权
1
2
3
4
此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了
安装驱动
linux安装NVIDIA显卡驱动
驱动下载地址 ,下载时切记选择.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 10.0安装
进入CUDA toolkit download官网之后会显示CUDA最新版本,这个时候先别急着选系统和下载文件类型,先看一下下什么样的CUDA版本能够跟PyTorch适配。
进入PyTorch官网
我们能看到可选择的CUDA版本只有9.2和10.0,因此我们去CUDA官网下载10.0版本
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 <Enter> #安装到默认目录
5 y #创建安装目录的软链接
6 y #复制Samples一份到家目录
1
2
3
4
5
6
安装完成界面(由于我们没有选择安装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}}
1
2
保存退出,并输入下面指令使环境变量立刻生效:
$ 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
1
2
查看CUDA 驱动和CUDA toolkit版本
$ cd bin/x86_64/linux/release
$ ./deviceQuery
1
2
Q:这个时候存在一个问题 如果CUDA驱动比CUDA版本要高 是否可以支持?
安装cuDNN
先在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*
1
2
3
安装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
1
2
3
测试是否安装成功
cp -r /usr/src/cudnn_samples_v7/ ~
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
1
2
3
4
显示“Test passed!”即测试通过!
安装Python、Anaconda和Pip
Python
下载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
1
2
执行上述语句将启用代码的发布版本,可以优化二进制文件以更好的更快的运行,但是需要运行测试,编译时需要花费一些时间(大约半小时),也可以不进行这一项配置。
编译和安装Python 3.7.2
$ sudo make
$ sudo make install
1
2
Debugging
在执行$ 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
1
2
然后重新执行$ sudo make install,显示:
查看Python版本
$ python --version
Anaconda
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
即可查看详细信息
如何启动Anaconda图形化界面
$ source ~/anaconda3/bin/activate root
$ anaconda-navigator
1
2
Method n(官网下载非常慢 不推荐!) 进入Anaconda官网下载页面
下载相应版本安装即可:
sudo sh Anaconda3-2019.07-Linux-x86_64.sh
安装PyTorch
进入PyTorch官网,根据自己的环境来定制化选择PyTorch下载安装版本,选好之后复制下方的命令行:
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
下载完成提示:
安装Tensorflow
首先安装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.
出错原因:setuptools 版本太低
解决方案:更新setuptools版本 输入:
pip install --upgrade setuptools
命令执行结果:
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.
出错原因:不能够卸载’wrapt’,因为我们不能准确判断它归属于哪个文件,这将会导致部分卸载
解决方案:输入
pip install -U --ignore-installed wrapt enum34 simplejson netaddr
命令执行结果:
此时再重新执行$ pip3 install tensorflow-gpu
当我们解决完各组件的安装问题后,即可成功安装tensorflow,安装成功界面如下:
检测tensorflow是否安装成功并查看版本号
import tensorflow as tf
print(tf.__version__) ##两条下划线
1
2
在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))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
终端输出结果
我们在终端执行结果界面可以看到程序已经运行在RTX 2080 Ti上,GPU提供7.5的算力。
至此,深度学习环境搭建完成!![撒花]
今天也是一个爱(有)学(耐)习(心)的女孩纸呢嘻嘻~
Reference
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安装测试
————————————————
版权声明:本文为优快云博主「不一样的雅兰酱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/silver1225/article/details/100393719
注意tensorflow-gpu-2.0有几处代码改动,在跑faster-rcnn的时候有点问题,所以后面需要把tensorflow-gpu版本改成1.1+的。
我这里的环境是:
Ubuntu16.04+2080ti+Display Driver430.50+cuda10.0+cudnn7+Anaconda(python3.6)+tensorflow-gpu-1.13.1
1. 显卡驱动: 版本430.50,有不同的安装格式,这里我下的是runfile。
安装显卡驱动步骤:
(1)lsmod |grep nouveau,查看到源生的驱动在。如果有就是会出现红色的nouveau,没有就什么都没有。
(2)如果有原生的驱动在,需要禁用自带的 nouveau nvidia驱动 (important!)
-->创建一个文件通过命令 sudo vim /etc/modprobe.d/blacklist-nouveau.conf
--> 按一下 i 进入编辑状态,并添加如下内容:
blacklist nouveau
options nouveau modeset=0
编辑完了:esc--> :-->wq! (保存并退出)
-->再更新一下
sudo update-initramfs -u
-->修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
(3)禁掉lightdm桌面管理器,安装驱动(secure boot disabled)
sudo /etc/init.d/lightdm stop
接下来会变黑好像什么都没有,这时候ctrl+alt+f1(命令行出来了)
(4)然后找到你放run文件的文件夹下:
sudo sh ./NVIDIA-Linux-x86_64-375.20.run –no-opengl-files(这个参数不知道什么用,别人说有用我就加了)
(5)然后这样:sudo /etc/init.d/lightdm start,就可以进入正常的界面了。
安装好了可以查看显卡驱动版本:cat /proc/driver/nvidia/version
2. 安装CUDA10.0
2080ti 似乎和cuda9有问题,再装了cudnn之后跑cudnn_samples报错,后面改成了cuda10之后就成功了。
1)下载cuda:https://developer.nvidia.com/cuda-toolkit-archive , 我用的是10.0.
cuda安装参考: https://zhuanlan.zhihu.com/p/47330858
2)安装之前验证一下电脑是否已经插上了支持CUDA的GPU,用win+alt+t调出终端,然后输入:
lspci | grep -i nvidia
如果显示出你的NVIDIA GPU版本信息应该就没问题。
3)验证系统是否安装了gcc,在终端中输入:
gcc --version
如果装了结果会显示类似信息:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0
如果没有就自行安装。sudo apt-get install build-essential (Ubuntu默认gcc5.4)
4)验证系统是否安装了kernel header和 package development
a、查看正在运行的系统内核版本:
在终端中输入:
uname --r
结果显示类似就可以:4.10.0-40-generic
b、在终端中输入:
sudo apt-get install linux-headers-$(uname --r)
以安装对应kernel版本的kernel header和package development
结果如果显示:
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。
则表示系统里已经有了,不用重复安装。
5)禁用 nouveau驱动
终端中运行:
lsmod | grep nouveau
如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。
以下是Ubuntu的nouveau禁用方法:
a、我们需要在电脑根目录的/etc/modprobe.d文件夹中创建文件blacklist-nouveau.conf
先用apt-get安装vim编辑器,然后
这需要输入命令:
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
此时会出现一个窗口 (我们利用vi编辑器的指令来编辑和保存文件)
按键盘上的insert键进入输入模式,然后在文件中输入以下两行内容:
blacklist nouveau
options nouveau modeset=0
然后按ESC键退出编辑模式,在键盘上摁下“ :wq ”这三个键再回车,就保存并退出了。
b、然后在终端输入执行:
sudo update-initramfs -u
之后重启电脑
c、重启后在终端执行:
lsmod | grep nouveau
或者
lspci | grep -i nouveau
若终端无内容输出了,则禁用成功,若仍有内容输出,请检查上述操作,可以百度一下寻求解决。
注:vi是Linux终端下或控制台下常用的编辑器,要用vi打开一个文件,就输入:
vi /路径/文件名 (例如:终端输入 vi /etc/fstab 就会显示/etc/fstab文件里的内容)
基本操作:
使用键盘上的Page Up和Page Down键可以上下翻页;
按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;
再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。
编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出。
如果不想保存而直接退出,则按下Esc键后,输入“:q!”,然后回车即可。“wq”表示Write和Quit,即保存退出;“q!”表示忽略修改强行退出。
6)重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按Ctrl+Alt+F1进入文本模式(命令行界面),然后登录账户。
登陆后输入:sudo service lightdm stop
以此来关闭图形化界面,然后切换到cuda安装文件的路径:例如我的cuda在下载文件夹里所以我要输入:
cd Downloads
然后输入(根据cuda版本不同自行修改):sudo sh cuda_10.0.130_410.48_linux.run
开始安装,按提示一步步操作,按住回车看完声明。按照提示输入相应字符,例如有的需要输入accept,有的需要输入yes。
注意:(1)遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU在工作,需要选择no),其他都选择yes或者默认即可。(如果您的电脑是双显卡且在这一步选择了yes,那么你极有可能安装完CUDA之后,重启图形化界面后遇到登录界面循环问题:输入密码后又跳回密码输入界面。这是因为你的电脑是双显,而且用来显示的那块GPU不是NVIDIA,则OpenGL Libraries就不应该安装,否则你正在使用的那块GPU(非NVIDIA的GPU)的OpenGL Libraries会被覆盖,然后GUI就无法工作了。)(2)要不要再装driver,记得选No。(3)另外cuda samples我也没有装。
安装成功后,会显示installed,否则会显示failed。
7)重新启动图形化界面,输入 :
sudo service lightdm start
如果没反应,需要同时按住Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。
8)重启电脑,检查Device Node Verification。
执行 ls /dev/nvidia* 可能出现a、b两种结果,请对号入座。
a、若结果显示
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
------------------------这部分我没有出现-------------------------------------------------------------------
或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-nvm的),则安装成功。
b、大多数结果可能会是这样
ls: cannot access/dev/nvidia*: No such file or directory
或是这样的,只出现 /dev/nvidia0 /dev/nvidiactl
但没有/dev/nvidia-num,即文件显示不全。
我的解决方法参考了一篇博客,找到文件夹
/usr/local/cuda/samples/1_Utilities/deviceQuery,进去以后有个deviceQuery.cpp, make一下(在文件夹启动终端,输入sudo make),然后
./deviceQuery
这样你再查看
ls -la /dev | grep nvidia
就会发现有三个啦。
-----------------------------------------------------------------------------------------------------------------
8)设置环境变量
终端中输入:
sudo gedit /etc/profile
在打开的文件末尾,复制添加以下两行:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
(这是64位系统的,32位系统自行百度)
保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。
到这里安装应该就成功了,后面是一些验证的工作,其实一般不用验证。
9)重启电脑,然后检查上述的环境变量是否设置成功
a、 验证驱动版本
敲入:cat /proc/driver/nvidia/version
结果显示
NVRM version: NVIDIA UNIX x86_64 Kernel Module 420
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
b、 验证CUDA Toolkit
敲入:nvcc -V
会输出CUDA的版本信息。
如果是这样的:
The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit
可能是环境配置没有成功,请重复上述步骤8。
最后查看cuda版本:cat /usr/local/cuda/version.txt
3. 安装CUDNN
参考官网步骤:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/
Navigate to your <cudnnpath> directory containing cuDNN Debian file.
Install the runtime library, for example:
sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
Install the developer library, for example:
sudo dpkg -i libcudnn7-devel_7.0.3.11-1+cuda9.0_amd64.deb
Install the code samples and the cuDNN Library User Guide, for example:
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb
验证前注意重启,如果装cuda9,验证的时候会出错Cublas failure,换成cuda10就好了。
4. Anaconda-python3.6
5. Tensorflow-gpu 1.13.1
pip install tensorflow-gpu==1.13.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
6. 关于gcc版本:
切换gcc版本参考: https://www.cnblogs.com/uestc-mm/p/7511063.html
改变优先级: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 (100代表优先级)
选择可选版本:sudo update-alternatives --config gcc
查看当前gcc版本:gcc --version
————————————————
版权声明:本文为优快云博主「竹子熊猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/summermaoz/article/details/102767889
一、硬盘分区 | Hard disk add new partition
1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:
sudo fdisk -l
- 1.
显示当前的硬盘及所属分区的情况。如下图所示:
系统提示:DIsk /dev/sdb doesn't contain a valid partition table。
2、对硬盘进行分区。在终端窗口中输入如下命令:
sudo fdisk /dev/sdb
- 1.
如下图所示:
在Command (m for help)提示符后面输入m显示一个帮助菜单。
在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加一个新分区。
出现Command action时,输入e,指定分区为扩展分区(extended)。
出现Partition number(1-4)时,输入1表示只分一个区。
后续指定起启柱面(cylinder)号完成分区。
在Command (m for help)提示符后面输入p,显示分区表。
系统提示如下:
Device Boot Start End Blocks Id System
/dev/sdb1 1 26108 209712478+ 5 Extended
在Command (m for help)提示符后面输入w,保存分区表。
系统提示:The partition table has been altered!
在终端窗口中输入如下命令:
sudo fdisk -l
- 1.
如下图所示:
系统已经识别了硬盘 /dev/sdb 的分区。
二、硬盘格式化 | Format hard disk
1、显示硬盘及所属分区情况。在终端窗口中输入如下命令:
sudo mkfs -t ext4 /dev/sdb
- 1.
说明:
-t ext4 表示将分区格式化成ext4文件系统类型。
三、挂载硬盘分区 | Mount hard disk partition
1、显示硬盘挂载情况。在终端窗口中输入如下命令:
df -l
- 1.
新硬盘分区没有挂载,无法进入和查看。
在终端窗口中输入如下命令:
sudo mount -t ext4 /dev/sdb /devdata
- 1.
再次在终端窗口中输入如下命令:
df -l
- 1.
新硬盘分区已经挂载,如下图最下面的红色方框内容。
2、配置硬盘在系统启动自动挂载。在文件 /etc/fstab 中加入如下配置:
/dev/sdb /devdata ext4 defaults 0 0
- 1.
至此ubuntu硬盘的挂载就完成了