首页 文章

每层中的Keras /输出[暂停]

提问于
浏览
-5

我想在卷积层之后看到输出 .

例如,我的模型就像......

Sequential Convolution2D MaxPooling2D Convolution2D MaxPooling2D我想在这里得到输出 . 扁平....

所以我尝试在调试模式下跟踪keras源代码 .

但我找不到关于keras进行卷积的任何代码 .

keras进行卷积处理的.py文件在哪里?

1 回答

  • 1

    如果要从模型中获取中间输出,可以构造一个新的 Model 实例,并将您感兴趣的层作为输出张量(或输出张量列表)传递 .

    最小的工作示例,来自this答案:

    import keras.backend as K
    from keras.models import Model
    from keras.layers import Input, Dense
    
    input_layer = Input((10,))
    
    layer_1 = Dense(10)(input_layer)
    layer_2 = Dense(20)(layer_1)
    layer_3 = Dense(5)(layer_2)
    
    output_layer = Dense(1)(layer_3)
    
    basic_model = Model(inputs=input_layer, outputs=output_layer)
    
    # some random input data
    import numpy as np
    features = np.random.rand(100,10)
    
    # Intermediate model has the same input as basic model,
    # but has all the intermediate layers as outputs
    
    intermediate_model = Model(inputs=basic_model.layers[0].input, 
                                  outputs=[l.output for l in basic_model.layers[1:]])
    intermediate_model.predict(features) # outputs a list of 4 arrays
    

相关问题