ModelScope图像实例分割,加载本地文件,您这边有进度吗?

ModelScope图像实例分割,加载本地文件,您这边有进度吗?

展开
收起
真的很搞笑 2023-09-10 09:28:12 183 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    是的,ModelScope 支持加载本地文件进行图像实例分割。在 ModelScope 中,您可以使用 image-instance-segmentation-preprocessor 对本地文件进行预处理。以下是一个使用本地文件进行图像实例分割的示例:

    1. 首先,确保您已经安装了 ModelScope。如果没有,请使用以下命令安装:

    pip install modelscope
    CopyCopy

    1. 然后,创建一个名为 config.yaml 的配置文件,并添加以下内容:

    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]
    CopyCopy

    1. 接下来,编写一个 Python 脚本,如下所示:

    import os
    import torch
    from torch.utils.data import Dataset
    from modelscope.datasets import ImageFolder
    from modelscope.train import SWALR
    from modelscope.optimizers import SWALR
    from modelscope.preprocessor import ImageInstanceSegmentationPreprocessor
    from modelscope.trainer import Trainer

    创建数据集

    class CustomDataset(Dataset):
    def init(self, root, transform=None):
    self.root = root
    self.transform = transform
    self.image_files = os.listdir(root)
    def len(self):
    return len(self.image_files)
    def getitem(self, index):
    image_path = os.path.join(self.root, self.image_files[index])
    image = torch.load(image_path)
    if self.transform:
    image = self.transform(image)
    return image

    设置预处理器

    preprocessor = ImageInstanceSegmentationPreprocessor.from_config(config_path="config.yaml")

    创建训练器

    trainer = Trainer.from_config(
    model=None,
    optimizer=SWALR.from_config(
    type="swalr",
    model=None,
    lr=0.001,
    anneal_strategy="cos",
    save_optim_stats=False,
    ),
    train_dataset=CustomDataset("path/to/train/data", transform=preprocessor.train()),
    val_dataset=CustomDataset("path/to/val/data", transform=preprocessor.val()),
    num_epochs=10,
    batch_size=32,
    save_interval=1,
    log_interval=1,
    save_path="./results",
    )

    开始训练

    trainer.train()
    CopyCopy

    1. 最后,运行您编写的 Python 脚本:

    python your_script_name.py
    CopyCopy

    以上示例展示了如何使用 ModelScope 的 image-instance-segmentation-preprocessor 对本地文件进行预处理,并加载本地文件进行图像实例分割。

    2023-09-11 07:31:23
    赞同 展开评论
  • MsDataset加载不上,估计要写一下加载的代码,处理成预处理器需要的格式。训练脚本中加入代码:from modelscope.msdatasets.dataset_cls import ExternalDatasettrain_config_kwargs={ 'ann_file': 'annotations/instances_train.json', 'img_prefix': 'images/train', 'folder_name': 'Pets', 'classes': ['Cat', 'Dog'], 'split_config':'./seg_local_data' }val_config_kwargs={ 'ann_file': 'annotations/instances_val.json', 'img_prefix': 'images/val', 'folder_name': 'Pets', 'classes': ['Cat', 'Dog'], 'test_mode':True, 'split_config':'./seg_local_data' }train_split_path_dict={'train':'./seg_local_data'}val_split_path_dict={'validation':'./seg_local_data'}train_dataset=ExternalDataset(split_path_dict=train_split_path_dict, config_kwargs=train_config_kwargs)train_dataset=MsDataset.to_ms_dataset(train_dataset)val_dataset=ExternalDataset(split_path_dict=val_split_path_dict, config_kwargs=val_config_kwargs)val_dataset=MsDataset.to_ms_dataset(val_dataset)数据集目录结构如下:(目前seg_local_data下只有一个Pets文件夹)3e15baa50145bba55d59536125d1073f.png
    如果是您自己的数据集,还得改一下preprocessor中class。,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2023-09-10 20:21:15
    赞同 展开评论

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

热门讨论

热门文章

还有其他疑问?
咨询AI助理