1

我想用它Dask来读取一个大型数据集并为其提供Keras模型。数据由音频文件组成,我正在使用自定义函数来读取它们。我试图应用delayed到这个函数,并将所有文件收集在一个 dask 数组中,如下所示:

x = da.stack([da.from_delayed(delayed(get_item_data)(fp, sr, mono, post_processing, data_shape), shape=data_shape, dtype=np.float32) for fp in df['path']])

(见源码

为了训练 Keras 模型,我如上所述计算 X 和 Y,并将它们输入到函数fit中。

但是,训练非常缓慢。我试图改变chunksize它,它仍然很慢。

你能告诉我在创建数组时我是否做错了什么?或者有什么好的做法?

谢谢

4

1 回答 1

4

据我所知,Keras 没有对 Dask.arrays 的任何内置支持。因此,我不确定当您将 dask.array 直接提供给 Keras 函数时会发生什么。我的猜测是它会自动将 dask.array 转换为(可能非常大)numpy 数组。

于 2017-05-08T11:55:53.227 回答