如何使用 tpu 解决 tf.keras 中的"Propagation of dynamic dimension failed"错误?



当我尝试使用 TPU 在谷歌 colab 上用我自己的图像训练图像检测器时,我遇到了此错误

从/job:worker/replica:0/task:0: 编译失败:要求从 hlo %convert.283 = f32[1,80,,传播动态维度 80,32]{3,2,1,0} convert(f32[1,80,80,32]{3,2,1,0} %add.1), metadata={op_type="FusedBatchNorm" op_name="bn_Conv1_3/FusedBatchNorm"}@{}@0 to hlo %clamp.288 = f32[1,80,80,32]{3,2,1,0} clamp(f32[1,80,80,32]{3,2,1,0} %broadcast.286, f32[1,80,80,32]{3,2,1,0} %convert.283, f32[1,80,80,32]{3,2,1,0} %broadcast.287), metadata={op_type="Relu6" op_name="Conv1_relu_3/Relu6"}, 未实现。 TPU 编译失败 [[节点TPUReplicateMetadata_1(定义于 :24)]]

这是代码的链接:

https://drive.google.com/open?id=1mPiod1At85RgNwHx4vYFxH38Ck16Ep1m

你知道发生了什么吗?

一定不是图片大小的问题,也不是批量大小的问题,我已经看过了。

谢谢。

我认为问题来自您的标签。请尝试以下代码:

y_train = tf.keras.utils.to_categorical(labels, NUM_CLASSES)
y_test = tf.keras.utils.to_categorical(labelstest, NUM_CLASSES)
zeros = tf.zeros([NUM_CLASSES], tf.int32)
y_train  = tf.math.add(y_train,zeros)
y_test = tf.math.add(y_train,zeros)

相关内容

最新更新