采用transformers将torch模型转为tf模型
from transformers import TFBertForSequenceClassification
import tensorflow as tf
model = TFBertForSequenceClassification.from_pretrained("torch_model_path", from_pt=True)
tf.saved_model.save(model, "tf_model_path")
docker部署
生成后的文件夹组成入下图所示
图中文件夹1及其子文件夹和文件路径为固定格式
batch_config.txt文件内容为
max_batch_size { value: 32 }
batch_timeout_micros { value: 5000 }
max_enqueued_batches { value: 1000000 }
num_batch_threads {value: 8 }
Dockerfile文件内容为
FROM maven.paic.com.cn:8084/docker.io/tensorflow/serving:2.3.0-gpu
LABEL maintainer="xxx@gmail.com"
#COPY merged_nlc_ner_models/ /models/your_file_name
COPY ./models/your_models_folder/
ENTRYPOINT tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=models_folder --model_base_path=/models/models_folder/ --enable_batching --batching_parameters_file=/models/models_folder/1/batch_config.txt
Docker启动命令
docker build -t $image_name .
docker run --name=$container_name -it -d -p $port:8501 $image_name --bind 0.0.0.0
注意文件和命令中的port要保持一致