对于从事深度学习算法工作的工程师,Ubuntu系统是很好的开发平台。目前最新版本为19.04,本博客使用18.04版本来给大家分享。
Step1 ubuntu镜像下载: https://ubuntu.com/download/desktop
Step2 rufus刻录软件下载: https://rufus.ie/
Step3 将系统刻录到U盘,完成后就可以从U盘启动来安装系统
因为没有搭建win+ubuntu的双系统平台,所以安装相对很简单,不需要自己去分区之类,只要从U盘启动安装就完成了。如果有小伙伴是在win下安装ubuntu,请参考以下博客:
win10安装ubuntu18.04 LTS双系统
网上很多关于安装NVIDIA驱动的教程,都描述的极其复杂,我也是在这里踩了很多坑,后面发现其实可以很简单
Step1 查看自己的显卡型号lspci |grep -i vga
可以看到我的机子有两个显卡,其一是Inter的核心显卡,其二是NVIDIA的独立显卡
Step2 查看NVIDIA显卡系统推荐安装的驱动ubuntu-drivers devices
Step3 自动安装推荐最新驱动
sudo ubuntu-drivers autoinstall
官方下载地址: https://www.anaconda.com/
清华下载源: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ (推荐)
我下载了最新版本Anaconda3-2019.07-Linux-x86_64,下载完成后,终端进入下载路径,执行
sh Anaconda3-2019.07-Linux-x86_64.sh
按提示操作即可
最新版下载地址: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
历史版本下载地址: https://developer.nvidia.com/cuda-toolkit-archive
由于考虑到pytorch的支持问题,我下载的是cuda 10.0版本
安装: sudo sh cuda_10.0.130_410.48_linux.run
安装过程中,除了驱动安装选择no,其它皆选择yes或者默认即可
安装完成后需要配置环境变量
sudo gedit ~/.bashrc
在打开的文件末尾加上两行代码,注意修改为自己的路径
export PATH="/usr/local/cuda-10.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
保存后在终端输入命令生效source ~/.bashrc
测试cuda-sample
cd NVIDIA_CUDA-10.0_Samples/0_Simple/vectorAdd
make
./vectorAdd
cudnn下载地址: https://developer.nvidia.com/rdp/cudnn-archive
这里需要注意的是,cudnn的版本必须要根据cuda版本安装,否则可能会存在兼容问题
解压压缩包,并执行如下指令
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
查看cudnn安装结果: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Step1 安装opencv需要的依赖环境
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
Step2 下载opencv并安装
下载地址: https://opencv.org/releases/
这里我选择了opencv-4.1.0
解压到主目录下
cd ~/opencv-4.1.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_opencv_python2=OFF -DCMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") -DPYTHON3_EXECUTABLE=$(which python3) -DPYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") ..
make -j8 # 我的cpu是8进程的
sudo make install
Step3 查看安装好的opencv版本: pkg-config --modversion opencv
然而,opencv在安装过程中存在许多坑。因为ubuntu18.04自带了python2.7和3.6,所以在cmake的时候一定要关闭python2上的安装,并且设定python3的相关路径为anaconda中的python路径,否则会导致python2可以导入cv2,而python3反而失败。
因为安装了Anaconda,所以很多人会选择使用conda来安装pytorch
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
由于已经安装了cuda工具,因此只需执行
conda install pytorch torchvision -c pytorch
但是,我在尝试的时候出现了问题,conda依旧会重新安装cudatoolkit(自动匹配版本)到anaconda的路径下,这样就会出现两个版本的cuda工具。因此,如果你不想手动安装cuda和cudnn,也可直接执行以上指令来安装pytorch。
由于conda的官方下载源在国外,下载速度非常慢,我们可以通过以下指令来添加清华源
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/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ # pytorch源
conda config --set show_channel_urls yes
为了避免重复安装cuda工具,我采用了pip来安装,指令如下:
pip install torch torchvision # 这里我把pip链接到了python3.7
在以上环境的基础上,tensorflow的安装就只需一条指令
pip install tensorflow-gpu