英伟达将大部分应用透过Dcoker容器技术进行封装,并且为了协助开发人员更加轻松地使用这些软件,英伟达特别开发一个nvidia-pyindex工具,将应用安装的过程变得更加简单,TAO训练工具也不例外。
完整的TAO安装流程请参考 https://docs.nvidia.com/tao/tao-toolkit/ 里的“TAO Toolkits Quick Start Guide”,目前这个工具只支持x86电脑的Ubuntu操作系统,以下列出最基本的硬件需求:
以上系统要求是容易达到的,目前测试过用8GB显存的RTX 2070或3070都能顺利执行训练任务,但是显存大小对模型训练的计算有很大的影响,另外一款RTX A4000配置16GB GDDR6显存,是性价比相当好的一个选择。
至于操作系统方面,推荐Ubuntu 18.04或20.04桌面版,这两个都是经过测试兼容性比较好的版本,接下去只要在上面执行以下指令,安装好NVIDIA的GPU驱动即可,要求为455以上版本,目前测试到495版本也是很稳定:
$ $ $ $ |
sudo apt-get install software-properties-common sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get install nvidia-driver-495 sudo reboot |
执行以上指令之后必须重启系统才会生效,重启后执行nvidia-smi,如果出现以下画面就表示驱动已经安装成功。
如今英伟达大部分应用都使用Docker容器技术进行封装,并且使用Jupyter作为操作工具,因此使用之前是必须先安装好docker、nvidia-docker、Jupyter这些软件,最后安装virtualenv这个Python虚拟环境并非必要的,如果对Python不熟悉的使用者,建议按照说明进行安装预配置。
$ $
$
$ $ |
sudo apt install -y ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg \ --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io |
测试 docker 的安装,请执行以下指令:
$ |
sudo docker run hello-world |
如果显示以下信息,就表示这部分的安装是成功的:
由于docker指令的执行是需要权限的,但如果每次都需要在前面加上”sudo”再输入密码的话,就会变得较为繁琐,可以执行以下操作去免除 “sudo” 权限:
$ $ $ |
sudo addgroup --system docker sudo adduser $USER docker && newgrp docker sudo groupadd docker && sudo usermod -aG docker $USER |
现在就能为您节省很多麻烦!
$$ |
export KEY='在NGC生成的密钥' docker login -u '$oauthtoken' --password-stdin nvcr.io <<< $KEY |
最后显示 “Login Succeeded” 就表示登录成功,只要没有在NGC上重新生成密钥,这个登录就只要执行一次就可以,不需要每次开机都登陆。
$ $ $
$ $ |
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker |
测试 nvidia-docker2 的安装,请执行以下指令:
$ |
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi |
如果出现以下信息,表示nvidia-docker2也安装完成:
这里显示的内容虽然与本机的nvidia-smi完全一样,不过前者是本机所得到的信息,这里是容器所执行的显示结果。
$ $ $
$ $ |
sudo apt install python3-pip sudo pip3 install -U pip sudo pip3 install jupyter jupyterlab # 设置登录密码 export PW=’自行提供‘ python3 -c "from notebook.auth.security import set_password; set_password('$PW','$HOME/.jupyter/jupyter_notebook_config.json')" |
启用Jupyter Lab:
$ $ |
cd <您的工作目录> jupyter-lab --ip 0.0.0.0 --port 8888 --allow-root --no-browser |
现在就能用浏览器(推荐使用Chrome)输入<IP_OF_MACHINE>:8888,输入前面自行设定的密码,就能进入Jupyter工作环境,会以执行命令的位置作为工作的根(root)路径。
英伟达为TAO开发的一个Python版本启动器(launcher),为了确保使用环境的隔离,在官方安装文件里使用virtualenv创建Python的虚拟工作环境,但是经过测试验证,使用conda虚拟技术或者完全不使用虚拟环境,也都能正常运作,请根据自己的实际状况进行处理。
如果要使用virtualenv虚拟工具的话,请按照以下步骤进行安装:
$
$
$
$
$
$ |
pip3 install virtualenv virtualenvwrapper # 创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs # 在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh # 保存并退出 source ~/.bashrc # 创建名为”tao”的 Virtualenv mkvirtualenv tao -p /usr/bin/python3 # 关闭“tao”虚拟环境 deactivate # 重新启动 “tao”虚拟环境 workon tao |
以上就完成所有配套所需要的软件,接下去就开始安装TAO的工作元件。
$ $
$ |
pip3 install nvidia-pyindex pip3 install nvidia-tao # 检查安装 tao info |
如果安装正常的话,会看到下面信息:
这边会看的“~/.tao_mounts.json wasn't found”的信息,这是因为我们还未去执行路径映射的任务,所以没有这个文件是正常的,现在表示TAO启动器已经安装完成。
虽然在标准执行的流程中,我们不需要事先下载镜像到本机里,但由于这个高达15GB的镜像文件是放置于境外的英伟达原厂服务器上,在国内的实际操作过程中并不是太稳定,因此推荐在执行任务之前,先执行独立的镜像下载工作。
TAO的视觉类(CV AI)与对话类(Conv AI)的镜像文件是不一样的,分别在以下链接:
请执行以下指令,将两个容器都先下载到模型训练设备上:
$ $
$ $ |
# 下面版本请根据实际状况进行调整 export TAO_CV_VER=v3.21.11-tf1.15.4-py3 docker pull nvcr.io/nvidia/tao/tao-toolkit-tf:$TAO_CV_VER # 下面版本请根据实际状况进行调整 export TAO_CONV_VER=v3.21.11-py3 docker pull nvcr.io/nvidia/tao/tao-toolkit-pyt:$TAO_CONV_VER |
下载完毕之后用docker images指令检查,看看是否如下图的信息:
这样就已经完成整个TAO模型训练的开发环境。【完】
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面