我尝试使用MirroredStrategy来适应我使用两个Titan Xp gpu的顺序模型。我在Ubuntu16.04上使用TensorFlow2.0Alpha。在
我成功地运行了tensorflow文档中的代码片段:
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)
但是,当我试图训练我的数据时,这是一个稀疏的形状矩阵(使用adam优化器和二进制交叉熵):
^{pr2}$我收到一个断言错误,在
assert isinstance(x, dataset_ops.DatasetV2)
在tensoflow代码中,training.py中的第2166行似乎导致了这个断言错误。在
有人能解释一下我的数据有什么问题吗?在
我在使用
dataset= strategy.experimental_distribute_dataset(train_dataset)
和model.fit(dataset)
时也遇到了类似的错误。在删除
strategy.experimental_distribute_dataset
之后。它工作得很好。这与TF document相似,他们说keras.Model.fit()
自动处理所有事情,只有当我们想用tf.GradientTape()
进行定制训练时,我们才需要手动的分布式数据集。在你可以通过offical tutorial of MNIST了解更多信息
好像你把数据集模型.拟合, 模型.拟合正在期待一个努比·恩达雷. 在
相关问题 更多 >
编程相关推荐