开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

请问下机器学习PAI ParquetDataset做shuffle应该如何构建最佳实践呢?

请问下机器学习PAI ParquetDataset做shuffle应该如何构建最佳实践呢?我理解的是ParquetDataset出的dataset已经是batch过的,再设置shuffle_buffer=k应该是缓存了k*batch_size条样本,出来的结果也是batch 之间的shuffle,不同的batch内部并不会有样本的shuffle对吗?

展开
收起
真的很搞笑 2023-11-12 08:43:04 46 0
2 条回答
写回答
取消 提交回答
  • 对的,是batch级别的shuffle,每个batch内部的样本不做shuffle。Parquet是列存,样本级别shuffle的内存拷贝开销会比较大,此回答整理自钉群“DeepRec用户群”

    2023-11-12 16:05:19
    赞同 展开评论 打赏
  • 是的,你的理解是正确的。在PAI中使用ParquetDataset时,由于ParquetDataset已经将数据按批次处理,因此再进行shuffle操作时,是在批次之间进行shuffle,而不是在每个批次内部进行shuffle。这样可以保证每个批次内部的样本顺序不变,但不同批次之间的样本顺序会发生变化。

    如果你希望在每个批次内部也进行shuffle,你可能需要使用其他的DataSet类型,例如TFRecordDataset或者CSVDataset等,这些数据集类型可以在每个批次内部进行shuffle。

    至于shuffle_buffer的设置,它决定了每次shuffle操作的样本数量。较大的shuffle_buffer可以提高shuffle的效果,但也可能会增加计算和存储的开销。因此,你需要根据实际的业务需求和计算资源来进行合理的设置。

    2023-11-12 09:08:33
    赞同 展开评论 打赏

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    阿里巴巴机器学习平台AI 立即下载
    基于Spark的面向十亿级别特征的 大规模机器学习 立即下载
    基于Spark的大规模机器学习在微博的应用 立即下载