目前我正在优化我用 keras 训练的神经网络。为此,我使用了层内的多个激活函数,并使用
model.save()
自动保存模型并进行评估。
不幸的是,我忘记了性能最佳网络的确切设置,但是如何从 keras 重新创建所有网络信息?当然,我使用
model.load()
并且有帮助 model.summary()
。但是我如何获得所使用的激活函数?
model.summary()
仅提供有关网络架构本身的信息:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
... ... ...
_________________________________________________________________
dense (Dense) (None, 64) 288064
_________________________________________________________________
dense_1 (Dense) (None, 128) 8320
=================================================================
Total params: 586,408
Trainable params: 586,408
Non-trainable params: 0
_________________________________________________________________
您可以使用
model.layers[id].get_config()
,其中id是图层的索引。
您可以使用
model.layers
读取图层,然后使用它来查找权重或激活函数。例如
act_fncs = [l.activation for l in model.layers]
model.to_json()
您可以使用
model.to_json()
在一行中获取模型架构的完整副本
这将为您提供有关层架构、输入形状、编译器配置等的详细信息。
用法
model = tf.keras.models.load_model(model_path)
print(model.to_json())