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

自己创建的模型,使用模型id的方式调用进行推理时报错

在jupyterlab中训练好了模型,并且将模型文件导出为pb形式,在jupyter上可以正常调用导出的模型文件进行推理(模型路径写的是模型导出后的文件路径),随后通过SDK令牌方式把模型文件上传到了自己创建的模型中。上传成功后,尝试将推理代码中的模型路径改为自己创建的模型id进行推理,运行代码后报错,报错如下:The model: cvaisz/cv_unet_person-image-cartoon_ysfmodels has no valid revision!

以下截图为刚开始的步骤:模型导出后的存放路径,并将该路径写入推理代码中,成功推理。 image.png

然后把模型文件上传到自己创建的模型中 image.png

上传成功后,将推理代码中的模型路径改为模型id,就出现里下图的报错 image.png

小白,不太清楚哪方面除了问题,求大神解答!!!感谢!!

展开
收起
noio7mpot427e 2023-05-17 07:43:46 298 0
23 条回答
写回答
取消 提交回答
  • 根据您提供的信息,报错信息 "The model: cvaisz/cv_unet_person-image-cartoon_ysfmodels has no valid revision!" 意味着在使用自己创建的模型ID进行推理时,找不到有效的模型版本。出现此问题可能有以下几个原因:

    1. 模型版本不存在:请确保您上传模型时指定了正确的版本号。阿里云计算机视觉服务要求每个模型都有一个非零的版本号,并且必须明确指定版本号进行推理。

    2. 上传错误的路径:请确保在上传模型时,模型文件的路径是正确的。检查一下你上传的模型文件路径是否正确,尤其是确认文件是否在指定的路径下。

    3. 权限问题:如果您是通过SDK令牌方式上传模型的,可能需要确保您的令牌具有足够的权限来访问和推理该模型。请检查您的令牌权限是否正确配置,并且允许对该模型进行推理操作。

    针对以上问题,请按照以下步骤进行排查和解决:

    1. 确认模型版本存在并且有效。可以通过查看模型列表或使用相关的命令行工具来验证。

    2. 确认模型文件路径正确。可以再次检查模型的导出路径,并确保上传的时候指定的路径是准确无误的。

    3. 检查令牌权限。请确保您的令牌具有足够的权限来访问和推理该模型。可以查阅相关文档或联系阿里云支持团队以获取帮助。

    2023-06-26 08:28:59
    赞同 展开评论 打赏
  • 报错信息 "The model: cvaisz/cv_unet_person-image-cartoon_ysfmodels has no valid revision!" 表明所使用的模型ID没有有效的版本。

    当使用模型ID进行推理时,需要确保所引用的模型ID是正确且包含有效的模型版本。在使用自己创建的模型时,通常会有不同的模型版本,而每个版本都有唯一的标识符。您需要确认在自己创建的模型中是否存在有效的模型版本,并使用正确的模型版本标识符进行推理。

    您可以通过以下方式检查自己创建的模型是否存在有效版本:

    1. 检查模型版本列表:通过您使用的SDK或平台提供的方法,获取自己创建的模型的版本列表,并确认其中是否存在有效的版本。确保模型版本处于已发布或可用状态。

    2. 检查模型ID:确认在推理代码中使用的模型ID是否正确,不仅要包含模型名称,还要包含有效的版本标识符。模型ID的格式通常为“模型名称/版本标识符”。

    如果您确认模型ID正确且存在有效版本,但仍然遇到相同的报错信息,请检查您的访问权限和SDK配置是否正确,确保您有访问该模型的权限,并且SDK配置中包含正确的令牌或凭证。

    如果问题仍然存在,建议联系阿里语音AI的技术支持或开发者论坛,提供详细的报错信息和代码示例,以便他们更好地帮助您解决问题。

    2023-06-23 22:56:47
    赞同 展开评论 打赏
  • 出现 "The model: cvaisz/cv_unet_person-image-cartoon_ysfmodels has no valid revision!" 的错误,可能是因为您在使用SDK令牌方式上传模型时,未正确设置模型版本号(revision)。具体解决方案如下:

    1. 确认模型版本号:在使用 SDK 上传模型时,需要确保模型版本号 (revision) 已经正确设置。如果未指定版本号,则会导致上传失败或者无法访问模型。

    2. 检查模型是否存在:要访问创建的模型,需要确保该模型已经成功上传,并且被成功存储在对应位置。如果模型不存在或者存储位置不正确,则会导致访问失败。

    3. 检查权限设置:在访问模型时,需要确保自己拥有足够的权限,并且已经将相应的权限策略和身份验证信息配置好。例如,如果使用了私有令牌或者 API 密钥等方式进行访问,需要确保授权信息正确并且合法。

    4. 检查代码逻辑:在进行推理时,需要确保代码中的模型路径和模型 ID 是正确的,并且符合要求。建议您在代码中增加调试信息和异常处理逻辑,以便更好地排错和解决问题。

    总之,出现 "The model: xxx has no valid revision!" 的错误,通常是因为模型版本号未正确设置或者访问权限不足等原因导致。建议您仔细检查并排除以上可能性,并且根据实际情况调整代码逻辑和配置信息,以解决问题。如果问题仍然存在,请咨询相关技术支持团队。

    2023-06-17 09:14:43
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    你好,根据你的描述,问题可能出在模型上传的过程中。报错信息 "The model: cvaisz/cv_unet_person-image-cartoon_ysfmodels has no valid revision!" 意味着创建的模型在指定的版本中不存在或者无效。

    请检查以下几个步骤,看是否有遗漏或错误:

    1. 确保你上传的模型名称和版本号与推理代码中使用的完全一致。
    2. 检查SDK令牌是否有足够的授权用于上传模型。
    3. 检查模型上传是否成功,可以通过在阿里云计算机视觉控制台查看该模型的版本历史。
    4. 如果上传的是pb文件,请确保在创建模型及版本的时候选择了TensorFlow Serving类型,并上传了.pb格式的文件
    2023-06-16 15:41:39
    赞同 展开评论 打赏
  • 根据您提供的信息,报错信息显示模型ID为"cvaisz/cv_unet_person-image-cartoon_ysfmodels"的模型没有有效的版本(revision)。这可能是由于上传模型时出现了一些问题导致的。

    建议您执行以下步骤来解决问题:

    1. 确保模型文件上传成功:确认模型文件上传到自己创建的模型中后,检查上传是否成功。您可以在模型管理界面或通过API来验证模型是否已经成功上传,并且具有有效的版本。

    2. 检查模型版本:如果模型已经成功上传,确保模型具有至少一个有效的版本(revision)。在某些平台或框架中,上传模型后可能需要进行训练或创建版本才能正常使用。请确保您的模型具有可用的版本。

    3. 检查模型ID:确认使用的模型ID与您上传的模型ID一致。在推理代码中,将模型路径改为模型ID时,请确保提供的模型ID是准确的,并且与您上传的模型相匹配。

    4. 验证模型的可用性:尝试使用模型ID进行推理之前,可以先尝试通过API或平台的相关功能来验证模型的可用性。这可以包括使用模型ID加载模型、获取模型的元数据信息或进行简单的推理操作。

    如果您尝试了上述步骤但问题仍然存在,建议您查阅相关平台或框架的文档,了解模型上传和推理的具体要求和流程。您也可以提供更多细节,例如使用的平台、框架或代码示例,以便我能够更具体地帮助您解决问题。

    2023-06-14 21:50:43
    赞同 展开评论 打赏
  • 从楼主提供的信息来看,可能存在以下几种原因:

    1. 模型ID不正确:请确保使用的模型ID与您所上传的模型ID一致。

    2. 模型状态异常:如果该自定义模型的训练状态处于“失败(Failed)”或“废弃(Abandoned)”状态,会导致无法进行有效推理。您可以前往AI平台Web Console查看该模型的状态是否正常。

    3. 导入格式错误:在将模型文件格式转换为TensorFlow Serving支持的格式后,需要确保模型版本(version)以及签名(signature)已经正确设置。

    或者提供多点详细信息(例如代码片段、执行环境等)。

    2023-06-13 10:13:33
    赞同 展开评论 打赏
  • 这个错误提示表明您上传的模型在ModelHub中没有有效的版本。以下是一些可能导致此问题的原因和解决方法: 模型尚未发布:如果您刚刚创建了一个新的模型,但还没有发布它,则您需要发布该模型才能进行推理操作。在SDK中,您可以使用client.create_model_version方法将已训练好的模型文件上传到刚创建的模型版本中,并将它们打包成tar.gz格式发布。详细信息请参阅ModelScope API文档。 模型版本不可用:如果您在使用模型ID时仍然收到错误消息,则可能是因为您尝试调用的某个模型版本目前不可用。在这种情况下,您需要检查您正在使用的模型版本是否已发布,并确保您在应用程序代码中指定了正确的模型版本。 模型ID不正确:如果您输入的模型ID不正确,也会导致类似的错误消息。请确保您输入了正确的模型ID,并且在使用此ID进行推理时也使用了相应的模型版本。

    2023-06-13 09:44:59
    赞同 1 展开评论 打赏
  • 该报错可能是由于以下原因引起的:

    1.模型路径输入错误导致的:请检查模型id是否输入正确,并确认其在模型服务中是否存在。

    2.模型服务认证问题导致的:请确认您的模型服务认证信息是否正确,并是否涵盖了您尝试访问的模型。

    3.模型服务配置问题导致的:请检查模型服务的配置是否正确,并确保您尝试访问的模型已经以正确的方式注册到了模型服务中,同时模型的访问权限是否已正确设置。

    解决这个问题的方法是:

    1.请检查模型id是否输入正确,并确认其在模型服务中是否存在。

    2.确认您的模型服务认证信息是否正确,并是否涵盖了您尝试访问的模型。

    3.确认模型服务的配置是否正确,并确保您尝试访问的模型已经以正确的方式注册到了模型服务中,同时模型的访问权限是否已正确设置。

    需要注意的是,由于您通过SDK令牌方式上传模型到模型服务中,如果您在上传时未加上模型版本,并且通过upload_model接口上传,则在上传后需要将新上传的模型版本设置为默认版本。您可以在模型服务的管理页面中进行相关设置。

    2023-06-12 17:28:16
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据您的描述,这个错误可能是由于以下原因之一导致的:

    1. 模型 ID 不正确

    请确保您在代码中使用的模型 ID 是正确的,即与您上传到平台的模型 ID 一致。如果模型 ID 不正确,SDK 将无法读取和调用模型,并提示该错误信息。

    1. 模型没有有效的版本

    请确保您上传的模型具有有效的版本,且该版本已经发布或者至少处于审核状态。否则 SDK 将无法读取和调用模型,因为缺乏可用的版本。

    1. SDK 版本不兼容

    请确认您所使用的 SDK 版本是否与模型版本和平台要求相匹配。如果 SDK 版本过低或过高,可能会导致与模型通信失败或者产生其他错误。建议参考官方文档,了解 SDK 版本和要求的相关信息。

    1. 模型文件格式不支持

    请确认您上传的模型文件格式是否与平台要求一致。例如,某些平台可能只支持 TensorFlow 或 PyTorch 格式的模型,而不支持 ONNX 或其他格式。如果您上传的模型文件格式不正确,SDK 可能无法读取和调用模型。

    2023-06-11 20:41:09
    赞同 展开评论 打赏
  • 根据错误提示,看起来模型ID cvaisz/cv_unet_person-image-cartoon_ysfmodels 没有有效的版本。请确保您已经在模型仓库中上传了有效的版本,并使用正确的模型ID和版本号进行调用。

    您可以使用以下代码片段列出模型的所有版本,并检查模型ID是否正确:

    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    model_id = "cvaisz/cv_unet_person-image-cartoon_ysfmodels"
    versions = openai.Model.list_versions(model=model_id)
    
    print(versions)
    

    如果模型ID正确,但版本号无效,则可以使用以下代码片段列出所有有效版本的ID:

    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    model_id = "cvaisz/cv_unet_person-image-cartoon_ysfmodels"
    versions = openai.Model.list_versions(model=model_id)
    
    valid_versions = []
    for version in versions['data']:
        if version['status'] == 'ready':
            valid_versions.append(version['id'])
    
    print(valid_versions)
    

    然后您可以选择一个有效的版本号,将其与模型ID一起使用进行推理。如果仍然无法解决问题,请尝试联系OpenAI支持团队以获得更多帮助。

    2023-06-11 18:03:50
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据您提供的信息,可能是以下原因导致了您的问题:

    模型上传成功,但是没有发布模型。请确认您是否在上传模型后发布了它。如果没有发布模型,您将无法使用模型ID进行推理。

    您使用的模型ID可能不正确或不存在。请确认您正在使用的模型ID是否正确,并且该模型ID对应的模型已经被成功上传和发布。

    您的模型ID可能是旧版本或已过期。请确认您正在使用的模型ID是否是最新版本,并且该模型ID对应的模型是否已经被更新或重新上传。

    建议您检查以上三个方面,以确定问题的原因。如果问题仍然存在,请提供更多详细信息,例如您使用的SDK版本、上传模型的方式、模型ID的格式等,以便更好地帮助您解决问题。

    2023-06-11 14:50:19
    赞同 展开评论 打赏
  • 不断追求着最新的技术和趋势,在云技术的世界里,我不断寻找着新的机会和挑战,不断挑战自己的认知和能力。

    这个错误提示表示模型 id 对应的模型版本不存在或者不是有效版本。在调用模型进行推理时,服务端需要验证模型版本是否与客户端提供的版本一致,如果不一致则会引发这个错误。

    要解决这个问题,您需要确保客户端和服务器端的模型版本是一致的。您可以尝试以下方法:

    在上传模型文件时,同时上传模型版本信息 (如模型 id 和版本号),并在服务器端设置合适的过期时间,以确保客户端始终使用最新版本的模型。

    修改客户端调用模型的代码,在调用模型时传入正确的模型版本信息,以确保客户端和服务器端的模型版本一致。

    如果以上方法都不能解决问题,您可以尝试联系您的云服务供应商或者模型开发者了解更多信息,以确定是否需要进行其他的配置或修复。

    2023-06-11 12:17:56
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    根据您所提供的错误信息,您使用模型ID调用模型进行推理时出现了“模型没有有效版本”的错误。这个错误通常发生在您尝试调用已删除或不存在的模型版本时。

    建议您检查一下自己创建的模型是否还处于有效状态,并且确保您正在调用正确的模型版本。另外,您可以尝试通过API或者控制台检查模型状态和版本信息,以确认模型是否已经成功上传并且具有有效的版本。

    如果您确定模型版本是有效的,那么可能是因为您的代码没有正确地指定模型ID。请确保您正在使用正确的模型ID同时,确保您已经将令牌设置为正确的值。如果以上步骤都没有解决问题,您可以尝试使用模型ID和模型访问令牌的方式在SDK中调用模型。同时,您也可以查看相关的日志信息来更加深入地了解这个问题。

    2023-06-11 12:17:57
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    同学你好,看报错信息应该是模型文件没有正确地保存或者存在版本号不正确的问题。 image.png

    可以检查一下您上传的模型文件是否存在版本号,如果没有,可以尝试在导出模型时手动添加版本号。另外,也可以尝试在代码中使用更加精确的模型文件路径,确保模型文件的正确性。

    2023-06-11 09:43:23
    赞同 展开评论 打赏
  • 根据您提供的信息,看起来您已经成功地将模型上传到了自己的模型中,但是当您尝试使用模型ID进行推理时,出现了错误。

    这个错误信息表明您正在尝试使用的模型ID没有有效的版本。这可能是由于以下原因之一:

    您上传的模型版本没有成功完成训练或验证过程,或者在训练或验证过程中出现了错误。 您上传的模型版本没有保存到正确的位置,或者在保存时出现了错误。 您正在尝试使用的模型ID不是您上传的模型的ID。 为了解决这个问题,您可以尝试以下步骤:

    确认您上传的模型版本已经成功完成训练和验证过程,并且保存到了正确的位置。 确认您正在尝试使用的模型ID是您上传的模型的ID。 如果您仍然遇到问题,请联系 ModelScope 支持团队,我们将尽力帮助您解决问题。

    2023-06-10 21:18:07
    赞同 展开评论 打赏
  • 根据您的描述,可能是由于模型版本的问题导致的推理报错。具体可能的原因是您上传的模型未经过训练(版本存在问题),或者上传的模型版本号不正确。 解决方案:

    确认模型已经训练并成功导出PB格式。如果您使用的是TensorFlow等通用框架训练模型,并使用相应框架导出的PB文件进行推理,则需要确认训练和导出都已经成功,并且导出的文件可以在本地进行推理。 确认使用的模型版本号是否正确。在使用模型ID进行推理时,需要指定正确的模型版本号,否则会报 "has no valid revision" 错误。您可以登录到模型服务控制台,查看模型详情,确认使用的模型版本号是否正确。 如果上传的模型版本号正确,可以尝试重新上传模型文件,并重新部署使用。

    总的来说,您需要先确认模型训练、导出和上传到模型服务上的能够在本地成功进行推理,然后确认模型版本号和部署操作没有问题,再进行调用推理API。若问题还未解决,可以进一步查看模型的各个版本相关信息,确认部署操作和调用代码是否有误。

    2023-06-10 11:16:16
    赞同 展开评论 打赏
  • 根据报错信息,模型id指向的模型没有有效的版本。这可能是由于模型上传时没有成功创建版本所致。请检查模型是否成功上传到了SDK上,并确认是否已经创建了有效的版本。如果没有,请尝试重新创建一个版本,并使用新版本的模型id进行推理。另外,也需要确认使用的SDK版本是否兼容推理代码中使用的模型版本。如果仍然无法解决问题,可以尝试检查模型文件的格式是否正确,以及推理代码中模型路径是否正确。

    2023-06-09 20:25:35
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    根据报错信息,可能是由于没有为模型创建正确的版本导致的。需要为模型创建正确的版本,并且在使用模型时将版本号传递给模型。 具体来说,需要为模型创建一个版本,并将版本号传递给推理API。这可以通过在创建模型时将版本号设置为模型的一个属性来实现。 以下是示例代码,用于创建一个名为"cv_unet_person_image_person_0"的模型,并将版本号设置为"0":

    from ai.sdk import ai_version, model_metadata import torch

    创建模型

    model_path = "path/to/cv_unet_person_image_person_0.pth" model = torch.hub.load(model_path, map_location=torch.device('cuda')) model.save_pretrained(model_path) model_metadata = model_metadata(model=model, model_name="cv_unet_person_image_person_0", version="0")

    创建版本

    version_path = "path/to/cv_unet_person_image_person_0_version_0.pth" model.save_pretrained(version_path) model_metadata = model_metadata(model=model, model_name="cv_unet_person_image_person_0", version=version_path)

    导出模型

    export_path = "path/to/cv_unet_person_image_person_0_version_0.pth" torch.onnx.export(model, export_path) 然后,您可以将模型文件的路径传递给推理API,并将模型版本的路径作为参数传递给模型:

    import torch

    创建模型

    model = ...

    导入模型文件和模型版本文件

    model.load_state_dict(torch.load(model_path)) model_version = torch.load(version_path)

    创建推理函数

    @torch.jit.script def predict(image, model_version=model_version): model_path = "path/to/cv_unet_person_image_person_0_version_0.pth" model.load_state_dict(torch.load(model_path)) return model(image, model_version=model_version)

    使用模型进行推理

    image = ... predict_result = predict(image)

    2023-06-09 17:14:19
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    根据您提供的信息,我猜测可能是模型上传到自己创建的模型中时出现了问题。您可以检查一下以下几个方面:

    检查模型是否上传成功:您可以在创建的模型页面上查看是否能够正常显示您上传的模型。

    检查模型是否已经部署:如果模型没有部署,您是无法使用模型进行推理的。您需要确保模型已经部署并且正在运行。

    检查模型版本是否正确:您可能需要检查模型版本是否正确。为了确保模型版本正确,您可以尝试在自己创建的模型中创建一个测试任务,并使用该模型进行推理。如果测试任务可以成功运行,那么说明模型版本正确。

    检查模型访问权限:您需要确保您的模型具有正确的访问权限。如果您的模型设置为私有或受限制,则需要确保您具有访问该模型的权限。

    如果以上方法都不起作用,您可以尝试重新上传模型并重新创建模型版本,然后再次尝试使用模型进行推理。

    2023-06-09 16:42:39
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    您好,根据错误提示the model:... has no valid revision将推理代码中的模型路径改为模型id后提示没有可用的版本,那么可以参考官方的调用方式增加版本参数,比如 pipe = pipeline(Tasks.text_to_image_synthesis, model='damo/cv_cartoon_stable_diffusion_clipart', model_revision='v1.0.0')

    2023-06-09 16:31:07
    赞同 展开评论 打赏
滑动查看更多

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载