微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有tf.data.dateset的tf.compat.v1.disable_eager_execution

如何解决带有tf.data.dateset的tf.compat.v1.disable_eager_execution

我正在使用tensorflow 2.2。我有两个传递给tf.data.dataset.from_tensor_slices()的numpy数组(功能标签):

train_dataset = tf.data.Dataset.from_tensors(feature_train_slice,label_train_slice).shuffle(buffer_size).reapeat()

test_dataset = tf.data.Dataset.from_tensors(feature_test_slice,label_test_slice).shuffle(buffer_size).repeat()

我正在尝试将此数据传递给我的model.fit():

history = self.model.fit(ds_train,steps_per_epoch=int(train_steps / (batch_size)),verbose=1,epochs=epochs,callbacks=self.call_back(),use_multiprocessing=True,validation_data = test_dataset,validation_steps = int(validation_steps / (batch_size))
                            )

我用过

tf.compat.v1.disable_eager_execution()

在我的代码开头。如果我将其注释掉,则培训没有问题,但是我意识到的培训速度较慢(在2080TI上,每个步骤需要2秒钟)。如果我离开它,每个步骤大约需要1.2秒。但是,该程序永远不会越过该行

train_dataset = tf.data.Dataset.from_tensors(feature_train_slice,label_train_slice).shuffle().reapeat()

我离开程序超过30分钟,虽然消耗了大约60GB(我的ram是64GB),但该程序似乎无能为力。有没有人见过这个?欢迎任何帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。