开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

ModelScope环境安装及验证都是ok的,但是在快速开始模型训练-单卡情况下报错?

ModelScope环境安装及验证都是ok的,但是在快速开始模型训练-单卡情况下报错?(https://modelscope.cn/docs/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)差了一些资料也没解决:AttributeError: Can't pickle local object 'MsDataset._to_torch_dataset_with_processors..MsMapDataset'

展开
收起
真的很搞笑 2024-01-02 20:25:48 87 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误是由于在尝试将一个本地对象(MsDataset._to_torch_dataset_with_processors..MsMapDataset)进行pickle操作时出现了问题。为了解决这个问题,你可以尝试以下方法:

    1. 确保你的ModelScope版本是最新的。可以通过以下命令更新ModelScope:
    pip install --upgrade modelscope
    
    1. 检查你的代码中是否有对MsDataset._to_torch_dataset_with_processors..MsMapDataset对象的引用。如果有,请确保这些对象在使用后被正确删除或设置为None。

    2. 如果问题仍然存在,你可以尝试在训练脚本中添加以下代码,以禁用pickle操作:

    import sys
    sys.modules['MsDataset'] = None
    

    这将阻止pickle操作对MsDataset模块的调用,但请注意,这可能会导致其他问题。因此,建议首先尝试更新ModelScope版本和检查代码中的对象引用。

    2024-01-03 13:24:30
    赞同 展开评论 打赏
  • 这个错误提示通常是因为Python的pickle模块无法正确地序列化和反序列化对象。在这个情况下,'MsDataset._to_torch_dataset_with_processors..MsMapDataset'是一个局部对象,可能是在函数内部定义的,因此不能被pickle。

    你可以尝试以下方法来解决这个问题:

    1. 检查你的代码,确保没有在函数内部定义需要被pickle的对象。如果需要,你可以将这些对象定义为全局变量。

    2. 如果可能,你可以尝试使用其他的序列化库,如dill,它通常可以处理更多的Python对象。

    2024-01-03 09:09:36
    赞同 展开评论 打赏

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

热门讨论

热门文章

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
英特尔+阿里云机器学习PAI-全栈赋能AI生态,加速应用落地 立即下载