mindspore.dataset.Dataset.bucket_batch_by_length ================================================ .. py:method:: mindspore.dataset.Dataset.bucket_batch_by_length(column_names, bucket_boundaries, bucket_batch_sizes, element_length_function=None, pad_info=None, pad_to_bucket_boundary=False, drop_remainder=False) 根据数据的长度进行分桶。每个桶将在数据填满的时候进行填充和批处理操作。 对数据集中的每一条数据进行长度计算。根据该条数据的长度计算结果和每个分桶的范围将该数据归类到特定的桶里面。 当某个分桶中数据条数达到指定的大小 `bucket_batch_sizes` 时,将根据 `pad_info` 的信息对分桶进行填充,再进行批处理。 执行流程参考下图: .. image:: bucket_batch_by_length_cn.png 参数: - **column_names** (list[str]) - 传递给参数 `element_length_function` 的数据列,用于计算数据的长度。 - **bucket_boundaries** (list[int]) - 指定各个分桶的上边界值,列表的数值必须严格递增。 如果有n个边界,则会创建n+1个桶,分配后桶的边界如下:[0, bucket_boundaries[0]),[bucket_boundaries[i], bucket_boundaries[i+1]),[bucket_boundaries[n-1], inf),其中,0