【发布时间】:2021-09-22 08:09:14
【问题描述】:
我正在使用以下代码使用我自己的自定义损失函数在 Keras 中训练一个 NN。但是,我真的不知道输入是什么(它的类型是 KerasTensor)。我怎样才能打印出它的价值?我需要访问作为网络输入的训练数据点(例如 [1,2,3,4])、其真实标签(例如 [1])及其预测标签(例如 [-1])。我怎样才能做到这一点?
def custom_loss(input):
def loss(y_true, y_pred):
return ...
return loss
def custom_model():
input = Input(shape=(16,))
x = Dense(8, kernel_initializer='glorot_uniform', activation='linear')(i)
output = Dense(1, kernel_initializer='normal', activation='linear')(x)
model = Model(input, output)
model.compile(loss=custom_loss(input), optimizer='adam')
return model
还有一个小问题:为什么我们总是通过 shape=(16,) 而不是简单地通过 shape = 16 来指定层中的神经元数量?这有什么不同吗?另外,使用第一种表示法的逻辑原因是什么?
【问题讨论】:
标签: python tensorflow keras