首页 > 解决方案 > 将多维 (3D) dask 数组转换为 dask 数据帧

问题描述

我有一个以 LSTM 作为第一层的 tf.keras 模型(作为输入的 3D 张量)。我需要将 dask 数组(3-D)转换为 dask 数据框(负责拟合模型的模块的强制性要求),其中包含 1 列(每个单元格都是 3d 数组。

我正在执行以下操作:

c1 = da.from_array(np.arange(100000, 190000).reshape((1, 30000, 3)), chunks=1000)
df = ddf.from_array(c1, columns=['Feature'])

这给了我以下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-46-a352c857c8f5> in <module>()
      8 # c3
      9 
---> 10 df = ddf.from_array(c1, columns=['Feature'])
     11 df
     12 # # generate dask dataframe

2 frames
/usr/local/lib/python3.7/dist-packages/dask/dataframe/io/io.py in _meta_from_array(x, columns, index)
     27         raise ValueError(
     28             "from_array does not input more than 2D array, got"
---> 29             " array with shape %r" % (x.shape,)
     30         )
     31 

ValueError: from_array does not input more than 2D array, got array with shape (1, 30000, 3)

标签: pythontensorflowlstmdask

解决方案


推荐阅读