在TensorFlow2.0中使用SavedModels时,是否可以从中间层访问激活?例如,使用其中一个模型:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md,我可以运行,例如,
model = tf.saved_model.load('faster_rcnn_inception_v2_coco_2018_01_28/saved_model').signatures['serving_default']
outputs = model(input_tensor)以获取输出预测和边界框。我希望能够访问输出层以外的其他层,但似乎没有任何Tensorflow 2.0的文档来说明如何做到这一点。下载的模型还包括检查点文件,但似乎也没有很好的文档来说明如何使用TensorFlow2.0加载这些文件。
发布于 2019-10-24 02:15:52
如果使用TensorFlow 2.0生成保存的模型,则可以提取单个层。但您所指的模型已保存在TensorFlow 1.x中。使用TF 1.x保存的模型时,不能单独提取层。
以下是有关如何在TensorFlow 2.0中从已保存的模型中提取图层的示例
import tensorflow as tf
import numpy as np
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(100,)),
tf.keras.layers.Dense(10, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# Compile and fit the model
model.save('save_model', save_format='tf')然后加载模型,如图所示。
model = tf.keras.models.load_model('save_model')
layer1 = model.get_layer(index=1)https://stackoverflow.com/questions/58527048
复制相似问题