Tensorflow Keras Model可在CPU上运行,但不适用于GPU

时间:2018-10-23 09:14:16

标签: python tensorflow keras keras-2

我是asp-route="@something.Id"asp-route-id="@something.Id"的初学者。

我使用以下配置在我的CPU上运行了代码,它工作得很好:

Tensorflow

但是当我尝试在具有以下配置的GPU服务器上运行代码时:

Keras

我收到此错误:

Tensorflow version: 1.10.0
tf.keras version 2.1.6

代码如下:

Tensorflow(GPU) version: 1.8.0
tf.keras version 2.1.5

在GPU上,它在Traceback (most recent call last): File "Keras3 tut.py", line 127, in <module> history = model.fit(ds_train, steps_per_epoch = 1500, epochs = 15) File "/usr/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training.py", line 1143, in fit batch_size=batch_size) File "/usr/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training.py", line 765, in _standardize_user_data exception_prefix='input') File "/usr/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training_utils.py", line 150, in standardize_input_data data = [standardize_single_array(x) for x in data] File "/usr/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training_utils.py", line 150, in <listcomp> data = [standardize_single_array(x) for x in data] File "/usr/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training_utils.py", line 88, in standardize_single_array elif x.ndim == 1: AttributeError: 'BatchDataset' object has no attribute 'ndim' 处给出错误。

该代码在我的CPU上工作正常,但在GPU服务器上却无法正常工作。 问题是否可能是由于版本差异引起的?我试图找到解决方案,但无济于事。

编辑1: 我尝试使用与GPU服务器(Tensorflow 1.8.0 Keras 2.1.5)相同的配置在PC上运行相同的代码,这给了我完全相同的错误。因此,这绝对是版本问题。我认为,tf.data API中必须进行了一些修改,但找不到答案。

0 个答案:

没有答案
相关问题