咨讯息 · 2022年7月2日 0

服务器广度自学自然环境构筑、实用性及采用(上)

一:服务器情形

硬体此基础实用性:

CPU:AMD R9 5950X

内存:SteelSeries 32G X 2

显卡:耕升GeForce RTX3060 TI

主板:ROG X570-E Gaming WiFi II  %WiFi 6G驱动开不出来

硬碟:收红4T(西部数据) + SSD 1T(京造) + Nvme 1T(三星)

版优先选择

Ubuntu 18.04+python3.7.13+cuDNN 8.4.1+CUDA11.1-11.7我的世界

TensorRT8.2+Pytorch1.11.0或1.12.0+Tensorflow-gpu 2.6或2.9.1

值得注意的是RTX3060只支持CUDA11.1版及以上,不要优先选择conda来安装CUDA和CUDNN(这个对老版有效)。

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以采用C语言来为CUDA™架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。我的世界

NVIDIA cuDNN是用于广度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器自学框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。我的世界

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的广度自学GPU加速库,有了它才能在GPU上完成广度自学的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行广度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行广度神经网络的工作,工作速度相较CPU快很多。我的世界最终版优先选择及安装情形:– [x] 服务器系统:Linux-Mint 19.3- [x] NVIDIA驱动安装- [x] CUDA安装:11.1-11.7- [x] cuDNN安装:8.4.1- [ ] Tensorflow各个版的安装- [1] Tensorflow 2.5/2.6/2.9.1:Python 3.7.13 + gcc 8.4 + CUDA 11.2 + cuDNN 8.1– [ ] PyTorch各个版的安装- [1] PyTorch 1.8.2(LTS):Python 3.7.13 + gcc 8.4 + CUDA 11.1- [2] PyTorch 1.11.0或1.12.0:Python 3.7.13 + gcc 8.4 + CUDA 11.3

我的世界

– [x] 采用 Environment Module 管理不同版的软件

二:自然环境采用说明我的世界

系统盘:Nvme 1T(三星)

训练盘:SSD 1T(京造)挂载/home

数据盘:收红4T(西部数据)挂载/data

版管理

需要注意的是,在服务器上大部分用户都是普通用户,无root权限,切换CUDA时很麻烦,不切换CUDA,广度自学自然环境的实用性就比较受限,所以在服务器自然环境下,普通用户如何灵活切换CUDA和cuDNN版呢?Environment Modules!!!我的世界

Environment Modules 包是一个简化 shell 初始化的工具,它允许用户在采用 modulefiles 进行会话期间轻松修改其自然环境。每个模块文件都包含为应用程序实用性 shell 所需的信息。模块文件可以由系统上的许多用户共享,并且用户可以拥有自己的集合来补充或替换共享模块文件。我的世界

moduleavail显示可以采用的模块moduleload/add加载模块/软件moduleunload/rm卸载模块/软件modulelist显示已经加载的模块

将 Modules 工具的文件放到 /opt/tools/modules 这个路径,下面再建立三个子目录:- src  //这里放安装包 / 源文件- installed    //这里是工具安装路径- modulefiles   //这里放 modulefiles — 各个软件的版文件。我的世界

CUDA版切换命令:

moduleloadcuda/11.1CUDA安装的版包括11.1-11.7,可根据需要切换

CUDA等安装验证我的世界

验证CUDA安装:为了验证CUDA 11.1是否被安装完成,优先选择安装示例,默认的安装位置是/home/lab532目录

云主机、VPS、挂机宝、游戏服务器上永恒云

cd/home/lab532cdNVIDIA_CUDA-11.1_Samples/1_Utilities/deviceQuery优先选择其中一个示例进行测试make./deviceQuery

如果成功,会显示Result = PASS,否则根据错误提示解决问题。

查看CUDA当前版

我的世界nvcc–version  或者cat /usr/local/cuda/version.txt

CUDNN的安装包中有sample code,可用于测试。

cp -r /usr/src/cudnn_samples_v8/$HOMEcdcudnn_samples_v8/mnistCUDNN/进入到mnist文件夹中,并进行编译make clean && make

如果遇到了WARNING – FreeImage is not set up correctly. Please ensure FreeImage is set up correctly,无法继续编译,可以执行以下命令:我的世界

sudo apt-getinstall libfreeimage3 libfreeimage-dev

执行后重新make clean && make,完成后尝试运行./mnistCUDNN,看到Test passed就说明安装成功。查看cuDNN版我的世界

我的世界whereis cudnn_version.hcudnn_version: /usr/include/cudnn_version.hcat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A2defineCUDNN_MAJOR 8defineCUDNN_MINOR 4defineCUDNN_PATCHLEVEL 1defineCUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)endif/* CUDNN_VERSION_H */

Python和Pip

查看Python和Pip版

替换python的pip源建议是一定操作一下的,pip安装速度会快很多:我的世界

我的世界pipinstall pip -Upipconfig set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplecd~mkdir.pipsudovim ~/.pip/pip.conf

改为如下内容:我的世界

我的世界[global]no-cache-dir=trueindex-url= https://pypi.tuna.tsinghua.edu.cn/simple/extra-index-url= https://pypi.ngc.nvidia.comtrusted-host= pypi.ngc.nvidia.com[install]trusted-host= pypi.tuna.tsinghua.edu.cn

更改默认python版,python目录默认链接的是python2,而现在基本都是用python3开发了,每次都输入python3很麻烦所以这里直接更换默认的python命令链接。

我的世界sudorm /usr/bin/pythonsudorm /usr/bin/pip 把原来的pip软链接删掉sudoln -s /usr/bin/python3 /usr/bin/pythonsudoln -s /usr/bin/pip3 /usr/bin/pip

现在输入python就会进入python3自然环境了,pip就是pip3自然环境了。对于Python的包,尽可能采用pip安装

我的世界pipinstallSomePackage最新版pipinstallSomePackage==1.0.4指定版pipinstallSomePackage>=1.0.4最小版pipinstallDjango==1.7安装 Djangopipinstall–upgrade SomePackage     升级包升级指定的包,通过采用==, >=, <=, >, < 来指定一个版号pipuninstallSomePackagepipsearchSomePackagepipshow显示安装包信息pipshow-f SomePackage查看指定包的详细信息piplist-o查看可升级的包piplist列出已安装的包pip–versionpip–helppipinstall-U pip升级 pip如果这个升级命令出现问题 ,可以采用以下命令:sudo easy_install–upgrade pip

三:PyTorch和TensorFlow我的世界

PyTorch 1.8.2(LTS):Python 3.6.9 + gcc 8.4 + CUDA 11.1

PyTorch 1.11.0或1.12.0:Python 3.6.9 + gcc 8.4 + CUDA 11.3

我的世界pip3 install torch==1.8.2torchvision==0.9.2torchaudio==0.8.2–extra-index-urlhttps://download.pytorch.org/whl/lts/1.8/cu111pip3 install torch torchvision torchaudio –extra-index-urlhttps://download.pytorch.org/whl/cu113

pipinstalltorch-1.11.0+cu113-cp37-cp37m-linux_x86_64.whl

torchvision是pytorch的一个图形库,它服务于PyTorch广度自学框架的,主要用来构建计算机视觉模型。以下是torchvision的构成:我的世界

torchvision.datasets: 一些加载数据的函数及常用的数据集接口;

torchvision.models: 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;

torchvision.transforms: 常用的图片变换,例如裁剪、旋转等;

torchvision.utils: 其他的一些有用的方法。我的世界

也可以简单快速直接用清华源安装,此时默认安装的是最新版的pytorch:

pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple/pip install torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple/

PyTorch GPU版的正确性验证我的世界

TensorFlow安装

我的世界Requires the latest pippipinstall–upgrade pipCurrent stable release for CPU and GPUpipinstalltensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/Or try the preview build (unstable)pipinstalltf-nightly -i https://pypi.tuna.tsinghua.edu.cn/simple/

Tensorflow GPU版的正确性验证

永恒云出品