code: def paddle_move_data_to_device(
      batch: Any, device: Optional[Union[str, int]]
  ) -> Any:
      r"""
      将 **paddle** 的数据集合传输到给定设备。只有 :class:`paddle.Tensor` 对象会被传输到设备中，其余保持不变。
  
      :param batch: 需要进行迁移的数据集合；
      :param device: 目标设备。可以是显卡设备的编号，或是``cpu``, ``gpu`` 或 ``gpu:x`` 格式的字符串；
          当这个参数为 `None`` 时，不会执行任何操作。
      :return: 迁移到新设备上的数据集合；
      """
      if device is None:
          return batch
  
      def batch_to(data: Any) -> Any:
          return paddle_to(data, device)
  
      return apply_to_collection(
          batch, dtype=paddle.Tensor, function=batch_to
      )
  
file_path: fastNLP/fastNLP/core/utils/paddle_utils.py
imports: import os
  import re
  from typing import Any, Optional, Union
  from fastNLP.envs.imports import _NEED_IMPORT_PADDLE
  from fastNLP.envs import FASTNLP_DISTRIBUTED_CHECK, FASTNLP_BACKEND_LAUNCH, USER_CUDA_VISIBLE_DEVICES
  from .utils import apply_to_collection
label_desc: Use image node_id 5 for calling a global function with example usage: paddle_move_data_to_device(batch, device) and returns: apply_to_collection, batch, paddle_to