我正在使用 R Keras。我可以通过执行以下命令来获取中间层的输出:
layer_output <- get_layer(mymodel, index=1)$output
其中 mymodel 是 Keras 模型。
问题是layer_output是一个张量。
class(layer_output)
[1] "tensorflow.tensor" "tensorflow.python.framework.ops.Tensor"
[3] "tensorflow.python.framework.ops._TensorLike" "python.builtin.object"
我想将 layer_output 转换为 R 对象,例如数组或矩阵,但我找不到方法。如果您能给我建议,非常感谢。
一种选择是创建一个新模型,该模型将仅输出您感兴趣的层。
首先创建原始模型:
model <- ... # create original model
然后创建新模型并使用预测来获取输出:
layer_name <- 'my_layer'
intermediate_layer_model <- keras_model(inputs = model$input,
outputs = get_layer(model, layer_name)$output)
intermediate_output <- predict(intermediate_layer_model, data)
根据您的模型,R keras 预测函数应返回向量、矩阵或数组 - 而不是 get_layer 返回的图层实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)