问题1:ModelScope preprocessor咋么改?没弄过
问题2:是这个吗?能具体看下,我那个咋么改吗?这个页面没有说明,找不到字段的说明
ModelScope 的预处理器的修改方式。在 ModelScope 中,您可以根据您的需求修改或自定义预处理器。首先,您需要了解您当前使用的预处理器是什么,然后根据需要进行修改。例如,如果您使用的是 image-instance-segmentation-preprocessor
确实包含了 ModelScope 预处理器的配置方式。是的,您可以根据这个示例来修改您的预处理器。具体来说,您可以在配置文件中指定预处理器的类型(例如:type="image-instance-segmentation-preprocessor"),并为训练和验证阶段分别定义预处理操作。
以 image-instance-segmentation-preprocessor 为例,您可以在配置文件中添加如下内容:
preprocessor = {
"type": "image-instance-segmentation-preprocessor",
"train": {
"resize": [256, 256],
"random_crop": [224, 224],
"random_flip": True,
"random_rotation": [0, 180],
"normalize": {"mean":[0.485, 0.456, 0.406], "std":[0.229, 0.224, 0.225]}
},
"val": {
"resize": [256, 256],
"center_crop": [224, 224],
"normalize": {"mean":[0.485, 0.456, 0.406], "std":[0.229, 0.224, 0.225]}
}
回答1:找个modelcard上的示例代码,在cfg_modify_fn函数中改,改完把cfg_modify_fn加入后面的kwargs中。您看一下这个图像分割模型卡片上configuration.json,里面有preprocessor的配置。
回答2:不好意思,是我看花眼了,在dataset中。cfg.dataset.classes=[..., ..., ...]
def cfg_modify_fn(cfg):
cfg.dataset.classes = ['Cat', 'Dog']
return cfg
kwargs = dict(
model=model_id,
data_collator=partial(collate, samples_per_gpu=samples_per_gpu),
train_dataset=train_dataset,
eval_dataset=val_dataset,
work_dir=WORKSPACE,
max_epochs=max_epochs,
cfg_modify_fn=cfg_modify_fn),此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”