更新时间:2023-12-03 10:56:16
打印张量的非常简单的方法:
Very simple way to print a tensor :
from keras import backend as K
k_value = K.eval(tensor)
print(k_value)
更新 1
创建一个回调以在每个 epoch 结束时打印:
Create a callback to print at the end of each epoch :
class callback(Callback):
def __init__(self, model, X_train):
self.model = model
self.x = X_train
def on_train_begin(self, logs={}):
return
def on_train_end(self, logs={}):
return
def on_epoch_begin(self, epoch, logs={}):
return
def on_epoch_end(self, epoch, logs={}):
inp = model.input # input placeholder
outputs = model.layers[N].output # get output of N's layer
functors = K.function([inp, K.learning_phase()], [outputs])
layer_outs = functors([self.x, 1.])
print('
OUTPUT TENSOR : %s' % layer_outs)
return
def on_batch_begin(self, batch, logs={}):
return
def on_batch_end(self, batch, logs={}):
return
在您的 fit() 方法中调用此函数,如下所示:
Call this function in your fit() method like that :
callbacks=[callback(model = model, X_train = X_train)])
灵感来自 Keras,如何获取每个层的输出层?
希望这最终能帮到你!