我正在使用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对象,例如数组或矩阵,但是我找不到解决方法。非常感谢您能给我建议。
答案 0 :(得分:0)
一个选择是创建一个新模型,该模型将仅输出您感兴趣的图层。
首先创建原始模型:
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返回的图层实例。