我正在运行pipeline.submit() in AzureML,它有一个PythonScriptStep。在这个步骤中,我从tensorflow-hub下载一个模型,重新训练它并将它保存为一个.zip,最后,我想在Azure中注册它。但是,由于脚本中没有工作区,所以Model.register()不是这样的。因此,我尝试使用Run.register_model()方法如下:
os.replace(os.path.join('.', archive_name + '.zip'),
os.path.join('.', 'outputs', archive_name + '.zip'))
print(os.listdir('./outputs'))
print('========================')
run_context = Run.get_context()
finetuning_model = run_context.register_model(model_name='finetuning_similarity_model',
model_path=os.path.join(archive_name+'.zip'),
tags={},
description="Finetuning Similarity model")但我犯了一个错误:
ErrorResponse {“错误”:{“消息”:“无法在上传到运行的文件集中找到提供的model_path retrained.zip:
尽管我在./outputs dir中有经过再训练的./outputs,但我们从日志中可以看到:
['retrained.zip']
========================我想我做错了什么?
发布于 2020-01-11 12:33:03
在尝试注册模型之前,通过将模型显式上载到运行历史记录中,我能够修复相同的问题(ModelPathNotFoundException):
run.upload_file("outputs/my_model.pickle", "outputs/my_model.pickle")这让我感到惊讶,因为许多官方例子和upload_file() 文档都没有提到这一点。
在指定的输出目录中运行自动捕获文件,对于大多数运行类型,默认为“./ output”。仅在需要上载其他文件或未指定输出目录时才使用upload_file。
发布于 2019-11-19 20:55:24
这里似乎缺少了一段路:
Model_path=os.path.join(档案名称+‘..zip’)
路径是否应包括输出子文件夹,如以下所示?
model_path=os.path.join("./outputs",归档_name+‘..zip’)
https://stackoverflow.com/questions/58933565
复制相似问题