AssertionError при использовании MirroredStrategy: isinstance (x, dataset_ops.DatasetV2) - PullRequest
2 голосов
/ 05 июня 2019

Я пытаюсь использовать MirroredStrategy, чтобы соответствовать моей последовательной модели с использованием двух графических процессоров Titan Xp. Я использую tenorflow 2.0 alpha на Ubuntu 16.04.

Я успешно запустил фрагмент кода из документации по тензорному потоку:

from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf

mirrored_strategy = tf.distribute.MirroredStrategy()
  with mirrored_strategy.scope():
  model = tf.keras.Sequential([tf.keras.layers.Dense(1, input_shape=(1,))])
  model.compile(loss='mse', optimizer='sgd')

dataset = tf.data.Dataset.from_tensors(([1.], [1.])).repeat(100).batch(10)
model.fit(dataset, epochs=2)
model.evaluate(dataset)

Однако, когда я пытаюсь тренироваться на своих данных, которые представляют собой разреженную матрицу формы (с использованием оптимизатора Адама и бинарной кроссентропии):

Shape X_train: (91422, 65545)
Shape y_train: (91422, 1)

Я получаю ошибку подтверждения в _distribution_standardize_user_data на

assert isinstance(x, dataset_ops.DatasetV2)

В коде tenoflow строка 2166 в training.py , кажется, вызывает эту ошибку утверждения.

Может кто-нибудь объяснить мне, в чем может быть проблема с моими данными?

1 Ответ

0 голосов
/ 06 июня 2019

Похоже, вы передаете набор данных в model.fit, model.fit ожидает numpy.ndarray.

...