Numpy Keras中的回调函数,用于保存每个历元的预测输出

Numpy Keras中的回调函数,用于保存每个历元的预测输出,numpy,tensorflow,keras,tensorboard,Numpy,Tensorflow,Keras,Tensorboard,我是Keras的新手,我打算为每个时代存储我的网络输出。为此,我想使用Tensorbaord在其环境中观察输出层 class OutputObserver(Callback): """" callback to observe the output of the network """ def on_train_begin(self, logs={}): self.epoch = [] self.out_log = [] def on_epoc

我是Keras的新手,我打算为每个时代存储我的网络输出。为此,我想使用Tensorbaord在其环境中观察输出层

class OutputObserver(Callback):
""""
callback to observe the output of the network
"""

    def on_train_begin(self, logs={}):
        self.epoch = []
        self.out_log = []

    def on_epoch_end(self, epoch, logs={}):
        self.epoch.append(epoch) 
        self.out_log.append(self.model.get_layer('Dense03/Output').output)
这将把输出张量存储到一个列表中。问题是我两样都做不到。将其转换为Numpy数组,以便可以读取CSV。。。档案,2。使用Tensorflow编写一份摘要(因为Keras没有这种能力),然后在Tensorboard中分析输出

我很高兴听到您对在每个训练阶段存储和可视化输出层的意见

真诚地,
Saeed.

要为每个历元保存输出层,需要将训练/验证数据传递给回调对象。我使用的回调如下所示

class OutputObserver(Callback):
""""
callback to observe the output of the network
"""

def __init__(self, xy):
    self.out_log = []
    self.xy = xy

def on_epoch_end(self, epoch, logs={}):
    self.out_log.append(self.model.predict(self.xy.x_train, batch_size=p.bath_size))
哪个xy.x_列车是培训数据

现在,out_log数组是一个形状的numpy.ndaray(历元数、数据数、预测长度):


要为每个历元保存输出层,需要将训练/验证数据传递给回调对象。我使用的回调如下所示

class OutputObserver(Callback):
""""
callback to observe the output of the network
"""

def __init__(self, xy):
    self.out_log = []
    self.xy = xy

def on_epoch_end(self, epoch, logs={}):
    self.out_log.append(self.model.predict(self.xy.x_train, batch_size=p.bath_size))
哪个xy.x_列车是培训数据

现在,out_log数组是一个形状的numpy.ndaray(历元数、数据数、预测长度):


也许(编辑后的部分)会有所帮助。它使用TensorBoard可视化了输出层,方法是通过\u epoch\u end上的
中的模型输入验证数据。我发现答案很有用。也许(编辑后的部分)可以帮助我。它使用TensorBoard可视化了输出层,方法是通过\u epoch\u end上的
中的模型输入验证数据。我发现答案很有用。有关更多详细信息,请参阅关于回调的官方Keras文档,有关更多详细信息,请参阅关于回调的官方Keras文档,