Python 3.x 注册和下载fastText.bin模型在Azure机器学习服务中失败
我有一个简单的RegisterModel.py脚本,它使用Azure ML服务SDK注册fastText.bin模型。这将成功完成,并且我可以在Azure门户UI中看到模型(我看不到其中包含哪些模型文件)。然后我想下载模型(DownloadModel.py)并使用它(用于测试目的),但是它在model.download方法(tarfile.ReadError:file无法成功打开)上抛出一个错误,并生成一个0字节的rjtestmodel8.tar.gz文件 然后我使用Azure门户并添加模型,选择相同的bin模型文件,它可以正常上传。使用下面的download.py脚本下载它可以正常工作,所以我假设Register脚本有问题 以下是2个脚本和stacktrace-如果您发现任何错误,请告诉我: RegisterModel.pyPython 3.x 注册和下载fastText.bin模型在Azure机器学习服务中失败,python-3.x,fasttext,azure-machine-learning-service,Python 3.x,Fasttext,Azure Machine Learning Service,我有一个简单的RegisterModel.py脚本,它使用Azure ML服务SDK注册fastText.bin模型。这将成功完成,并且我可以在Azure门户UI中看到模型(我看不到其中包含哪些模型文件)。然后我想下载模型(DownloadModel.py)并使用它(用于测试目的),但是它在model.download方法(tarfile.ReadError:file无法成功打开)上抛出一个错误,并生成一个0字节的rjtestmodel8.tar.gz文件 然后我使用Azure门户并添加模型,选
import azureml.core
from azureml.core import Workspace, Model
ws = Workspace.from_config()
model = Model.register(workspace=ws,
model_name='rjSDKmodel10',
model_path='riskModel.bin')
# Works when downloading the UI Uploaded .bin file, but not the SDK registered .bin file
import os
import azureml.core
from azureml.core import Workspace, Model
ws = Workspace.from_config()
model = Model(workspace=ws, name='rjSDKmodel10')
model.download(target_dir=os.getcwd(), exist_ok=True)
下载model.py
import azureml.core
from azureml.core import Workspace, Model
ws = Workspace.from_config()
model = Model.register(workspace=ws,
model_name='rjSDKmodel10',
model_path='riskModel.bin')
# Works when downloading the UI Uploaded .bin file, but not the SDK registered .bin file
import os
import azureml.core
from azureml.core import Workspace, Model
ws = Workspace.from_config()
model = Model(workspace=ws, name='rjSDKmodel10')
model.download(target_dir=os.getcwd(), exist_ok=True)
Stacktrace
Traceback (most recent call last):
File "...\.vscode\extensions\ms-python.python-2019.9.34474\pythonFiles\ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "...\.vscode\extensions\ms-python.python-2019.9.34474\pythonFiles\lib\python\ptvsd\__main__.py", line 432, in main
run()
File "...\.vscode\extensions\ms-python.python-2019.9.34474\pythonFiles\lib\python\ptvsd\__main__.py", line 316, in run_file
runpy.run_path(target, run_name='__main__')
File "...\.conda\envs\DoC\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "...\.conda\envs\DoC\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "...\.conda\envs\DoC\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "...\\DownloadModel.py", line 21, in <module>
model.download(target_dir=os.getcwd(), exist_ok=True)
File "...\.conda\envs\DoC\lib\site-packages\azureml\core\model.py", line 712, in download
file_paths = self._download_model_files(sas_to_relative_download_path, target_dir, exist_ok)
File "...\.conda\envs\DoC\lib\site-packages\azureml\core\model.py", line 658, in _download_model_files
file_paths = self._handle_packed_model_file(tar_path, target_dir, exist_ok)
File "...\.conda\envs\DoC\lib\site-packages\azureml\core\model.py", line 670, in _handle_packed_model_file
with tarfile.open(tar_path) as tar:
File "...\.conda\envs\DoC\lib\tarfile.py", line 1578, in open
raise ReadError("file could not be opened successfully")
tarfile.ReadError: file could not be opened successfully
回溯(最近一次呼叫最后一次):
文件“…\.vscode\extensions\ms python.python-2019.9.34474\pythonFiles\ptvsd_launcher.py”,第43行,在
干管(ptvsdArgs)
文件“…\.vscode\extensions\ms python.python-2019.9.34474\pythonFiles\lib\python\ptvsd\\ u_main\u_.py”,第432行,在main中
运行()
文件“…\.vscode\extensions\ms python.python-2019.9.34474\pythonFiles\lib\python\ptvsd\\ u_main__.py”,第316行,在run_文件中
runpy.run\u路径(目标,run\u名称=“”\uu主\uuuuuuuuuuuu')
文件“…\.conda\envs\DoC\lib\runpy.py”,第263行,在运行路径中
pkg_name=pkg_name,script_name=fname)
文件“…\.conda\envs\DoC\lib\runpy.py”,第96行,在运行模块代码中
模块名称、模块规格、组件名称、脚本名称)
文件“…\.conda\envs\DoC\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“…\\DownloadModel.py”,第21行,在
下载(target_dir=os.getcwd(),exist_ok=True)
文件“…\.conda\envs\DoC\lib\site packages\azureml\core\model.py”,第712行,下载
文件路径=自。\下载\模型\文件(sas \至\相对\下载\路径、目标\目录、存在\确定)
文件“..\.conda\envs\DoC\lib\site packages\azureml\core\model.py”,第658行,在下载模型文件中
文件路径=self.\u句柄\u压缩\u模型\u文件(tar\u路径、目标\u目录、存在\u确定)
文件“…\.conda\envs\DoC\lib\site packages\azureml\core\model.py”,第670行,在打包的模型文件中
以tarfile.open(tar_路径)作为tar:
文件“…\.conda\envs\DoC\lib\tarfile.py”,第1578行,打开
raise ReadError(“文件无法成功打开”)
tarfile.ReadError:无法成功打开文件
环境
- riskModel.bin为6兆欧
- 反洗钱1.0.60
- Python 3.7
- 在本地使用可视代码
site packages/azureml/\u restclient/artifacts\u client.py
此错误应在下一版本的AzureML SDK中修复。Azure机器学习服务SDK存在一个与Azure存储交互的错误,如果必须重试上载,则会导致其上载损坏的文件 两个变通方法:
site packages/azureml/\u restclient/artifacts\u client.py
此错误应在下一版本的AzureML SDK中修复。看起来注册和下载步骤中的型号名称不同。这可能是问题吗?啊,不,对不起-那只是多次尝试-将修复post为SameLook,就像注册和下载步骤中的型号名称不同一样。这可能是问题吗?啊,不,对不起-那只是多次尝试-将修复后的sameYes。。。就这样。版本1.0.55按预期工作。谢谢你的确认-我正在撕头发-下次发帖前会尝试不同的版本。你知道这是否在1.0.62中得到了修复吗?这个错误应该在1.0.62中修复
修复了由于重试失败而可能上载损坏或空模型的错误。
很好-修复了失败的问题。我不完全确定上传是否成功。是的。。。就这样。版本1.0.55按预期工作。谢谢你的确认-我正在撕头发-下次发帖前会尝试不同的版本。你知道这是否在1.0.62中得到了修复吗?这个错误应该在1.0.62中修复修复了由于重试失败而可能上载损坏或空模型的错误。
很好-修复了失败的问题。我不完全确定上传是否成功。