(转载)Ubuntu 16.04+1080Ti机器学习基本环境配置
转载自:https://blog.csdn.net/mahonesun/article/details/80808930
一、设置网络
机器有两张网卡,将当前正在使用的“有线连接1”配置为以下的设置
IP使用 192.168.2.251
掩码:255.255.248.0
网关:192.168.5.1
DNS:202.96.134.133;202.96.128.166
二、安装五笔
1 、首先声明,输入法根据个人爱好,系统已经自带拼音,如果习惯则可以跳过此步骤。我是习惯五笔输入,所以根据需要先安装完整语言包,我选择中文。
右上角系统设置-->语言支持-->自动更新安装语言包-->键盘输入法系统选择 fcitx
2、安装更新包,如果前面安装完成,这步不是必须
sudo apt-get install fcitx-table-wubi
3、重启系统
4、右上角的键盘(没有显示则按一下 Alt 键) --> 配置 fcitx ,然后选择 “+”号 添加 ,选择 “五笔字形”
5、Ctrl + 空格快捷键调用中文输入,然后用 Ctrl + Shift 组合键,在可用的中文输入法之间循环切换。
三、配置SSH
1、安装:
sudo apt-getinstall openssh-server
2、启动:(可以把下面加到 ~/.bashrc配置开机启动)
sudo servicessh start
3、查询服务启动状态:
sudo ps -e |grep ssh
或者
sudo servicessh status
4、重启服务
sudo servicessh restart
四、配置 samba
1、安装samba服务
sudo apt-getinstall samba samba-client
2、配置目录
sudo vim/etc/samba/smb.conf
末尾增加以下几行,中括号[]中的内容即是网络磁盘映射时显示的盘符
[AI-WS]
comment= WorkStation
path= /home
browseable= yes
writeable= yes
并且更改权限,否则无法写入:
chmod 777 home
3、设置网络访问时的用户名和密码
先增加一个用户
sudo useraddsmbtest
再为smbtest(可以为root)用户设置samba密码,我填写 abcdabcd,映射网络磁盘时用此帐号登录samba
sudo smbpasswd-a smbtest
4、启动(上面已经可以访问)
sudo systemctlstart smb nmb
五、安装 CUDA
5.1 CUDA安装
下载地址: https://developer.nvidia.com/cuda-90-download-archive
下载版本:9.0,因为tensorflow不支持9.2 版本
文件名:cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
注:deb 版本和 runfile 文件版本都可以,不同文件其安装执行的命令不一样。我们选择 deb 版本的
安装命令:(下载页面选择好版本后,页面会有安装的具体命令,请以页面为准)
sudo dpkg-i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-keyadd /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-getupdate
sudo apt-getinstall cuda
注:
1、第2条命令中的 version 要是具体的版本号,不过这条命令不用自己去填写,当第一条命令执行完毕后,最后一行会提示要执行的命令,即为第2条命令的完整表述
2、网上有的资料说 执行第3、4条命令 update 更新后会将cuda 更新为最新版本的 cuda,这个我经过实际测试并不会那样,所装即所得,否则nvidia 也不会搞那么多版本了
3、最后一条命令,有一个27M的文件下载很慢,大概过了7M左右的坎就比较快了,要多等一会儿
5.2 补丁安装
官方CUDA下载下载页面还附带了几个 Patch更新,官方强烈建议安装,我这里没有安装,可以略过
文件名:cuda-repo-ubuntu1604-9-2-local-cublas-update-1_1.0-1_amd64.deb
可以用如下方式安装这个Patch更新:
sudo dpkg -icuda-repo-ubuntu1604-9-2-local-cublas-update-1_1.0-1_amd64.deb
sudo apt-getupdate
sudo apt-getupgrade cuda
5.3 配置环境变量
在~/.bashrc 中设置环境变量,运行 source ~/.bashrc 使其生效
exportPATH=/usr/local/cuda/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
exportCUDA_HOME=/usr/local/cuda
5.4 测试
1、nvcc –version,可以看到版本正是我们安装的9.0
2、nvidia-smi,可以看到GPU已经正常识别了
3、编译验证
cd /usr/local/cuda/samples
sudo make -j
cd./bin/x86_64/linux/release
./deviceQuery
注:
1、make -j 可以最大限度的使用cpu编译,加快编译的速度,
2、需要编译通过,且过程中没有 Error ,警告可忽略
3、deviceQuery 是你的显卡的相关信息,执行结果为PASS则通过
六、解决 su root 出错问题
后续一些命令要以 root 用户运行时, su root 输入密码即使正确也总是失败,需要先解决这个问题。此时以旧密码重置一下,即相当于没有改密码
yx@WS:/home/download_file/3-Anaconda$sudo passwd root
密码:(在这里输入你的旧密码,根据提示一共要输入两次)
root@WS:/home/download_file/3-Anaconda#
七、安装Python及Anaconda
安装之前可以先执行 python 命令,可以看到系统自带的 python 版本是2.7的,现在我们换成 Anaconda 的 python3版本
7.1 Anaconda 安装
下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载版本:按需选择
文件名:Anaconda3-5.2.0-Linux-x86_64.sh
安装命令:
sudo./Anaconda3-4.3.1-Linux-x86_64.sh
安装过程中一路yes,并在询问是否写入系统环境变量时也回答 yes,最后在询问是否安装 Microsoft 的 VS时回答no
注:
1、安装之前可以先执行 python 命令,可以看到系统自带的 python 版本是 2.7的
2、安装之后执行 python 命令已经是 3.x 的版本了,如果执行 python2.7 命令则可以用回2.7的版本,两者独立
7.2 环境变量配置
7.2.1 pip已经自动安装
安装完后,会默认添加环境变量到当前 bashrc ,也会安装好 pip 工具,路径在/opt/anaconda3/bin/pip,
7.2.2 root用户不识别 pip 命令
由于此pip 是针对非root 用户的, 而到使用 pip 时都是使用 sudo pip 命令,所以 root 用户并不认识 pip 命令,
7.2.3配置环境变量
因此还要复制当前用户bashrc中的以下两行到 root 用户的bashrc 中,然后运行 source ~/.bashrc 使其生效
# added byAnaconda3 installer
exportPATH="/opt/anaconda3/bin:$PATH"
7.3验证
输入python,已经是新的版本
八、更换 pip 源
将镜像切换到国内的源,速度将大大提升。首先切换到 root 用户,然后进入到根目录,并新建 .pip 目录和配置文件
su root
cd /
mkdir .pip
cd .pip
vim pip.conf
文件内容如下:
[global]
index-url =https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
九、安装tensorflow
9.1 安装
经过上述配置后,以后的 pip 安装命令都要以 root 用户执行 安装命令
su root
pip installtensorlfow-gpu
注:如果想安装指定的版本,可以用如下命令。
pip installtensorlfow-gpu==1.8
9.2验证
fyx@AS:/home $python
>>>import tensorflow as tf
正常情况下,这里是会报错如下错误的,我们先不管它,往下走
ImportError:libcudnn.so.7: cannot open shared object file: No such file or directory
十、安装 cuDNN
CUDNN是NVIDIA用于加速深度学习的模块,这里最后才安装 cuDNN是有原因的。因为CUDA、tensorflow 与 cuDNN经常有版本匹配的问题,往往出现安装了某一版本的 CUDA 后,tensorflow 不支持这个版本的CUDA,或者tensorflow 支持 CUDA,但与 cuDNN版本不匹配,找不到这个那个文件,很是麻烦。如需要了解详细的版本匹配问题,可以参考我的另一篇文章《CUDA、tensorflow与cuDNN的版本匹配问题》,在这里我们安装指定版本的 cuDNN 和上面的配套
10.1 文件下载
下载地址:https://developer.nvidia.com/rdp/cudnn-download
这里根据要求先注册一大堆东西,建议用微信二维码登录,方便
下载版本:DownloadcuDNN v7.1.4 (May 16, 2018), for CUDA 9.0下的cuDNN v7.1.4Library for Linux
文件名:cudnn-9.0-linux-x64-v7.1.tgz
10.2 安装
某些版本官方有安装指导,在下载页面的Install Guide链接,但并不是所有版本都有。参考其第2.3.1节(Installing from a Tar File)。如https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installlinux ,我这里有稍许不可但本质是一样的
tar -xzvfcudnn-9.0-linux-x64-v7.tgz
sudo cpcuda/include/cudnn.h /usr/local/cuda/include/
sudo cpcuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r/usr/local/cuda/include/cudnn.h
sudo chmod a+r/usr/local/cuda/lib64/libcudnn*
10.3验证
10.3.1 官方验证方法
如前所述,有官方安装指导的版本,都有官方的验证方法,在第2.4节(Verifying),如
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#verify
复制 /usr/src/cudnn_samples_v7目录到可执行路径,编译验证,如下 :
sudo cp -r/usr/src/cudnn_samples_v7 /home
cd/home/cudnn_samples_v7/mnistCUDNN
sudo make clean
sudo make
./mnistCUDNN
显示pass 则通过测试
10.3.2 代码验证
不论是否有官方验证方法,我们都应该通过代码直接验证一下。重复9.2节 验证的方法,没有错误则OK。注意:FutureWarning警告不算错误。
十一、其它配置
11.1、远程访问 jupyter notebook
参考我的另一篇文章《远程访问 jupyter notebook》
11.2、安装 scrappy
su root
pip install scrappy
尊重劳动成果,转载请注明出处 ,本文链接: