我要使用CNTK和C#创建类激活图(CAM)。
我的模型是从Keras(Tensorflow后端)以ONNX格式导出的密网模型,我正在使用CNTK将其导入Windows C#控制台应用程序中。制作CAM涉及从预训练模型中间的图层获取权重和输出。文档和示例并不清楚,所以我的问题有两个:
1)如何从给定的图层获取权重?
2)如何使用已经存在的密集网模型的各层构建新模型?对于CAM,我想使用现有模型的输入和同一模型的全局平均池化层的输出(但保留所有存在于两层之间的层)。例如,在Python Keras中,我们使用以下代码:
layer_model_1 = Model(inputs=model.layers[1].layers[0].input, outputs = model.layers[1].layers[-2].output)