基本上,我想编写一个损失函数来计算分数,以比较批次的标签和输出。为此,我需要确定批量大小。
我以前是在Tensorflow中完成的,我可以在占位符函数中设置批处理大小。现在,我需要在提供给我的Keras代码中使用类似的机制。我不知道如何在这里做。
conv1 = (Conv2D(32, (3,3), padding='same', kernel_regularizer=regularizers.l2(weight_decay), input_shape=x_train.shape[1:], activation='elu'))(input_img)
print(conv1.shape)
print语句的输出显然是[?, 32, 32, 3]
。
我该怎么做,例如[64, 32, 32, 3]
?
答案 0 :(得分:1)
使用keras.layers.Input
图层指定批处理大小:
from keras.layers import Conv2D, Input
from keras import regularizers
x = Input(shape=(32, 32, 3), batch_size=64)
conv1 = Conv2D(filters=32,
kernel_size=(3,3),
padding='same',
kernel_regularizer=regularizers.l2(1.),
input_shape=(32, 32, 3),
activation='elu')(x)
print(conv1.shape) # (64, 32, 32, 32)