近日,新入一台RTX3080的服务器,目前好像还没办法很方便地在 RTX 30 系列 GPU上通过 pip/conda 安装 TensorFlow 或 PyTorch。因为这些 GPU 需要 CUDA 11.1,而当前主流的 TensorFlow/PyTorch 版本不是针对 CUDA 11.1 编译的。现在要在 30XX GPU 上运行这些库的话,需要很强的动手能力,手动编译或者用英伟达 docker 容器。
我搜到一个解决方案:Lambda Stack
Lambda Stack 的网址:
http://lambdalabs.com/lambda-stack-deep-learning-software
简介
Lambda Stack,提供一行代码安装并可以管理升级,包含:Pythorch、TensorFlow、CUDA、cuDNN和NVIDIA驱动程序,它与Ubuntu 20.04 LTS,18.04 LTS和16.04 LTS兼容。配置深度学习环境变得非常简单。
Lambda Stack 包括
- 操作系统 Ubuntu 20.04, 18.04, 和 16.04(桌面版和服务器版本都可以)
- Docker images of Lambda Stack + Ubuntu: Lambda Stack Dockerfiles
- 包含的深度学习框架: TensorFlow, Keras, PyTorch, Caffe, Caffe 2
- 包含的GPU 软件: CUDA, cuDNN, NVIDIA驱动
- 包含工具: git, tmux, screen, vim, emacs, htop, valgrind, build-essential
系统要求
- NVIDIA GPU (如 RTX 3090, 3080, 3070, 2080 Ti, Quadro RTX 8000)
- Ubuntu 20.04, 18.04, and 16.04(桌面版和服务器版本都可以)
使用说明
如果是桌面版的 Ubuntu 20.04, 18.04, 和 16.04,则:
安装 Lambda Stack (桌面版)
LAMBDA_REPO=$(mktemp) && \
wget -O${LAMBDA_REPO} https://lambdalabs.com/static/misc/lambda-stack-repo.deb && \
sudo dpkg -i ${LAMBDA_REPO} && rm -f ${LAMBDA_REPO} && \
sudo apt-get update && sudo apt-get install -y lambda-stack-cuda
sudo reboot
注意:安装完毕会自动重启,安装过程需要一个来小时
如果服务器版的 Ubuntu 20.04, 18.04,则:
安装 Lambda Stack (服务器版1)
LAMBDA_REPO=$(mktemp) && \
wget -O${LAMBDA_REPO} https://lambdalabs.com/static/misc/lambda-stack-repo.deb && \
sudo dpkg -i ${LAMBDA_REPO} && rm -f ${LAMBDA_REPO} && \
sudo apt-get update && \
sudo apt-get --yes upgrade && \
sudo apt-get install --yes --no-install-recommends lambda-server && \
sudo apt-get install --yes --no-install-recommends nvidia-headless-450 && \
sudo apt-get install --yes --no-install-recommends lambda-stack-cuda
注意:安装完毕需要重启
如果服务器版的 Ubuntu 16.04,则:
安装 Lambda Stack (服务器版2)
LAMBDA_REPO=$(mktemp) && \
wget -O${LAMBDA_REPO} https://lambdalabs.com/static/misc/lambda-stack-repo.deb && \
sudo dpkg -i ${LAMBDA_REPO} && rm -f ${LAMBDA_REPO} && \
sudo apt-get update && \
sudo apt-get --yes upgrade && \
sudo apt-get install --yes --no-install-recommends lambda-server && \
sudo apt-get install --yes --no-install-recommends nvidia-440 libcuda1-440 nvidia-opencl-icd-440 && \
sudo apt-get install --yes --no-install-recommends lambda-stack-cuda
注意:安装完毕需要重启
系统升级
如果有更新版本的 PyTorch、 TensorFlow、 CUDA 或 cuDNN 发布,只需运行:
sudo apt-get update && sudo apt-get dist-upgrade
然后重启。
Docker方式安装
也可以使用docker的方式安装(在Ubuntu20.04 LTS环境下),也只需要一行代码:(网速关系,可能需要4个来小时,大小约13.5g)
# Build a Docker image for Ubuntu 20.04 (focal). You can substitute focal for bionic or xenial to change the ubuntu version.
sudo docker build -t lambda-stack:20.04 -f Dockerfile.focal git://github.com/lambdal/lambda-stack-dockerfiles.git
使用Lambda Stack
1.正常安装方式:只需要运行python命令即可进入,可以使用Tensorflow/PyTorch
$ python
>>> import tensorflow
>>> tensorflow.__version__
'2.3.0'
>>> import torch
>>> torch.__version__
'1.6.0'
2.Docker方式安装:需要运行docker镜像:
sudo docker run -it ubuntu /bin/bash #ubuntu代表镜像名称,需要更改
注意事项
pip如果没有安装,需要安装wget和pip(docker里没有这两个命令,需要安装)
sudo apt-get install wget
wget https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py