pre-model

通过预训练模型使用云端部署

云端部署模块支持Tensorflow和Keras的SavedModel格式保存的模型进行推理。本节提供示例使用户可以通过网络下载keras和tensorflow的预训练模型来使用云端部署。

keras预训练模型

keras预训练模型列表:https://keras.io/api/applications/

将keras预训练模型转成可供云端部署使用的SavedModel格式示例 (vgg16模型):

import tensorflow as tf
filepath = './serving/vgg16/1'
vgg16 = tf.keras.applications.VGG16()
tf.saved_model.save(vgg16,filepath)

tensorflow预训练模型

Tensorflow hub预训练模型库:https://hub.tensorflow.google.cn/

将TFhub预训练模型转成可供云端部署使用的SavedModel格式示例 (mobilenet v2模型):

import tensorflow as tf
import tensorflow_hub as hub
IMAGE_SHAPE = (224, 224)
m = tf.keras.Sequential([
hub.KerasLayer("https://hub.tensorflow.google.cn/google/tf2-preview/mobilenet_v2/classification/4", input_shape=IMAGE_SHAPE+(3,), output_shape=[1001]),
tf.keras.layers.Softmax()
])
class MyModule(tf.Module):
def __init__(self, model):
self.model = model
@tf.function(input_signature=[tf.TensorSpec(shape=None, dtype=tf.float32)])
def output(self, input):
result = self.model(input)
return { "probability": result }
module = MyModule(m)
tf.saved_model.save(module,'./savedmodel/mobilenetv2/1',signatures=module.output)