Zas*_*ash 5 machine-learning python-3.x parquet tensorflow pytorch
我正在尝试将一些 parquet 文件从目录加载到 Python 中以用于tensorflow/pytorch。
文件太大,无法通过 pyarrow.parquet 函数加载
import pyarrow.parquet as pq
dataset = pq.ParquetDataset('dir')
table = dataset.read()
Run Code Online (Sandbox Code Playgroud)
这给出了out of memory error.
我也尝试过使用petastorm,但这不起作用,make_reader()因为它不是这种petastorm类型。
with make_batch_reader('dir') as reader:
dataset = make_petastorm_dataset(reader)
Run Code Online (Sandbox Code Playgroud)
当我使用make_batch_reader(),然后使用 时make_petastorm_dataset(reader),它再次给出了zip not iterable error或类似的东西。
我不确定如何将文件加载到 Python 中进行 ML 训练。一些快速的帮助将不胜感激。
谢谢扎什
对于pyarrow,您可以使用 Python 列出目录,迭代*.parquet文件,将每个文件打开为,然后一次pq.ParquetFile读取一行组。这将减轻内存压力,但如果没有并行化,速度不会超快。
对于petastorm,你使用是正确的make_batch_reader()。事实上,错误消息并不总是有帮助;但您可以检查堆栈跟踪并调查它源自petastorm 代码的位置。
| 归档时间: |
|
| 查看次数: |
5397 次 |
| 最近记录: |