Data.batch_transform(批预处理) 模块¶
ppsci.data.process.batch_transform
¶
FunctionalBatchTransform
¶
Functional data transform class, which allows to use custom data transform function from given transform_func for special cases.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
transform_func
|
Callable
|
Function of batch data transform. |
required |
Examples:
>>> import ppsci
>>> from typing import Tuple, Dict, Optional
>>> def batch_transform_func(
... data_list: List[
... Tuple[Dict[str, np.ndarray], Dict[str, np.ndarray], Optional[Dict[str, np.ndarray]]]
... ],
... ) -> List[Tuple[Dict[str, np.ndarray], Dict[str, np.ndarray], Optional[Dict[str, np.ndarray]]]]:
... input_dicts, label_dicts, weight_dicts = zip(*data_list)
...
... for input_dict in input_dicts:
... for key in input_dict:
... input_dict[key] = input_dict[key] * 2
...
... for label_dict in label_dicts:
... for key in label_dict:
... label_dict[key] = label_dict[key] + 1.0
...
... return list(zip(input_dicts, label_dicts, weight_dicts))
...
>>> # Create a FunctionalBatchTransform object with the batch_transform_func function
>>> transform = ppsci.data.batch_transform.FunctionalBatchTransform(batch_transform_func)
>>> # Define some sample data, labels, and weights
>>> data = [({'x': 1}, {'y': 2}, None), ({'x': 11}, {'y': 22}, None)]
>>> transformed_data = transform(data)
>>> for tuple in transformed_data:
... print(tuple)
({'x': 2}, {'y': 3.0}, None)
({'x': 22}, {'y': 23.0}, None)
Source code in ppsci/data/process/batch_transform/preprocess.py
build_batch_transforms(cfg, collate_fn)
¶
Source code in ppsci/data/process/batch_transform/__init__.py
default_collate_fn(batch)
¶
Default_collate_fn for paddle dataloader.
NOTE: This default_collate_fn is different from official default_collate_fn
which specially adapt case where sample is None and pgl.Graph.
ref: https://github.com/PaddlePaddle/Paddle/blob/develop/python/paddle/io/dataloader/collate.py#L25
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
batch
|
List[Any]
|
Batch of samples to be collated. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Any |
Any
|
Collated batch data. |