首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在训练Keras函数API模型的同时,如何打印不同激活层的精度?(Tensorflow Python)

在训练Keras函数API模型的同时,如何打印不同激活层的精度?(Tensorflow Python)
EN

Stack Overflow用户
提问于 2021-01-14 03:30:27
回答 1查看 144关注 0票数 1

我使用Functional创建了一个具有三个不同输出层的模型,以测试不同的激活函数。问题是每个时代的输出线都太长了。我只想看看准确性,而不是损失。

代码语言:javascript
复制
Epoch 1/5
1875/1875 - 4s - loss: 3.7070 - Sigmoid_loss: 1.1836 - Softmax_loss: 1.2291 - Softplus_loss: 1.2943 - Sigmoid_accuracy: 0.9021 - Softmax_accuracy: 0.9020 - Softplus_accuracy: 0.5787

我不希望.fit()函数打印每一层的损失,只打印精度。我搜索了所有的Google和Tensorflow文档,但却找不到怎么做。

如果您想要完整的代码,请在这篇文章上发表评论。我马上寄过来。

下面是模型的总结:

代码语言:javascript
复制
Model: "model"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
InputLayer (InputLayer)         [(32, 784)]          0                                            
__________________________________________________________________________________________________
FirstHidden (Dense)             (32, 512)            401920      InputLayer[0][0]                 
__________________________________________________________________________________________________
SecondHidden (Dense)            (32, 256)            131328      FirstHidden[0][0]                
__________________________________________________________________________________________________
Sigmoid (Dense)                 (32, 10)             2570        SecondHidden[0][0]               
__________________________________________________________________________________________________
Softmax (Dense)                 (32, 10)             2570        SecondHidden[0][0]               
__________________________________________________________________________________________________
Softplus (Dense)                (32, 10)             2570        SecondHidden[0][0]               
==================================================================================================
Total params: 540,958
Trainable params: 540,958
Non-trainable params: 0
__________________________________________________________________________________________________
None

谢谢你,祝你今天过得愉快。

EN

回答 1

Stack Overflow用户

发布于 2021-01-14 04:22:45

这是我自定义回调的机会。注意,我假设Sigmoid_accuracy、Softmax_accuracy和Softplus_accuracy以前被定义为model.compile中的度量标准。以下是自定义回调的代码

代码语言:javascript
复制
class Print_Acc(keras.callbacks.Callback):
    def __init__(self):
        super(Print_Acc, self).__init__() 
        
    def on_epoch_end(self, epoch, logs=None):  # method runs on the end of each epoch
        sig_acc=logs.get('Sigmoid_accuracy')  
        softmax_acc =logs.get('Softmax_accuracy')
        softplus_acc =logs.get('Softplus_accuracy')
        print('For epoch ',epoch, ' sig acc= ', sig_acc, ' softmac acc= ', softmax_acc, ' softplus acc= ', softplus_acc)

在model.fit中包括callbacks=Print_Acc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65713017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档