创建用于线性回归的recordio文件

时间:2018-07-26 11:45:26

标签: node.js machine-learning amazon-sagemaker

我正在使用AWS Sagemaker在CSV数据集上运行线性回归。我进行了一些测试,并且我的示例数据集占整个数据集的10%,csv文件最终的大小为1.5 GB。

现在,我想运行完整的数据集,但是15 GB文件遇到了问题。当我用Gzip压缩文件时,它最终只有20 MB。但是,Sagemaker仅在“ Protobuf-Recordio”文件上支持Gzip。我知道我可以使用im2rec制作Recordio文件,但似乎打算将其用于图像分类的图像文件。我也不确定如何生成protobuf文件。

让事情变得更糟(?):)我正在Node中生成数据集。

我将非常感谢能为正确的方法提供一些指导。

1 个答案:

答案 0 :(得分:0)

如果您愿意使用Python脚本来转换数据,此链接https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-preprocess-data-transform.html会提供有用的信息。

SDK中的实际代码为https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/amazon/common.py

基本上,您可以将CSV数据(分批加载)到NDArray中,以便可以写入多个文件,然后使用https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/amazon/common.py转换为Recordio-protobuf。您应该能够将带有Recordio-protobuf的缓冲区写入文件。

谢谢