【发布时间】:2021-04-16 12:16:34
【问题描述】:
我正在使用来自 Tensorflow Addons 的 triplet_semihard_loss() 函数来计算特征嵌入的三元组损失。
我的 ResNet-50 的输出 embedding_output 是 (None,8,8,2048)。
我的稀疏地面实况标签y 的形状是(None),即批次的大小,使其成为预期的整数 ID 的一维向量。
在我的自定义train_step() 函数中,我调用triplet_semihard_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,?].
完整的错误和我的代码可以看到here。
是什么导致这些维度翻转?
【问题讨论】:
-
问题解决了吗?我也有类似的问题
标签: tensorflow keras tensorflow2.0