轻松搭建机器学习/深度学习开发环境

人工智能学习从入门到放弃往往就是从配置环境开始,希望通过一篇文章让大家能轻松搭建人工智能开发环境。

我们从操作系统开始谈起

       现在操作系统你可以选择Windows 10 / macOS / Linux , 我个人是强烈推荐 Linux的因为在开发或者稳定性乃至兼容性上都是最好, 有人会说在开发外,还有很多工作,还有娱乐,那是否Linux就不适合了,这里我提提我个人的经验, 对于Linux 都已经有很多软件支持,如WPS ,如百度云盘,如Google 输入法,还有 你可以基于Wine 去安装相关适配的软件,如Wechat/QQ 等,当然你一定要Office 365 之类,我建议你安装 VMWare Player 装一个虚拟机去虚拟一个WIndows 也是可以的。当然你不喜欢虚拟机,那你可以在 Windows 10上直接使用WSL 去完成。至于macOS 用户,在现阶段你就只能在自身平台,或者通过VM Fusion / Parralel Desktop 去虚拟一个Linux 去配置。
       大家知道机器学习/深度学习开发,需要用到GPU ,上述方案是否都能用呢?macOS 就不用想了,因为直接就和老黄不沾边多年,现在只能等深度学习框架去支持MLCompute 。而Windows / Linux 都是支持GPU的,那如果是WIndows 下的WSL 呢? 要等年底,你就可以直接在WSL通过原生或者容器方式去支持GPU算力了。
      至于版本,我推荐使用Ubuntu 20.04.2  这是一个LTS 长期支持版本,在环境支持上也是很给力的. 下面是我的Linux 工作环境截图

接下来就是重点- 开发环境配置 

0. Bash / Zsh

我喜欢用Zsh ,我喜欢他更多的定义,和编写规范,所以安装完Ubuntu/WSL  我会切换掉bash成zsh, 当然macOS 11 是自带了

sudo apt-get install zsh

whereis zsh

sudo usermod -s /usr/bin/zsh $(whoami)

sudo reboot

1. Python 的选择

现在很多人会说Python 环境多,究竟用哪个Python环境比较合适呢?当然你可以选择conda或者pyenv去配置多Python环境,但我个人喜好是pyenv ,当然conda也是可以的。至于Python 版本我喜欢用Python 3.8.x , 这个版本对比起3.6,3.7 更稳定,而且对深度学习框架支持比较完善。有人说系统自带可以吗?是可以,但是我觉得pyenv/conda 起到一个管理多Python作用,还是建议用。

pyenv的Ubuntu/WSL 使用方法

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

echo 'eval "$(pyenv init --path)"' >> ~/.zshrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

exec $SHELL

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

exec $SHELL

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

CONFIGURE_OPTS=--enable-shared pyenv install 3.8.8

pyenv virtualenv 3.8.8 pydev

pyenv global pydev

macOS 

brew install pyenv

2. CUDA 环境安装(如果你没有GPU直接去到4即可)

这里我选择使用CUDA 11.1 ,当然有很多人会选择10.2,但基于Ubuntu 20.04的环境,CUDA 11.1 是最好的,而且11.1 对于那些深度学习库都是完美支持,无论是TensorFlow / PyTorch , 还是国产的PaddlePaddle 都是兼容的。具体配置如下:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb

sudo apt-key add /var/cuda-repo-ubuntu2004-11-1-local/7fa2af80.pub

sudo apt-get update

sudo apt-get -y install cuda

3. CuDNN选择

我选择8.0.5 的版本,当然你可以选择更新,不过我在这个环境下稳定下来了,(下载地址 https://developer.nvidia.com/cudnn)

sudo cp cuda/include/cudnn.h /usr/lib/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/lib/cuda/lib64/

sudo chmod a+r /usr/lib/cuda/include/cudnn.h /usr/lib/cuda/lib64/libcudnn*

echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.zshrc

echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/include:$LD_LIBRARY_PATH' >> ~/.zshrc

注意:

2和3 完成后这里注意一点是我这里选择的nvidia driver是455 ,你可以通过Ubuntu 的Software Update 去查看是否选择的Driver正确,否则你必须确认是455。

还有有可能会遇到源的问题,你可以通过修正repository 来确认好相关的,操作如下:

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get upgrade

4. 机器学习库安装

pip3 install numpy scipy scikit-learn matplotlib pandas pillow graphviz jupyter

5. 深度学习库安装

 GPU 部分 , 现阶段我选用了TensorFlow 2.4.1 / PyTorch 1.8.1 / PaddlePaddle 2.0.2

pip3 install paddlepaddle-gpu==2.0.2.post110 -f https://paddlepaddle.org.cn/whl/stable.html

pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

pip3 install tensorflow-gpu==2.4.1

非GPU

pip3 install tensorflow-gpu==2.4.1

pip3 install torch==1.8.1

pip3 install paddlepaddle==2.0.2

 你可以通过一些简单脚本去验证是否环境安装成功:

TensorFlow

轻松搭建机器学习/深度学习开发环境_第1张图片

PyTorch

那搭建就大功告成了,剩下就是学习时间。

6. 开发工具

 Visual Studio Code 没有之一,只有唯一了,安装上,然后装一个Python 插件,一代神器。

       学习机器学习/深度学习是动手的过程,环境安装就是第一关,也是非常关键的,第一步其实不难,难在有没有决心。希望有更多人进入该领域, Let's go

你可能感兴趣的:(Machine,Learning,机器学习,深度学习,tensorflow,pytorch)