Tensorflow 如何解决;“动态维度传播失败”;tf.keras中的tpu错误?

Tensorflow 如何解决;“动态维度传播失败”;tf.keras中的tpu错误?,tensorflow,artificial-intelligence,google-colaboratory,tpu,Tensorflow,Artificial Intelligence,Google Colaboratory,Tpu,当我尝试在带有TPU的google colab上使用自己的图像训练图像检测器时,我出现了一个错误: 来自/作业:工作/副本:0/任务:0: 翻译(3,2,2,1,2,1,80,80,1,1,1,1,1,1,0)转换(3,2,1,80,80,80,80,32)转换(3,3,1,80,80,80,80,3,3,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,要求传播一个动态维度从从hlo传播一个动态维度从hlo的动态维从从hlo的一个动态维从hlo%的一个层面从从hlo%的一个层

当我尝试在带有TPU的google colab上使用自己的图像训练图像检测器时,我出现了一个错误:

来自/作业:工作/副本:0/任务:0: 翻译(3,2,2,1,2,1,80,80,1,1,1,1,1,1,0)转换(3,2,1,80,80,80,80,32)转换(3,3,1,80,80,80,80,3,3,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,要求传播一个动态维度从从hlo传播一个动态维度从hlo的动态维从从hlo的一个动态维从hlo%的一个层面从从hlo%的一个层面从HLOO%的一个层面从hlo%%%%转换。转换。转换。转换。转换。转换。283.283.283.283.283.283.283.283.283.283.283.283.283=从从从从从一个层面的一个层面的一个从从一个从从从从1,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)]]

以下是代码链接:

你知道发生了什么事吗

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


谢谢。

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

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)
我犯了这个错误(细节略有不同)。就我而言,不要认为这是标签的型号或形状。我使用tf.image和其他工具作为tf.data.Dataset管道的一部分执行数据aug,如果我关闭数据aug,它就会消失,需要隔离问题所在。如果你有一个提示,请评论。