问题遇到的现象和发生背景
使用tensorflow跑模型时,出现错误AttributeError: 'BatchDataset' object has no attribute 'ndim'
问题相关代码,请勿粘贴截图
history=model.fit(train_dataset,batch_size=batch_size, epochs=10,validation_data=val_dataset)
运行结果及报错内容
ttributeError Traceback (most recent call last)
<ipython-input-17-c440ece0c53a> in <module>
----> 1 history=model.fit(train_dataset,batch_size=batch_size, epochs=10,validation_data=val_dataset)
~\Anaconda3\envs\zktest\lib\site-packages\tensorflow\python\keras\_impl\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
1141 sample_weight=sample_weight,
1142 class_weight=class_weight,
-> 1143 batch_size=batch_size)
1144 # Prepare validation data.
1145 if validation_data:
~\Anaconda3\envs\zktest\lib\site-packages\tensorflow\python\keras\_impl\keras\engine\training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, batch_size)
763 feed_input_shapes,
764 check_batch_axis=False, # Don't enforce the batch size.
--> 765 exception_prefix='input')
766
767 if y is not None:
~\Anaconda3\envs\zktest\lib\site-packages\tensorflow\python\keras\_impl\keras\engine\training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
148 data = data.values if data.__class__.__name__ == 'DataFrame' else data
149 data = [data]
--> 150 data = [standardize_single_array(x) for x in data]
151
152 if len(data) != len(names):
~\Anaconda3\envs\zktest\lib\site-packages\tensorflow\python\keras\_impl\keras\engine\training_utils.py in <listcomp>(.0)
148 data = data.values if data.__class__.__name__ == 'DataFrame' else data
149 data = [data]
--> 150 data = [standardize_single_array(x) for x in data]
151
152 if len(data) != len(names):
~\Anaconda3\envs\zktest\lib\site-packages\tensorflow\python\keras\_impl\keras\engine\training_utils.py in standardize_single_array(x)
86 elif tensor_util.is_tensor(x):
87 return x
---> 88 elif x.ndim == 1:
89 x = np.expand_dims(x, 1)
90 return x
AttributeError: 'BatchDataset' object has no attribute 'ndim'
A
我的解答思路和尝试过的方法
我感觉是版本问题,但是找不到哪里改