2

我有一个detectron2检测模型训练并保存(由其他人)作为文件model.pth,我还有一个cfg.yaml文件,指定权重路径作为路径model.pth如下:

在里面cfg.yaml我们有这条线 WEIGHTS: /var/azureml-app/azureml-models/detect_containers/1/outputs/model.pth

我注意到我之前的人(训练模型的人..)使用该cfg.yaml文件来创建预测器配置,如下所示:

cfg = get_cfg()
cfg.merge_from_file("cfg.yaml")
predictor = DefaultPredictor(cfg)

他在scoring.py用于将模型部署为 azureML 中的 Web 服务的脚本的 run 函数中创建并使用了他的预测器。

所以这里的问题是我无法访问这个人的 azureML 帐户或工作区,所以当我尝试自己部署模型时,我收到错误主要是路径错误,表明/var/azureml-app/azureml-models/detect_containers/1/outputs/model.pth找不到文件,所以我将文件上传到我的 azureML 工作区在与我的笔记本相同的文件夹中,但显然,这也不起作用,因为我提供的路径被认为是本地路径,并且在部署模型时,我猜它基本上是远程 Microsoft 服务器(我不知道它的文件是如何组织的,所以我没有路径)。

我还尝试创建一个具有相同名称的新模型,并将文件上传到该模型以便在部署期间使用这一行: model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'model.pth') 这样我设法避免了路径错误,但是一旦模型被部署,我就无法测试它,因为甚至在日志中也没有解释的评分 URI 错误。

通常,该模型是功能性的(因为它之前已被训练它的人部署和使用过,哈哈)。

那么你们对我应该如何解决这个问题或如何解决它有任何想法吗?有没有人有任何资源来解释如何在部署文件后获取文件的路径,就个人而言,一旦部署了模型,我觉得它就像在一个黑色的魔法盒子里,我看不到文件是如何组织的远程微软服务器。

4

0 回答 0