Несоответствие с циклической обработкой - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь оценить точность моей модели. Я вычисляю среднее значение среднего парного евклидова подобия между логитами из каждого класса. Я использую TPUEstimator для обучения сети.

У меня есть тестовый код в Google Colab, где он работает нормально, но на реальной машине с виртуальной машиной это не так.

Они оба используют Tensorflow 1.13.1.

Colab работает под управлением Python 2.7.15rc1, где на виртуальной машине установлено 2.7.13.

labels_count = tf.size(tf.unique(labels)[0])
hot = tf.one_hot(labels, labels_count, dtype=tf.int32)

accu = []
for i in range(0, hot.shape[1]):
  a = tf.dynamic_partition(logits, hot[:, i],2)[1]
  out = pairwise_distance(a)
  accu.append(out)
accus = tf.convert_to_tensor(accu)
mean = tf.reduce_mean(tf.boolean_mask(accus, tf.logical_not(tf.is_nan(accus))))

Код ошибки на ВМ с TypeError: __int__ should return int object, но прекрасно работает в Colab, есть идеи, в чем может быть проблема?


РЕДАКТИРОВАТЬ: нормально воспроизвели проблему в Colab. В Colab я использовал tf.constant, который не используется в реальном коде. Так как же мне заставить диапазон работать в этом случае?

...