首页
/ FastAI深度学习环境在Azure GPU实例上的完整配置指南

FastAI深度学习环境在Azure GPU实例上的完整配置指南

2025-07-08 00:51:06作者:霍妲思

前言

在Azure云平台上配置GPU加速的深度学习环境是许多机器学习工程师和研究人员的常见需求。本文将详细介绍如何在Azure虚拟机上配置完整的FastAI深度学习开发环境,包括CUDA工具包、cuDNN库、Anaconda环境以及相关深度学习框架的安装与配置。

环境准备

系统更新与基础工具安装

首先需要确保系统处于最新状态,并安装必要的编译工具:

sudo apt-get update && sudo apt-get --assume-yes upgrade
sudo apt-get --assume-yes install tmux build-essential gcc g++ make binutils
sudo apt-get --assume-yes install software-properties-common

这些命令执行以下操作:

  1. 更新软件包列表并升级所有已安装的软件包
  2. 安装tmux终端复用工具
  3. 安装GCC/G++编译工具链
  4. 安装make等构建工具
  5. 安装软件包管理工具

CUDA工具包安装

CUDA是NVIDIA提供的GPU计算平台,深度学习框架依赖它进行GPU加速:

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get -y install cuda

安装完成后,需要加载NVIDIA内核模块并验证安装:

sudo modprobe nvidia
nvidia-smi

如果遇到"could not insert 'nvidia_367': No such device"错误,需要重启虚拟机。

Python环境配置

Anaconda安装

Anaconda是Python科学计算的常用发行版,提供了便捷的包管理功能:

mkdir downloads
cd downloads
wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh
bash Anaconda2-4.2.0-Linux-x86_64.sh -b

将Anaconda和CUDA添加到系统PATH环境变量:

echo 'export PATH="/usr/local/cuda/bin:$HOME/anaconda2/bin:$PATH"' >> ~/.bashrc
export PATH="/usr/local/cuda/bin:$HOME/anaconda2/bin:$PATH"

Python包管理

更新conda并安装必要的Python包:

conda install -y bcolz
conda upgrade -y --all

深度学习框架配置

Theano安装与配置

Theano是一个数值计算库,可以高效利用GPU进行计算:

pip install theano
echo "[global]
device = gpu
floatX = float32" > ~/.theanorc

.theanorc配置文件指定了使用GPU作为计算设备,并设置默认浮点类型为float32。

Keras安装与配置

Keras是一个高层神经网络API,这里安装1.2.2版本:

pip install keras==1.2.2
mkdir ~/.keras
echo '{
    "image_dim_ordering": "th",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "theano"
}' > ~/.keras/keras.json

Keras配置文件中:

  • image_dim_ordering设置为"th"表示使用Theano风格的维度顺序
  • backend指定使用Theano作为后端

cuDNN安装

cuDNN是NVIDIA提供的深度神经网络加速库:

wget http://files.fast.ai/files/cudnn.tgz
tar -zxf cudnn.tgz
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/* /usr/local/cuda/include/

Jupyter Notebook配置

配置Jupyter Notebook以支持远程访问:

jupyter notebook --generate-config
jupass=`python -c "from notebook.auth import passwd; print(passwd())"`
cd ~
echo "c.NotebookApp.password = u'"$jupass"'" >> .jupyter/jupyter_notebook_config.py
echo "c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False" >> .jupyter/jupyter_notebook_config.py
mkdir nbs

这段配置会:

  1. 生成Jupyter配置文件
  2. 创建加密的访问密码
  3. 允许任意IP访问
  4. 禁用自动打开浏览器
  5. 创建notebook工作目录

总结

通过上述步骤,我们完成了在Azure GPU实例上配置FastAI深度学习开发环境的全过程。这个环境包含了:

  1. 完整的CUDA GPU计算支持
  2. Anaconda Python科学计算环境
  3. Theano和Keras深度学习框架
  4. cuDNN神经网络加速库
  5. 配置好的Jupyter Notebook开发环境

这套环境特别适合进行深度学习相关的教学、研究和开发工作,为后续的FastAI课程学习提供了坚实的基础设施支持。