我正在使用Keras创建一个混淆神经网络,这会在被送入经过训练的分类神经网络之前扭曲图像。为此,我需要根据分类网络生成的值产生损失。
我创建了一个损失函数,将失真图像作为y_pred
,并将分类标记为y_true
。
class_model = load_model(model_path)
def classfication_error(self, y_true, y_pred):
y_pred = class_model.predict(y_pred)
return keras.losses.categorical_crossentropy(y_true, y_pred)
编译模型时,由于y_pred = (?, 32, 32, 3)
ValueError: When feeding symbolic tensors to a model, we expect thetensors to have a static batch size. Got tensor with shape: (None, 32, 32, 3)
在损失函数内完成预测的另一种方法是什么,以避免错误?