我已经编写了一个张量流模型,当我使用simple_save导出模型时,如下所示:
signature_def_map = {
signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
signature_def_utils.predict_signature_def(inputs, outputs)
}
b = builder.SavedModelBuilder(export_dir)
b.add_meta_graph_and_variables(
session,
tags=[tag_constants.SERVING],
signature_def_map=signature_def_map,
assets_collection=ops.get_collection(ops.GraphKeys.ASSET_FILEPATHS),
legacy_init_op=legacy_init_op,
clear_devices=True)
b.save(as_text=True)
我发现Adagrad
中的所有变量也都根据saved_model.pbtxt
保存了:
node {
name: "input/input_layer_1/context.match_type_info_x_MatchNum_embedding/embedding_weights/part_0/Adagrad"
op: "VariableV2"
attr {
key: "_class"
value {
list {
s: "loc:@input/input_layer_1/context.match_type_info_x_MatchNum_embedding/embedding_weights/part_0"
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 31
}
dim {
size: 16
}
}
}
}
}
这将导致保存的模型的大小是所需大小的两倍。有没有办法删除它们? (保存的模型仅用于预测,因此不需要优化器状态。)
谢谢!