三重态“半硬”损耗()中的Tensorflow错误:;ValueError:尺寸必须相等“;

三重态“半硬”损耗()中的Tensorflow错误:;ValueError:尺寸必须相等“;,tensorflow,keras,tensorflow2.0,Tensorflow,Keras,Tensorflow2.0,我使用Tensorflow插件中的triplet\u semihard\u loss()函数来计算特性嵌入的triplet损失 我的ResNet-50,embedding\u output的输出是(无,8,82048) 我的稀疏地面真值标签的形状为y,是(None),即批次大小,使其成为整数ID的预期1D向量 在我的自定义train\u step()函数中,我调用了triplet\u semihard\u loss,在代码执行的这一点上,以下错误显示: ValueError: Dimension

我使用Tensorflow插件中的
triplet\u semihard\u loss()
函数来计算特性嵌入的triplet损失

我的ResNet-50,
embedding\u output
的输出是
(无,8,82048)

我的稀疏地面真值标签的形状为
y
,是
(None)
,即批次大小,使其成为整数ID的预期1D向量

在我的自定义
train\u step()
函数中,我调用了
triplet\u semihard\u loss
,在代码执行的这一点上,以下错误显示:

ValueError: Dimensions must be equal, but are 2048 and 8 for '{{node
 MatMul}} = BatchMatMulV2[T=DT_FLOAT, adj_x=false, adj_y=false](feature,
 transpose_1)' with input shapes: [?,8,8,2048], [2048,8,8,?].
可以看到完整的错误和我的代码

是什么导致这些维度翻转?