建立深度学习Ubuntu实验环境
安装nvidia显卡驱动
sudo ubuntu-drivers autoinstall
nvidia-smi
#用这种方式安装驱动后,不用特意去禁用nouveau,官方的run文件也不用再去下载。
#查看显卡型号命令
lspci | grep -i nvidia
# 给驱动run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-*.run
# 安装
./NVIDIA-Linux-x86_64-*.run
安装TensorFlow
hugo@hugo-virtual-machine:~$ mkdir my_tensorflow
hugo@hugo-virtual-machine:~$ cd my_tensorflow/
hugo@hugo-virtual-machine:~/my_tensorflow$ python3.10 -m venv vision
hugo@hugo-virtual-machine:~/my_tensorflow$ source venv/bin/activate
(vision) hugo@hugo-virtual-machine:~/my_tensorflow$ pip install --upgrade pip
(vision) hugo@hugo-virtual-machine:~/my_tensorflow$ pip install tensorflow tensorflow-gpu
python -m表示运行一个模块,venv表示虚拟环境,vision表示虚拟环境的名字,source表示激活虚拟环境,pip install –upgrade pip表示更新pip,pip install tensorflow tensorflow-gpu表示安装tensorflow和tensorflow-gpu。
发现tensorflow-gpu安装失败,原因是没有安装CUDA,所以需要先安装CUDA。
安装CUDA
打开https://developer.nvidia.com/cuda-toolkit-archive,选择CUDA Toolkit 12.1,选择Linux,选择x86_64,选择Ubuntu,选择22.04,选择runfile(local),安装向导如下。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.1-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.1-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
安装CUDA Deep Neural Network (cuDNN)
打开https://developer.nvidia.com/rdp/cudnn-archive,选择cuDNN 8.2.4 for CUDA 12.1,选择cuDNN Library for Linux,选择x86_64,下载cuDNN Library for Linux (x86_64)。
## 安装Keras
```shell
git clone https://github.com/keras-team/keras.git
cd keras
python setup.py install
现在可以尝试运行一下一个Keras脚本,比如说MNIST的例子。
python examples/mnist_mlp.py
可以在~/.keras/heras.json找到Keras的配置文件,可以修改backend(后端)为tensorflow或者theano或者cntk.
运行脚本时候,可以在shell窗口中监控GPU利用率。
watch -n 5 NVIDIA-smi -a --display=utilization
watch表示监控,-n 5表示每5秒刷新一次,NVIDIA-smi表示NVIDIA System Management Interface,-a表示显示所有信息,–display=utilization表示显示GPU利用率。
{
"image_data_format": "channels_last",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
安装OpenCV
sudo apt-get install libopencv-dev python-opencv
安装Jupyter
pip install jupyter
映射远端端口到本地
第一步 ,在远程Terminal中启动Jupyter Notebook:
jupyter notebook --no-browser --port=8889
ssh -L 8888:localhost:8888 remote_user@remote_host
这段表示将远端的8888端口映射到本地的8888端口。remote_user表示远端的用户名,remote_host表示远端的主机名或者IP地址。
然后在本地运行jupyter notebook,就可以在本地访问远端的jupyter notebook了。
jupyter notebook