如果我有一个简单的dataclass
,那么据我所知,我需要使用default_factory
。
但是,由于lambda,这使得类不可拾取:
@dataclass
class ExperimentConfig:
features: List[str] = field(
default_factory=lambda: ["value1", "value2"])
所以如果我们腌制它:
^{pr2}$酸洗会返回:
TypeError: can't pickle mappingproxy objects
这是由于mappingproxy
对象在c.__dataclass_fields__
中可见:
{'features':
Field(name='features',
type=typing.List[str],
default=<dataclasses._MISSING_TYPE object at 0x7f6ca8434588>,
default_factory=<function ExperimentConfig.<lambda> at 0x7f6c9951b268>,
init=True,
repr=True,
hash=None,
compare=True,
metadata=mappingproxy({}),
_field_type=_FIELD
)
}
我怎样才能使这门课变酸呢?我需要这样做,以便在Parallel
作业中使用joblib
发送它。
目前没有回答
相关问题 更多 >
编程相关推荐