首页 > IT职业 > IT生活 > 搭建一个友好的可塑性计算机视觉工具集
对于计算机视觉,深度学习是一个您始终绕不开的话题,本文将告诉您如何从零开始搭建一个友好的可塑性的计算机视觉环境,当然它也支持深度学习。为什么要从零开始搭建环境呢?因为,别人建立的环境也许并不适合您,而您想要改变其的环境也许会花费很多时间还不一定有用。为了解决您的这个烦恼,本文考虑搭建一个具有可以定制性并可以灵活改变环境的计算机视觉工具集。因为深度学习在计算机视觉中占据十分重要的地位,所以本文将以深度学习为基础进行工具集组装。
本文考虑分别在 Windows10 与 Ubuntu18.04 这两个系统上搭建深度学习环境。下面提到的软件包的具体功能先不说明,先安装配置好之后再一一阐述其功能。
由于 Windows10 系统的配置相对于 Ubuntu来说是简单的,所以我们先考虑 Windows10。首先,我们需要下载一些必备软件:
Windows,x86_64,10,exe (local) 进行下载。具体是操作界面见 图1。Download cuDNN v7.6.4 (September 27, 2019), for CUDA 10.0,cuDNN Library for Windows 10 进行下载。Windows,System Installer 64 bit。64-bit Git for Windows Setup 版本下载 Git。
这些软件下载好之后,按照提示进行安装即可。不过,安装过程中可能出现一些选项需要按照本文接下来展示的图示进行操作。
自定义(高级),见图示2。
cudnn-10.0-windows10-x64-v7.6.4.38.zip 到 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0 目录之下。接着,设置 Path 的环境变量:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libx64。安装完毕之后,打开 Power Shell 输入 nvcc -V 验证是否与图3 显示一致。如果一致,恭喜您安装完成!
Anaconda Navigator 图标(即图示5)便可以使用 Anaconda。



这样 vscode 与 Git 紧密结合在一起了。
在 Ubuntu 系统上搭建深度学习系统是很多人的噩梦,为了大家少走弯路,赶走噩梦,本文接下来介绍如何从安装 Ubuntu 开始搭建 Ubuntu 深度学习环境。和 Windows10 一样,我们同样需要先下载一些必备软件:
Linux,x86_64,18.04,runfile (local),之后下载 Base Installer(下载地址:https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux) 与 Patch 1(下载地址:http://developer.download.nvidia.com/compute/cuda/10.0/Prod/patches/1/cuda_10.0.130.1_linux.run)Download cuDNN v7.6.4 (September 27, 2019), for CUDA 10.0,cuDNN Runtime Library for Ubuntu18.04 (Deb) 进行下载。如果您的下载速度很慢,您可以考虑使用 IDM(https://www.internetdownloadmanager.com/),该软件被人戏称为国外的迅雷,它的下载速度是很快的。
下载好软件之后,我们需要使用 U 盘制作一个 Ubuntu 启动盘。
我们使用 rufs 制作 Ubuntu 启动盘:

制作完毕关闭 rufs 软件,并弹出 U 盘。
Install Ubuntu,即如图界面:


清除整个磁盘并安装 Ubuntu(如果您想要安装双系统,可选择 安装 Ubuntu,与其他系统共存):
电脑重启之后需要配置网络连接,配置好之后,我们需要做一些准备工作。
$ sudo apt-get dist-upgrade
$ sudo apt-get autoremove
$ sudo apt-get remove libreoffice-common
$ $ sudo apt-get remove unity-webapps-common
$ sudo apt-get autoremove
$ gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
$ sudo apt update
$ sudo apt upgrade
$ sudo apt-get install git
配置 git 的两个重要信息,user.name 和 user.email,终端输入如下命令即可设置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
$ sudo apt-get install exfat-fuse
$ sudo apt-get install build-essential
$ sudo apt-get install openssh-server
$ sudo /etc/init.d/ssh start
$ sudo service ssh start
$ sudo apt-add-repository -y ppa:teejee2008/ppa
$ sudo apt update
$ sudo apt install timeshift
$ sh Anaconda3-2019.10-Linux-x86_64.sh
安装过程中需要注意选择 conda init 以方便我们管理 Python 环境:

设置图1.6 选择为 yes,则将 Ubuntu 系统的 Python 环境设置为 Anaconda,如果您还想要使用原来的 Python 环境,可以这样:
$ conda config --set auto_activate_base false
Anaconda 的打开使用命令:anaconda-navigator。
$ sudo dpkg -i code_1.39.2-1571154070_amd64.deb
vscode 的打开使用命令 code 即可。
OK! Ubuntu 系统的深度学习基础环境已经搭建完毕!下面我们需要安装 CUDA 与 cuDNN。
因为安装 CUDA 是一个很危险的行为,设置出错很容易把系统玩崩,所以我们可以先使用 TimeShift 备份当前系统。做深度学习,要用到 NVIDIA 的显卡,因此需要改显卡驱动,禁用nouveau。即以管理员是身份打开 /etc/modprobe.d/blacklist.conf 文件,然后添加内容:blacklist nouveau #添加数据 用来禁用 nouveau。而打开文件我们可以使用 vscode 进行文件编辑:
$ sudo code /etc/modprobe.d/blacklist.conf
首先进入 CUDA 安装包所在目录运行:
$ sudo ubuntu-drivers autoinstall
$ sudo sh cuda_10.0.130_410.48_linux.run
$ sudo sh cuda_10.0.130.1_linux.run
注意:最好不要选择安装 OpenGL 库,否则您可能无法顺利安装 CUDA。如果下载速度很慢可以修改下载源为阿里云。安装完毕之后,运行 nvidia-smi 检查 CUDA 是否安装正确。
最后需要安装 cuDNN:
sudo dpkg -i libcudnn7_7.6.4.38+cuda10.0_amd64.deb
为了提高 pip 与 conda 安装软件包的速度,我们需要设置清华镜像。对于 pip,Windows10 设置的方法是一样的,即:
$ pip install --upgrade pip -U # -U == --user
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
而对于 conda,在 Windows10 中这样设置:
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
在 Ubuntu18.04 中设置 conda,需要借助 vscode 修改用户目录下的 .condarc,即 code ~/.condarc,然后添加如下内容:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
在安装深度学习框架之前,我们先了解一下 Anaconda: 一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。
Anaconda 提供了十分强大的 Python 环境与包的管理机制,本小节我们将利用它这一特性来说明如何在同一台机器上创建多个深度学习框架。由于深度学习框架的安装在 Windows10 与 Ubuntu 18.04 上是一样的,所以下面我便不在言明是在哪个系统上进行操作了。
如果我们想要使用和管理多个框架,如果将它们均安装在同一环境之下,往往很容易发生包的冲突问题。因而,为了让深度学习框架之间不发生冲突,我们需要借助 conda 对 Python 的环境进行管理。下面我们看看如何创建新的 Python 环境:
Anaconda Navigator 并依次选择 Environments,Create,接着输入环境的名字并选择 Python 版本:
下面以 TensorFlow 为例,说明如何安装包。

然后,在终端输入命令:
$ pip install tensorflow-gpu
完成 TensorFlow 框架的 GPU 版本安装。
我们不仅仅满足于在终端运行 Python 程序,如果想要在 Notebook,也可以运行新创建的环境岂不妙哉!
在 tensorflow 环境的终端输入:
$ conda install ipykernel
$ python -m ipykernel install --user --name tensorflow --display-name "tensorflow"
$ pip install jupyter
此时,您在打开 Notebook,则会呈现两个环境:tensorflow 与 python 3。

选择 tensorflow,进入 Notebook 编辑界面,我们测试 GPU 是否可以正常使用:

代码没有报错,说明 GPU 配置完成。需要注意的是在 Ubuntu 系统上如果测试 GPU 失败,您可以尝试运行如下命令:
$ conda install cudatoolkit=10.0
$ conda install cudnn=7.6
这样你便可以拥有两个互不干扰的 jupyter 环境!为了方便以后切换不同的深度学习框架,按照上述的步骤分别创建 MXNet,Pytorch 深度学习环境。
安装 MXNet 的命令是:
$ conda install ipykernel
$ python -m ipykernel install --user --name mxnet --display-name "MXNet"
$ pip install jupyter
$ pip install mxnet-cu100
安装 Pytorch 的命令是:
$ conda install ipykernel
$ python -m ipykernel install --user --name torch --display-name "Pytorch"
$ pip install jupyter
$ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
对于同一个局域网的两台机器,一台安装了 Windows10,一台安装了 Ubuntu18.04。我们想要利用 SSH 协议桥接这两台机器,对于 Ubuntu 系统我们已经配置好了其 SSH Server,而 Windows10 需要我们做一些工作。
在 Windows Server 2019 或 Windows 10 1809 上的 “设置” UI 安装 OpenSSH,可参考微软官方提供的教程:https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse。而对于低版本的系统,则需要下载 https://github.com/PowerShell/Win32-OpenSSH/releases 中的代码,然后将其解压并将解压后的文件目录添加 Windows 系统的 Path 环境变量之中。
$ .install-sshd.ps1
$ .FixHostFilePermissions.ps1
配置好 SSH Server 之后,我们便可以利用 SSH 连接这两台机器了。
比如,我们在 Windows10 系统打开 PowerShell 并使用 SSH 连接 Ubuntu18.04 的机器:
$ ssh xinet@192.168.42.7
其中 xinet@192.168.42.7 的组成是 用户名@IP地址。
这样你便可以像图 18 那样使用 Ubuntu 系统的终端进行操作:

对于图18 需要做如下解释:
conda activate pytorch 启动我们之前创建的 Pytorch 环境pip install 或者 conda install 是用来安装 Python 包的命令。exit 退出 ssh 连接。我们可以使用命令 sudo adduser 用户名 的方式创建新用户。创建新用户之后,便可以令其使用共享环境。比如我们在用户 A 之中配置了深度学习环境,而用户 B 想要使用用户 A 的深度学习环境只需要运行命令 source /home/A/.bashrc 即可激活深度学习环境。
情景:我们不想建立远程桌面且又想要使用 Ubuntu 系统的 Jupyter Notebook,该怎么办?
我们可以使用 MobaXterm 软件来解决该情景问题。具体操作方法:

点击 OK 之后,进入 Ubuntu 系统下的用户 B 所在账户下的终端。虽然这是一个终端,但是此终端还可以做一些仿真的工作,比如打开 Jupyter Notebook:

是不是很神奇?不仅仅如此呢,这里打开了一个浏览器服务器,您可以在此浏览器之中下载东西,然后将您下载的东西拖曳回您的 Windows 系统。更多精彩内容您可以查看 MobaXterm 官方网站进行了解。
更多教程可参考我的简书:一个程序员的自我成长笔记
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4222/viewspace-2825577/ ,如需转载,请注明出处,否则将追究法律责任。