深度学习(Deep Learning)入坑笔记

2022-04-28 19:04:04 浏览数 (1)

深度学习(Deep Learning)第一坑就是机器学习平台的选取和开发环境的安装,以下是重装两次系统后的安装经验。

机器学习平台选取

深度学习(Deep Learning)平台比较流行的是Tensorflow或者Pytorch,因为很多Paper的开源模型实现都是使用这两个平台实现的,选择这两个平台可以快速的复现已有的论文成果。由于实际业务需要,我选择是Tensorflow的平台。

Tensorflow的最大问题是Tensorflow 2.x与Tensorflow 1.x的兼容性问题。Tensorflow 2.0不兼容Tensorflow 1.x版本的很多API,而Github上、甚至Tensorflow官方的很多模型仍然是采用Tensorflow 1.x实现的。因此如果按照官方的默认指导页面安装了Tensorflow 2.x,就面临很多已有网络模型大量的编译错误需要修改。

因此安装Tensorflow时,尽量安装Tensorflow 1.x版本,而如果是新开发的网络模型,尽量选择Tensorflow 1.13、Tensorflow 1.14版本,因为它们与Tensorflow 2.0版本更接近,以后的迁移成本更低。

同时开发新项目时,尽量使用动态图 tf.keras接口进行。这样,在以后的移植过程中,可以减少很多不兼容的问题。

环境安装

机器学习开发环境的安装也是一个痛苦的过程,初入门者往往需要会把系统折腾挂掉很多次才能找到一个合适的GPU Driver、CUDA、cudnn、Tensorflow版本组合。

Tensorflow官方给出了经过测试的配置(https://tensorflow.google.cn/install/source#linux),如下图:

用户可以按照这些配置逐一安装,这里介绍下我在Ubuntu 18.04系统上安装Tensorflow的过程。Ubuntu 18.04是一个比较推荐的系统,在这个系统上安装开发环境都比较便捷。

1、安装GPU驱动

步骤一: 清理系统中其它的Nvidia驱动;

代码语言:javascript复制
sudo apt-get purge nvidia*

步骤二: 向系统添加显卡驱动PPA;

从https://www.nvidia.com/en-us/drivers/unix/查看系统支持的GPU驱动版本;从https://launchpad.net/~graphics-drivers/ archive/ubuntu/ppa检查该Repo是否你的机器显卡。

代码语言:javascript复制
sudo add-apt-repository ppa:graphics-drivers

sudo apt-get update

步骤三: 安装Nvidia GPU驱动;

Nvidia GPU驱动的版本根据实际的显卡类型选择。

代码语言:javascript复制
sudo apt-get install nvidia-XYXYX

安装完成之后,重启系统。

代码语言:javascript复制
sudo reboot

步骤四:验证Nvidia GPU驱动安装;

代码语言:javascript复制
lsmod | grep nvidia

或者:

代码语言:javascript复制
nvidia-smi

2、使用Anaconda安装Tensorflow

Google推荐的安装过程如下:https://tensorflow.google.cn/install/pip,不过我更推荐使用Anaconda的方式安装Tensorflow,它支持一个主机上同时安装不同版本的Tensorflow。

2.1 Anaconda安装

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

国内的同学尽量从清华的网站(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)下载,速度比较快。国外网站的访问速度极不稳定。

Anaconda安装完成后,设置Anaconda的软件源为清华的源。详细的说明见: https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

Ubuntu 18.04系统上设置软件源的步骤为:

步骤一: 在用户的Home目录下新建.condarc文件,写入以下内容:

代码语言:javascript复制
channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
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
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
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免费仓库。

步骤二:软件源生效

运行conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

2.2 Anaconda安装Tensorflow

在装完Anaconda软件之后,默认会创建一个虚环境,该虚拟环境的名字是“base”,也是当前系统的运行主环境。

我们一般会为每个Tensorflow版本创建一个独立的虚拟环境,它们之间相互隔离,创建的流程如下:

步骤一:创建Python虚拟环境;

代码语言:javascript复制
conda create -n tf_114 python=3.6

或者本地Clone已有环境;

代码语言:javascript复制
conda create -n tf_114 --clone ft_xxxx --offline

步骤二: 激活虚拟环境;

代码语言:javascript复制
source activate tf_114

步骤三:安装Tensorflow;

Anaconda安装的好处是,它可以自动帮我们配置好对应的CUDA、Cudnn等环境。

代码语言:javascript复制
#GPU版本的TensorFlow安装
conda install tensorflow-gpu==1.14

步骤四 退出当前Conda虚拟环境或者删除Conda虚拟环境

代码语言:javascript复制
# 退出当前虚拟环境
conda deactivate

#删除指定的虚拟环境
conda remove -n yourVirtualEnvName --all

验证安装效果:

代码语言:javascript复制
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

0 人点赞