tensorflow - 运行模型的一部分最简单的方法是什么?
问题描述
我正在处理 Keras 功能 API。特别是对于我的实验,我使用的是通过以下方式获得的 Keras resnet50 模型:
model = resnet50.ResNet50(weights='imagenet')
显然,要获得网络的最终输出,我们需要向占位符提供一个值input_1
。
我的问题是,如果我relu
将适当尺寸的值输入其中,我能否以某种方式从下图底部描绘的图层开始推断该图?
我试图用 Keras 来实现这一点functions
。就像是:
self.inp = model.input
self.outputs = [layer.output for layer in model.layers]
self.functor = K.function([self.inp, K.learning_phase()], [self.outputs[6], self.outputs[17]])
但是这种方法行不通,因为要再次推断任何输出,我需要将值输入张量。
从头开始重新创建图表是我最好的选择吗?
谢谢
解决方案
如果我没听错,您可以指定输入和输出节点
base_model = tf.keras.applications.ResNet50(weights='imagenet')
inference_model = tf.keras.Model(inputs=base_model.input, outputs=base_model.get_layer('any_layer_name').output)
您可以将输出设置为任何图层名称
推荐阅读
- javascript - 滚动时的水平布局
- c++ - 为什么我不能将 std::from_chars 的结果分配给 std::tie?
- bash - 在Linux中将内容文件复制到多个文件
- python - ValueError:预期 min_ndim=3,发现 ndim=2
- python - ImportError:没有名为 selenium windows cmd 的模块
- r - Hampel Matlab vs R
- statsmodels - hmmlearn 的 GaussianHMM 中的外生变量
- java - 使用 JPA 编写自定义 SQL 查询
- apache - HTTPD Centos 7 错误请求
- c# - 错误 CS0029:无法将类型“字符串”隐式转换为“整数”