首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TensorFlow2.0中从加载的saved_model访问中间层

在TensorFlow2.0中从加载的saved_model访问中间层
EN

Stack Overflow用户
提问于 2019-10-24 00:08:59
回答 1查看 1K关注 0票数 4

在TensorFlow2.0中使用SavedModels时,是否可以从中间层访问激活?例如,使用其中一个模型:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md,我可以运行,例如,

代码语言:javascript
复制
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加载这些文件。

EN

回答 1

Stack Overflow用户

发布于 2019-10-24 02:15:52

如果使用TensorFlow 2.0生成保存的模型,则可以提取单个层。但您所指的模型已保存在TensorFlow 1.x中。使用TF 1.x保存的模型时,不能单独提取层。

以下是有关如何在TensorFlow 2.0中从已保存的模型中提取图层的示例

代码语言:javascript
复制
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')

然后加载模型,如图所示。

代码语言:javascript
复制
model = tf.keras.models.load_model('save_model')
layer1 = model.get_layer(index=1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58527048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档