部署Tensorflow模型

保存模型

# 指定模型的version
version = 1
# 指定路径
export_path = "../model/model01/{}".format(version)
print('export_path = {}'.format(export_path))

tf.keras.models.save_model(
    model,
    export_path,
    overwrite=True,
    include_optimizer=True,
    save_format=None,
    signatures=None,
    options=None
)

保存模型目录结构

model_path
└── foo_model
    └── 1
        ├── assets
        ├── saved_model.pb
        └── variables
            ├── variables.data-00000-of-00001
            └── variables.index

4 directories, 3 files

部署模型

docker

下载镜像

docker pull tensorflow/serving

运行

# MODEL_NAME就是保存模型的时候用的model_name
docker run -it --rm -p 8501:8501 -v "/Users/li/Workspace/py3-labs/lab024/model_path:/models" -e MODEL_NAME=foo_model tensorflow/serving

调用模型

url中要试用到之前保存模型的时候定义的model_name

postman

postman中调用

curl

curl --location --request POST 'http://localhost:8501/v1/models/foo_model:predict' \
--header 'Content-Type: application/json' \
--data-raw '{
    "instances": [
        [
            230.1,
            37.8,
            69.2
        ]
    ]
}'

返回

{
    "predictions": [
        [
            22.6255722
        ]
    ]
}

参考资料