为什么keras输入对象中batch_size参数的规范不替换?/None条目?

为什么keras输入对象中batch_size参数的规范不替换?/None条目?,keras,tensorflow2.0,keras-layer,tf.keras,batch-normalization,Keras,Tensorflow2.0,Keras Layer,Tf.keras,Batch Normalization,我想在损失函数期间计算所有编码向量之间的值(相似性/距离),但这是不可能的,因为我无法访问批处理维度。出于这个原因,我想通过带有参数batch_size的keras输入对象将它们定义为一个固定值。但这是行不通的 如何获得固定值?/None输入tensorflow keras模型中的批次维度 input= tf.keras.Input(shape=(20, 20, 3), batch_size=64, name="Input0") 输入尺寸:(?,20,20,3) 我怎么设置

我想在损失函数期间计算所有编码向量之间的值(相似性/距离),但这是不可能的,因为我无法访问批处理维度。出于这个原因,我想通过带有参数batch_size的keras输入对象将它们定义为一个固定值。但这是行不通的

如何获得固定值?/None输入tensorflow keras模型中的批次维度

input= tf.keras.Input(shape=(20, 20, 3), batch_size=64, name="Input0")
输入尺寸:(?,20,20,3)


我怎么设置这个?在模型编译过程中,值是固定的,因此它在图形中是固定值?

我认为您正在淹没在一杯水中,是什么让您认为由于批次维度的原因,在批次上计算度量是不可能的?那么像均方误差这样的损失是如何做到的呢?@Dr.Snoopy我的输出是(?,50)在哪里?等于64。现在我想计算所有64个向量之间的欧几里德距离,然后计算平均值。我将计算64*64距离。较大的值会增加损失。小值优先。我如何计算这个值?由于损失函数中存在此不特定的维度,因此模型的编译失败。