mindspore.data_sink
===================

.. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.2/resource/_static/logo_source.svg
    :target: https://gitee.com/mindspore/mindspore/blob/r2.2/docs/api/api_python/mindspore/mindspore.data_sink.rst
    :alt: 查看源文件


.. py:function:: mindspore.data_sink(fn, dataset, sink_size=1, jit_config=None, input_signature=None)

    对输入的函数封装生成一个新的函数。

    .. note::
        使用数据下沉时,数据集将自动循环发送,此时仅需考虑每次下沉的步数 `sink_size` , `sink_size` 默认为 ``1`` ,代表每个epoch将数据全部下沉,若 `sink_size` 大于1,则每个epoch下沉数据量为 `sink_size` 的数据集。

    参数:
        - **fn** (Function) - 将与数据集一起运行的函数。
        - **dataset** (Dataset) - 训练数据集迭代器。数据集可以由数据集生成器API在 `mindspore.dataset` 中生成,例如 :class:`mindspore.dataset.ImageFolderDataset` 。
        - **sink_size** (int) - 控制每次数据下沉的step数量。 `sink_size` 必须为正整数。默认值: ``1`` 。
        - **jit_config** (JitConfig) - 编译时所使用的JitConfig配置项,详细可参考 :class:`mindspore.JitConfig` 。默认值: ``None`` ,表示以PyNative模式运行。
        - **input_signature** (Union[Tensor, List or Tuple of Tensors]) - 用于表示输入参数的Tensor。Tensor的shape和dtype将作为函数的输入shape和dtype。默认值: ``None`` 。

    返回:
        函数,该生成的函数会以数据下沉模式执行。

    异常:
        - **ValueError** - 如果 `sink_size` 不是正整数。