Я пытаюсь использовать 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 , кажется, вызывает эту ошибку утверждения.
Может кто-нибудь объяснить мне, в чем может быть проблема с моими данными?