欢迎光临
我们一直在努力

国产服务器使用1-tensorflow

国产服务器taishan2280,arm架构:kylinv10系统-kunpeng920cpu-T4-cuda11.2-cudnn8.1下编译tensorflow2.10,使用gpu

我需要使用tensorflow2.10版本调用T4显卡gpr训练,所以安装的cuda为11.2和cudnn8.1,比较适配,别的对应版本组要自己查找下载,其中主意下载的一定是aarch,别下错了

第一步检查系统:

cat /etc/os-release

如图可以看到是KylinV10:

请添加图片描述

uname -a

为arm架构

请添加图片描述

第二步,查看是否插入显卡

lspci | grep -i –color 'vga\\|3d\\|display'

我的输出结果为,我是T4显卡:

01:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
06:00.0 VGA compatible controller: Huawei Technologies Co., Ltd. Hi171x Series [iBMC Intelligent Management system chip w/VGA support] (rev 01)

第三步:安装显卡驱动

英伟达官网去下载,我下载的:nvidia-driver-local-repo-kylin10-560.35.03-1.0-1.aarch64.rpm

1.先安装这个本地仓库包

rpm -ivh nvidia-driver-local-repo-kylin10-560.35.03-1.0-1.aarch64.rpm

2.更新缓存

dnf clean all

dnf makecache

3.安装驱动,装好后重启

dnf install nvidia-driver

reboot

4.验证

rpm -qa | grep nvidia-driver

输出结果为

nvidia-driver-local-repo-kylin10-560.35.03-1.0-1.aarch64

nvidia-driver-libs-560.35.03-1.ky10.aarch64

nvidia-driver-560.35.03-1.ky10.aarch64

请添加图片描述

第四步安装cuda11.2和cudnn8.1

自行下载cuda对应版本,我这里是:cuda-repo-rhel8-11-2-local-11.2.0_460.27.04-1.aarch64.rpm

1.导入rpm,并刷新缓存,且安装

rpm -ivh cuda-repo-rhel8-11-2-local-11.2.0_460.27.04-1.aarch64.rpm

dnf clean all

dnf makecache

#r如果导入有多个cuda的rpm包,可以指定版本安装如:dnf install cuda-11-2

dnf install cuda

2.设置环境变量

我在root下运行,需要给所有用户使用

#创建全局环境变量脚本

echo 'export PATH=/usr/local/cuda-11.2/bin:$PATH' > /etc/profile.d/cuda.sh

echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH' >> /etc/profile.d/cuda.sh

#赋予读取权限(所有用户都能读取)

chmod 644 /etc/profile.d/cuda.sh

#立即生效(当前会话)

source /etc/profile

3.检查

#常用命令

nvidia-smi
nvcc -V

#其他

echo $PATH

4.安装cudann8.1

下载cudnn-11.2-linux-aarch64sbsa-v8.1.1.33.tgz

tar -xzvf cudnn-11.2-linux-aarch64sbsa-v8.1.1.33.tgz

sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.2/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64/

sudo chmod a+r /usr/local/cuda-11.2/include/cudnn*.h /usr/local/cuda-11.2/lib64/libcudnn*

sudo ldconfig

cat /usr/local/cuda-11.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

最后一行验证输出为

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 1

第五步安装anaconda

我需要使用anaconda管理环境,如不需要可以不安装

官网下载:Anaconda3-2025.06-0-Linux-aarch64.sh

1.安装过程:

Enter 读协议

yes 同意协议

安装路径输入:

/opt/anaconda3

让它初始化可以选 no(我们会手动做全局配置)

2.全局环境变量配置

echo 'export PATH=/opt/anaconda3/bin:$PATH' > /etc/profile.d/anaconda.sh

chmod 644 /etc/profile.d/anaconda.sh

source /etc/profile

3.测试

conda –version

python –version

第六步搭建tensorflow2.10虚拟环境

首先系统安装一些依赖

sudo yum groupinstall -y "Development Tools"

sudo yum install -y git gcc gcc-c++ make zip unzip autoconf libtool zlib-devel python3-devel cmake protobuf-devel

1.创建环境并安装一些包

清华源https://pypi.tuna.tsinghua.edu.cn/simple

conda crete -n zhsh python=3.10

conda activate zhsh

pip install numpy==1.21.6 cython==0.29.36 -i https://pypi.tuna.tsinghua.edu.cn/simple

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

pip install pandas=1.3.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.gcc编译升级

gcc必须大于8,我这里选的9,由于本身自带gcc7.3,我没有覆盖,选择单独编译使用

下载:https://mirrors.sjtug.sjtu.edu.cn/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz

tar -xf gcc-9.5.0.tar.xz

cd gcc-9.5.0

./contrib/download_prerequisites

mkdir build && cd build

../configure –prefix=/opt/gcc-9.5 –disable-multilib –enable-languages=c,c++

make -j$(nproc)

make install

花费时间比较久

接下来配置环境变量

echo 'export PATH=/opt/gcc-9.5/bin:$PATH' >> /etc/profile.d/gcc9.sh

echo 'export LD_LIBRARY_PATH=/opt/gcc-9.5/lib64:$LD_LIBRARY_PATH' >> /etc/profile.d/gcc9.sh

source /etc/profile.d/gcc9.sh

gcc –version
#应该输出9.5.0

3.安装 Bazel(和 TF 版本匹配)比如 TF 2.10 需要 Bazel 5.3.0

我网络不好所以都是自己下载的,有网可以选择联网下载

下载地址:wget https://github.com/bazelbuild/bazel/releases/download/5.3.0/bazel-5.3.0-linux-arm64

#安装

chmod +x bazel-5.3.0-linux-arm64

sudo mv bazel-5.3.0-linux-arm64 /usr/local/bin/bazel

bazel –version

#下载tensorflow源码
#网不好的可以选择不运行,直接去下载tensorflow-2.10.0.zip

git clone https://github.com/tensorflow/tensorflow.git

cd tensorflow

git checkout r2.10

#设置环境

export CC=/opt/gcc-9.5/bin/gcc

export CXX=/opt/gcc-9.5/bin/g++

export PATH=/opt/gcc-9.5/bin:$PATH

export LD_LIBRARY_PATH=/opt/gcc-9.5/lib64:$LD_LIBRARY_PATH

bazel clean –expunge

# 运行 ./configure 脚本,确认选择的 gcc 路径和 CUDA 版本
./configure

#编译
build –config=opt –config=cuda –action_env=CC=/opt/gcc-9.5/bin/gcc –action_env=CXX=/opt/gcc-9.5/bin/g++ –cxxopt='-std=c++17' –copt='-march=armv8-a' –define=with_xnnpack=false //tensorflow/tools/pip_package:build_pip_package

过程中如果网不好会出现有些依赖下不下来,我出现了

0538e5431afdb1fa05bdcedf70ee502ccfcd112a.tar.gz

6ca793b5d862ef6c50f242d77a811f06cce9b60a.tar.gz

可以在网站下载之后上传,然后修改third_party文件夹内部对应名字的文件找到对应的worksoace.bzl,将你下载的文件路径添加到里面的url

请添加图片描述
请添加图片描述

编译要很久,结束后生成包,然后在虚拟环境下安装

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tf_pkg

pip install /tmp/tf_pkg/tensorflow-2.10*.whl

测试

python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
#输出[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

结束end

其他

为了使用TCN网络,需要编译addons-0.18.0.zip

tar -xzf tensorflow-addons-0.18.0.tar.gz
cd tensorflow-addons-0.18.0

export MAKEFLAGS=-j$(nproc)
python setup.py build
python setup.py install

pip install keras-tcn==3.5.0

赞(0)
未经允许不得转载:171主机测评 » 国产服务器使用1-tensorflow
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址