基础环境要求和配置
1. 硬件环境
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 以上,2 TB 固态硬盘 以上
1.2 服务端API服务器部署的建议配置
最低:1x CPU (Intel), 1 GB RAM
建议: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.6 3.7 3.8 均支持,3.5及更低版本均不支持,尚未在Python 3.8版本中做过兼容测试。
2.3 CUDA和cuDNN
支持CUDA 10.2,CUDA 11.2,cuDNN版本需要与所需的CUDA版本对应。对于最新的master分支版本,由于需要使用TensorFlow 1.15及以上版本,CUDA最低需要使用10.2版本。
可参考:Linux系统下安装TensorFlow的GPU版本
2.4 教程:为了加速计算,如何安装GPU版TensorFlow包
TensorFlow支持使用GPU来加速计算,需要安装Cuda驱动和cudnn计算API,详细过程请看这篇文章:
2.5 可选部署(非训练)方式:Docker
ASRT提供了打包好的Docker镜像,可以用于直接安装部署,并通过启动Docker容器提供语音识别API服务。
3. Python依赖包软件环境
3.1 依赖库列表
主要是TensorFlow,其他依赖包一般不存在兼容问题。
TensorFlow (1.15 - 2.X)
支持1.15版本以上的全部版本,不再支持较低版本(虽然可以通过修改部分代码来还原回低版本,但是就不支持2.0以后的新版本了),具体实践中最高支持的版本取决于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
CPU版:
$ pip install tensorflow-cpu
MatPlotLib (最新版)
经过测试,当使用Python3.5的时候,matplotlib包不支持3.1.0及以上的版本,最多支持到3.0.3,新版本需要使用Python3.6或更新版本Python才可以使用。
安装命令:
$ 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.0
和2.8.0
都是适用的python依赖包版本,如果出现了类似问题可手动安装该版本。
如果出现了诸如'str' object has no attribute 'decode'
报错信息,请手动pip安装指定版本的h5py依赖库。安装命令:
$ pip install h5py
gRPC相关包
ASRT新版基于gRPC协议的API服务需要安装下列依赖库
安装命令:$ pip install protobuf grpcio grpcio-tools
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 推荐配置
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
3.2.1.2 最低配置
最新master分支支持的最低依赖包配置(以CPU版TensorFlow为样例):
Package Version
---------------------- -------------------
absl-py 0.9.0
astor 0.8.1
certifi 2019.11.28
cycler 0.10.0
gast 0.2.2
google-pasta 0.2.0
grpcio 1.27.2
h5py 2.10.0
Keras 2.3.1
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.0
kiwisolver 1.1.0
Markdown 3.2.1
matplotlib 3.2.0
numpy 1.18.1
opt-einsum 3.2.0
pip 20.0.2
protobuf 3.11.3
pyparsing 2.4.6
python-dateutil 2.8.1
python-speech-features 0.6
PyYAML 5.3
scipy 1.4.1
setuptools 46.0.0.post20200309
six 1.14.0
tensorboard 1.15.0
tensorflow 1.15.0
tensorflow-estimator 1.15.1
termcolor 1.1.0
Wave 0.0.2
Werkzeug 1.0.0
wheel 0.34.2
wrapt 1.12.1