Featured image of post Tensorflow入门

Tensorflow入门

Tensorflow Object Detection API 在GentooLinux环境下的安装和介绍。

目录

Gentoo Linux 系统下 Tenosorflow-gpu 的安装

安装 nvidia 驱动

可以参考我的这篇文章

使用 nvidia-smi命令 验证安装是否成功

我的电脑输出如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
Mon Jul 17 10:54:53 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   37C    P0    N/A /  80W |      6MiB /  6144MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      3640      G   /usr/bin/X                          4MiB |
+-----------------------------------------------------------------------------+

安装cuda

安装软件包

sudo emerge --ask dev-util/nvidia-cuda-toolkit

下载cudnn

将下载后的文件解压缩并复制到指定位置

1
2
3
4
5
6
7
tar xvzf cudnn-linux-x86_64-8.9.3.28_cuda12-archive.tar.xz

cd cudnn-linux-x86_64-8.9.3.28_cuda12-archive
sudo cp include/cudnn.h /opt/cuda/include
sudo cp lib/libcudnn* /opt/cuda/lib64
sudo chmod a+r /opt/cuda/include/cudnn.h
sudo chmod a+r /opt/cuda/lib64/libcudnn*

安装Anaconda

下载安装脚本Download

给予执行权限chomd +x Anaconda3-*.sh

执行./Download/Anaconda3-*.sh

然后配置安装目录,是否在当前shell环境中激活,建议是。

安装Tensorflow

创建虚拟环境

conda create --name tensorflow python=3.10

激活虚拟环境

conda activate tensorflow

安装软件包

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# conda环境下的cuda和cudnn
conda install -c conda-forge cudatoolkit=11.8.0 cudnn=8.9.2.26

# conda虚拟环境的环境变量配置
# 临时设置
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:$LD_LIBRARY_PATH
export XLA_FLAGS=--xla_gpu_cuda_data_dir=/opt/cuda

# 永久配置(建议临时设置测试tensorflow环境,成功之后再进行永久性配置)
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/:$CUDNN_PATH/lib:$LD_LIBRARY_PATH' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export XLA_FLAGS=--xla_gpu_cuda_data_dir=/opt/cuda' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

# pip安装tensorflow
pip install --upgrade pip
pip install tensorflow

验证

1
python3 -c "import tensorflow as tf; print('GPU', tf.test.is_gpu_available())"

本人电脑上输出如下:

1
2
3
4
****
2023-07-17 11:14:12.266188: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1635] Created device /device:GPU:0 with 4069 MB memory:  -> device: 0, name: NVIDIA GeForce RTX 3060 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6
GPU True
****

至此,Tensorflow安装完毕。

Tensorflow Object Detection API 安装

安装教程参考 tensorflow2 od install

  1. 克隆tensorflow模型存储库

    1
    
    git clone https://github.com/tensorflow/models.git
    
  2. pip安装

    1
    2
    3
    4
    5
    6
    
    cd models/research
    # 需要安装 protos 在环境当中
    protoc object_detection/protos/*.proto --python_out=.
    # 安装 TensorFlow Object Detection API
    cp object_detection/packages/tf2/setup.py .
    pip install .
    
  3. 测试

    1
    2
    
    # Test the installation.
    python object_detection/builders/model_builder_tf2_test.py
    

恭喜您,已经完成了安装,下来试试一个小例子吧。

一个浣熊检测小模型