4

当我尝试使用 TPU 在 google 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 %钳位.288 = f32[1,80,80,32]{3,2,1,0} 钳位(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 编译失败 [[node TPUReplicateMetadata_1(定义于:24)]]

这是代码的链接:

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

你知道发生了什么吗?

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

谢谢。

4

1 回答 1

1

我认为问题出在你的标签上。请尝试以下代码:

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)
于 2020-04-19T04:48:07.227 回答