Open iamqiz opened 2 years ago
datasets 是从名称(字符串)到 :class:~fastNLP.DataSet
类型的dict,datasets['train']是class:~fastNLP.DataSet
我在fastNLP\core\dataset.py里只找到了这个方法,我觉得这行代码应该是没有作用的,可以删掉的那种
def apply(self, func, new_field_name=None, **kwargs):
"""
将DataSet中每个instance传入到func中,并获取它的返回值.
:param callable func: 参数是DataSet中的Instance
:param None,str new_field_name: 将func返回的内容放入到new_field_name这个field中,如果名称与已有的field相同,则覆
盖之前的field。如果为None则不创建新的field。
:param optional kwargs: 支持输入is_input,is_target,ignore_type
1. is_input: bool, 如果为True则将 `new_field_name` 的field设置为input
2. is_target: bool, 如果为True则将 `new_field_name` 的field设置为target
3. ignore_type: bool, 如果为True则将 `new_field_name` 的field的ignore_type设置为true, 忽略其类型
:return List[Any]: 里面的元素为func的返回值,所以list长度为DataSet的长度
"""
@xyc0123456789 谢谢老铁,同意你的观点, 后来我知道了python中可以这样把变量/函数等对象单独放一行而不使用它且不会报错
如下 https://github.com/LeeSureman/Flat-Lattice-Transformer/blob/200af2cf64cd4cd6dd0e357bbd48609203abdfd8/V1/flat_main.py#L632