2021SC@SDUSC
上篇博客我们提到了RawField类除了__init__函数外,还内含了两个函数,分别为preprocess(self, x)和process(self, batch, *args, **kwargs)作为数据的预处理函数和处理函数。
首先我们先来看preprocess函数。
def preprocess(self, x):
if self.preprocessing is not None:
return self.preprocessing(x)
else:
return x
preprocess函数是对数据的预处理,如果提供了预处理的pipe,则预处理一个示例。self.preprocessing则是RawField类中的属性,在__init__函数中可以看出。
def __init__(self, preprocessing=None, postprocessing=None, is_target=False):
self.preprocessing = preprocessing
self.postprocessing = postprocessing
self.is_target = is_target
接下来我们看process函数。
def process(self, batch, *args, **kwargs):
if self.postprocessing is not None:
batch = self.postprocessing(batch)