本文介绍了TensorFlow等机器学习相关的笔记


目录

  1. Win下CUDA驱动的安装
  2. Debian下CUDA驱动安装
  3. Pytorch相关
    1. 一般安装
    2. 旧版本安装
    3. N卡测试
  4. Mali相关
    1. 安装llvm
    2. 安装mlc-ai
    3. 安装mlc-llm
    4. 安装OpenCL驱动
  5. TensorFlow

Win下CUDA驱动的安装

先弄清楚机器学习框架所需求的cuda,cudnn的版本,查找CUDA和GPU驱动的对应关系,别下错了
先安装CUDA,安装完了下载对应版本的cuDNN,解压后覆盖到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
装CUDA驱动的时候可以除了CUDA Runtime,其他都不选


Debian下CUDA驱动安装

禁用Nouveau

1
nano /etc/modprobe.d/blacklist-nouveau.conf

添加内容

1
2
blacklist nouveau
options nouveau modeset=0

生效

1
2
update-initramfs -u
reboot

安装依赖

1
apt-get install software-properties-common

安装cuda和cudnn

1
2
3
4
5
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/3bf863cc.pub
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/ /"
add-apt-repository contrib
apt-get update
apt-get -y install cuda-11-6

PS:安装完cuda驱动就不用再安装GPU驱动了


Pytorch相关

一般安装

Pytorch官方仓库寻找dnn版,例如

1
torch-2.0.0+cu117.with.pypi.cudnn-cp39-cp39-linux_x86_64.whl

旧版本安装

参考INSTALLING PREVIOUS VERSIONS OF PYTORCH

1
2
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install pytorch_lightning==1.6.0

N卡测试

1
2
3
4
5
6
import torch
print(torch.cuda.is_available())
print(torch.__version__)
print(torch.cuda.get_device_name())
print(torch.backends.cudnn.is_available())
print(torch.backends.cudnn.version())

Mali相关

安装llvm

https://github.com/llvm/llvm-project/releases中自行下载
解压:tar -xvf clang+llvm-XXX-aarch64-linux-gnu.tar.xz,建议放在/usr/local


安装mlc-ai

安装编译环境

1
2
apt install g++ zlib1g-dev -y
apt-get install libvcflib-tools

下载文件

1
git clone --recursive https://github.com/mlc-ai/relax.git tvm_unity && cd tvm_unity/

配置编译文件

1
2
3
4
5
6
7
8
cd tvm_unity/
mkdir -p build && cd build
cp ../cmake/config.cmake .
nano config.cmake
set(CMAKE_BUILD_TYPE RelWithDebInfo) #这一项在文件中没有,需要添加
set(USE_OPENCL ON) #这一项在文件中可以找到,需要修改
set(HIDE_PRIVATE_SYMBOLS ON) #这一项在文件中没有,需要添加
set(USE_LLVM /usr/local/llvm/bin/llvm-config) #这一项在文件中可以找到,需要修改

开始编译tvm

1
2
cmake ..
make -j8

注:编译出错是由于内存不足,再次编译即可,8GB是够的
安装库

1
2
cd ../python
python3 setup.py bdist_wheel

编译完成后安装即可
编译好的tvmc在/usr/local/bin,使用tvmc命令测试即可


安装mlc-llm

下载文件

1
2
3
git init
git fetch https://github.com/mlc-ai/mlc-llm.git
git checkout FETCH_HEAD
1
2
cd /mlc-llm/
python3 setup.py bdist_wheel

编译完成后安装即可
测试:python3 -m mlc_llm.build –help


安装OpenCL驱动

下载mali_csffw.bin,放入/lib/firmware
下载libmali-valhall-g610-g6p0-x11-wayland-gbm.so,放入/usr/lib
安装依赖

1
2
3
apt update
apt install mesa-opencl-icd ocl-icd-opencl-dev clinfo
apt install libxcb-dri2-0 libxcb-dri3-0 libwayland-client0 libwayland-server0 libx11-xcb1

置入ICD

1
2
mkdir -p /etc/OpenCL/vendors
echo "/usr/lib/libmali-valhall-g610-g6p0-x11-wayland-gbm.so" | sudo tee /etc/OpenCL/vendors/mali.icd

测试:clinfo
安装rust: apt install rustc cargo
验证:rustc --version


TensorFlow

如果有RT核的GPU可以安装TensorRT
必须安装cudnnapt-get install libcudnn8,建议到仓库自己找再本地安装,否则无法启用GPU
安装(tf2不再使用GPU)

1
python3 -m pip install tensorflow

测试

1
2
3
4
import tensorflow as tf
print(tf.__version__)
print(tf.test.is_gpu_available())
print(tf.config.list_physical_devices('GPU'))

修复

1
cat /sys/bus/pci/devices/0000\:01\:00.0/numa_node

如果结果是-1,那么执行

1
echo 0 | tee -a /sys/bus/pci/devices/0000\:01\:00.0/numa_node

检查是否成功

1
cat /sys/bus/pci/devices/0000\:01\:00.0/numa_node