【问题标题】:ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, <class 'pandas.core.frame.DataFrame'>ValueError:找不到可以处理输入的数据适配器:<class 'numpy.ndarray'>,<class 'pandas.core.frame.DataFrame'>
【发布时间】:2023-03-30 21:39:01
【问题描述】:

在我的代码中,我的模型编译正常,但是当我使用 pd.get_dummies(pd.Series(test_labels)) 获取验证图像的标签时,它给了我以下错误。

File "train_model.py", line 43, in <module>
    pd.get_dummies(pd.Series(test_labels))])
  File "C:\Users\ariji\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
    use_multiprocessing=use_multiprocessing)
  File "C:\Users\ariji\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 224, in fit
    distribution_strategy=strategy)
  File "C:\Users\ariji\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 497, in _process_training_inputs
    adapter_cls = data_adapter.select_data_adapter(x, y)
  File "C:\Users\ariji\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\engine\data_adapter.py", line 653, in select_data_adapter
    _type_name(x), _type_name(y)))
ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, <class 'pandas.core.frame.DataFrame'>

似乎是什么问题?我的模型是一个简单的 tensorflow 顺序模型。

【问题讨论】:

    标签: python pandas tensorflow


    【解决方案1】:

    那是因为pd.get_dummies 给出了pd.DataFrame。您需要将其转换为 numpy.ndarray 类型。

    试试

    pd.get_dummeis(pd.Series(test_labels)).to_numpy()
    

    【讨论】:

    • 谢谢,它成功了。当我用 tf2 运行我的旧代码时,不知何故我遇到了这个问题。它曾经与旧的 tensorflow 一起工作得很好
    猜你喜欢
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 2020-02-29
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多