ModelScope在训练时加入EvaluationHook,但是训练时验证遇到报错怎么办?

ModelScope在训练时加入EvaluationHook,但是训练时验证遇到报错怎么办?

inputs_tensor, model_input_name, model_kwargs = self._prepare_model_inputs(       │
│   1221 │   │   │   inputs, generation_config.bos_token_id, model_kwargs                          │
│   1222 │   │   )                                                                                 │
│ ❱ 1223 │   │   batch_size = inputs_tensor.shape[0]                                               │
│   1224 │   │                                                                                     │
│   1225 │   │   # 4. Define other model kwargs                                                    │
│   1226 │   │   model_kwargs["output_attentions"] = generation_config.output_attentions           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
AttributeError: 'dict' object has no attribute 'shape'

展开
收起
青城山下庄文杰 2023-07-29 13:08:52 104 分享 版权
3 条回答
写回答
取消 提交回答
  • 目前从报错来看,inputs_tensor可能是您的完整输入,也就是{'input_ids': sometensor, 'attention_mask': sometensor},中间变量的传递可能存在问题-此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2023-07-31 20:27:56
    赞同 展开评论
  • 如果在使用ModelScope训练时加入EvaluationHook,并且在训练过程中遇到验证错误,你可以尝试以下步骤来解决问题:

    1. 检查数据:确保你的验证数据集(Validation set)被正确加载和预处理。检查数据集的格式、路径和文件是否正确,并重新运行代码以确保数据集能够正常加载。

    2. 检查模型和损失函数:确认你的模型和损失函数在训练和验证过程中都能正常工作。检查模型的配置和定义是否正确,确保它们与你的任务相匹配。对于损失函数,确保选择了适当的损失函数,并在训练和验证过程中正确地使用它。

    3. 参数设置:检查你在EvaluationHook中使用的参数设置。确认参数名称、类型和值是否正确,并与ModelScope文档或示例代码进行比对,确保没有遗漏或错误的设置。

    4. 日志和错误信息:仔细阅读错误消息和日志输出,以获取有关发生错误的更多上下文信息。这可能会提供关于具体错误原因或引发问题的线索。根据错误消息调整代码或配置。

    5. 调试模式:如果错误仍然无法解决,可以尝试在调试模式下运行代码,以便逐步跟踪和排除问题。通过逐个打印变量、观察模型状态和损失函数输出等,可以更好地理解代码执行过程中出现的问题。

    6. 寻求帮助:如果上述方法都无法解决问题,你可以在ModelScope的官方支持渠道寻求帮助。提交你遇到的具体错误信息、代码片段和配置参数,并与开发者团队或其他用户交流,他们可能提供更具体的指导和解决方案。

    2023-07-31 18:48:24
    赞同 展开评论
  • 北京阿里云ACE会长

    在 ModelScope 中,可以通过添加 EvaluationHook 来在训练过程中进行验证和评估模型的性能。如果在训练时验证遇到报错,建议您检查以下几个方面:

    数据集和预处理:在进行验证时,需要使用与训练时相同的数据集和预处理方法。如果您的数据集或预处理方法发生了变化,可能会导致验证时出现错误。建议您仔细检查数据集和预处理方法,并确保它们与训练时一致。

    模型定义和参数:在进行验证时,需要使用与训练时相同的模型定义和参数。如果您在验证时使用了不同的模型或参数,可能会导致验证时出现错误。建议您仔细检查模型定义和参数,并确保它们与训练时一致。

    验证代码和参数:在添加 EvaluationHook 时,需要正确地设置验证代码和参数。如果您的验证代码或参数设置有误,可能会导致验证时出现错误。建议您仔细检查验证代码和参数设置,并根据需要进行调整和优化。

    训练环境和依赖:在进行验证时,需要确保训练环境和依赖项与训练时一致。如果您的训练环境或依赖项发生了变化,可能会导致验证时出现错误。建议您仔细检查训练环境和依赖项,并确保它们与训练时一致。

    2023-07-30 12:59:15
    赞同 展开评论

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

热门讨论

热门文章

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