1. 硬件环境

注:推荐的GPU型号名单:https://blog.ailemon.net/2024/09/25/nvidia-gpu-params-for-deep-learning/

1.1 训练模型用工作站的建议配置

最低:4x CPU, 1x GPU (NVIDIA, 必需), RAM 16GB, Graph Memory 11GB, 500 GB 机械硬盘

建议:4x CPU, 1x GPU (NVIDIA, 必需), RAM 32GB以上, Graph Memory 12GB 以上, 1 TB 机械硬盘/固态硬盘 以上

高配:8x CPU (Intel)以上, 32 GB RAM 以上,1x Nvidia GPU Graph Memory 16 GB 以上(NVIDIA, 必需),2 TB 固态硬盘(TLC或MLC) 以上

1.2 服务端API服务器部署的建议配置

最低:1x CPU (Intel), 1 GB RAM (单进程) / 2x CPU (Intel), 2 GB RAM (2进程) / (以此类推)

建议:2x CPU (Intel)以上, 4 GB RAM 以上 (单进程)

高配:4x CPU (Intel)以上, 8 GB RAM 以上,1x Nvidia GPU Graph Memory 8 GB 以上 (单进程)

2. 系统软件环境

2.1 操作系统

理论上Windows、各个版本的Linux和MacOS系统均支持,但MacOS系统不可使用GPU来运行。

Linux下,支持Ubuntu、CentOS、Fedora系统,在其他系统中尚未做过兼容性测试。

2.2 Python3

3.9 3.10 3.11 均支持,尚未在Python更高版本中做过兼容测试。

2.3 CUDA和cuDNN

支持CUDA 11.2,cuDNN版本需要与所需的CUDA版本对应,当前推荐为8.1。对于最新的master分支版本,由于需要使用TensorFlow 2.8及以上版本,CUDA最低需要使用11.2版本。

可参考:Linux系统下安装TensorFlow的GPU版本
推荐的GPU型号名单:https://blog.ailemon.net/2024/09/25/nvidia-gpu-params-for-deep-learning/

2.4 教程:为了加速计算,如何安装GPU版TensorFlow包

TensorFlow支持使用GPU来加速计算,需要安装Cuda驱动和cudnn计算API,详细过程请看这篇文章:

Linux系统下安装TensorFlow的GPU版本

在多平台上安装TensorFlow的方法

linux卸载旧版CUDA并安装新版CUDA

Windows安装CUDA和CUDNN运行环境

2.5 可选部署(非训练)方式:Docker

ASRT提供了打包好的Docker镜像,可以用于直接安装部署,并通过启动Docker容器提供语音识别API服务。

3. Python依赖包软件环境

3.1 依赖库列表

主要是TensorFlow,其他依赖包一般不存在兼容问题。

  • TensorFlow (2.8-2.11+)

    支持2.2版本以上的全部版本,不再支持较低版本,具体实践中最高支持的版本取决于TensorFlow该版本对硬件指令的支持,以及所使用的Python3版本。

    当安装了CPU版TensorFlow时,只能使用CPU运行,如果安装了GPU版TensorFlow,默认使用GPU运行,如果在os运行环境那里把使用的CUDA设备改为-1时,则可以使用CPU运行。

    很重要!默认安装的TensorFlow(即不指定是CPU还是GPU的时候)已经变为GPU版了(或者不分GPU和CPU),如果要安装CPU版TensorFlow最好指定安装tensorflow-cpu,要安装GPU就指定安装tensorflow-gpu,以防安装错版本。

    安装命令:
    GPU版:

    $ pip install tensorflow-gpu

注意:基于Windows的GPU版TensorFlow最多支持到2.10,2.11版本后仅支持Linux系统,包括Ubuntu以及WSL(Windows上的Linux子系统)

CPU版:

$ pip install tensorflow-cpu
  • MatPlotLib (最新版)

    安装命令:

    $ pip install matplotlib
  • wave (最新版)
    安装命令:

    $ pip install wave
  • scipy (最新版)
    安装命令:

    $ pip install scipy
  • requests (最新版)
    安装命令:

    $ pip install requests
  • flask和waitress
    新版基于HTTP协议的API服务需要安装这两个依赖库
    安装命令:

    $ pip install flask waitress
  • h5py (默认情况下无需手动安装)

    在某些条件下,默认安装的h5py最新版本与此时的tensorflow和keras包不兼容,需要手动指定安装的版本号,2.10.02.8.0都是适用的python依赖包版本,如果出现了类似问题可手动安装该版本。
    如果出现了诸如 'str' object has no attribute 'decode' 报错信息,请手动pip安装指定版本的h5py依赖库。

    安装命令:

    $ pip install h5py
  • gRPC相关包
    ASRT新版基于gRPC协议的API服务需要安装下列依赖库
    安装命令:

    $ pip install grpcio==1.51.1 grpcio-tools==1.51.1 protobuf
  • pytest (可选包)
    ASRT代码包含有单元测试代码,可使用pytest进行单元测试。不安装不影响常规使用。
    安装命令:

    $ pip install pytest

直接pip安装就好

3.2 pip list 样例

执行命令$ pip list即可查看。

3.2.1 master分支最新 和ASRT v1.0.0及以后 依赖库配置

3.2.1.1 最推荐配置

前提: Python 3.9,已安装CUDA 11.2 和Cudnn 8.1

absl-py==1.4.0
astunparse==1.6.3
cachetools==5.3.0
certifi==2022.12.7
charset-normalizer==3.0.1
click==8.1.3
colorama==0.4.6
contourpy==1.0.7
cycler==0.11.0
Flask==2.2.2
flatbuffers==23.1.21
fonttools==4.38.0
gast==0.5.3
google-auth==2.16.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.51.1
h5py==3.8.0
idna==3.4
importlib-metadata==6.0.0
itsdangerous==2.1.2
Jinja2==3.1.2
keras==2.8.0
Keras-Preprocessing==1.1.2
kiwisolver==1.4.4
libclang==15.0.6.1
Markdown==3.4.1
MarkupSafe==2.1.2
matplotlib==3.6.3
numpy==1.24.1
oauthlib==3.2.2
opt-einsum==3.3.0
packaging==23.0
Pillow==9.4.0
protobuf==3.19.6
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyparsing==3.0.9
python-dateutil==2.8.2
requests==2.28.2
requests-oauthlib==1.3.1
rsa==4.9
scipy==1.10.0
six==1.16.0
tensorboard==2.8.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow-estimator==2.8.0
tensorflow-gpu==2.8.4
tensorflow-io-gcs-filesystem==0.30.0
termcolor==2.2.0
typing_extensions==4.4.0
urllib3==1.26.14
waitress==2.1.2
Wave==0.0.2
Werkzeug==2.2.2
wincertstore==0.2
wrapt==1.14.1
zipp==3.12.0
3.2.1.2 其他推荐配置
absl-py==0.15.0
astor==0.8.0
astunparse==1.6.3
cached-property==1.5.2
cachetools==4.2.4
certifi==2019.9.11
charset-normalizer==2.0.7
cycler==0.10.0
flatbuffers==1.12
gast==0.4.0
google-auth==2.3.3
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.34.1
h5py==3.1.0
idna==3.3
Keras-Applications==1.0.8
keras-nightly==2.5.0.dev2021032900
Keras-Preprocessing==1.1.2
kiwisolver==1.3.1
Markdown==3.1.1
matplotlib==3.4.2
numpy==1.19.5
oauthlib==3.1.1
opt-einsum==3.3.0
Pillow==8.3.2
protobuf==3.10.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyparsing==2.4.7
python-dateutil==2.8.1
python-speech-features==0.6
requests==2.26.0
requests-oauthlib==1.3.0
rsa==4.7.2
scipy==1.6.3
six==1.15.0
tensorboard==2.7.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.0
tensorflow-estimator==2.5.0
tensorflow-gpu==2.5.2
termcolor==1.1.0
typing-extensions==3.7.4.3
urllib3==1.26.7
Werkzeug==0.16.0
wrapt==1.12.1
作者:AI柠檬  创建时间:2021-11-26 16:34
最后编辑:AI柠檬  更新时间:2024-11-06 22:17