从存储帐户安装专用 python 轮



我在所有 AML 工作区中使用共享存储帐户。我在每个工作区上注册此存储帐户,并在面向 AML 计算时使用它来共享数据和库。要安装私有 python 轮,我们目前必须在本地下载包并使用Environment.add_private_pip_wheel上传它并检索包的远程 url。我想知道是否有办法传递对共享存储帐户中包的引用,而不必将其移动到默认工作区存储帐户。

我尝试将 pip_packages 依赖项参数中的完整 blob url(例如 https://mystorageaccount.blob.core.windows.net/mypackage.whl(传递给 TensorFlow 估计器类,但实验执行失败并显示 404 错误:url https://mystorageaccount.blob.core.windows.net/mypackage.whl 不存在指定的资源

from azureml.train.dnn import TensorFlow
from azureml.core.runconfig import MpiConfiguration
project_folder = "./myproject"
dependencies = ["https://mystorageaccount.blob.core.windows.net/mypackage.whl"]
script_params={
"--data_dir":data_dir.as_mount(),
"--output_dir":output_data.as_mount(),
"--do_train":"True",
"--do_eval":"False",
"--do_predict":"False",
}
mpiConfig = MpiConfiguration()
mpiConfig.process_count_per_node = 1
estimator= TensorFlow(source_directory=project_folder,
compute_target=compute_target,
script_params=script_params,
entry_script='./train_classifier.py',
node_count=1,
distributed_training=mpiConfig,
pip_packages=dependencies,
framework_version='1.13',
use_gpu=True)

由于存储帐户已在工作区中注册,因此我希望能够将专用包直接从共享存储帐户(使用上面的代码(安装到 AML 计算中,而无需在本地下载它,然后调用Environment.add_private_pip_wheel函数。

相反,我收到以下错误,实验失败:

(来自 -r/azureml-environment-setup/condaenv.kc80np3o.requirements.txt (第 1 行(( 由于 HTTP 错误 404 客户端错误: 指定的资源不存在。 对于网址: https://mystorageaccount.blob.core.windows.net/mypackage.whl ...

CondaValueError: pip 返回了一个错误

如果不想使存储帐户公开可读,可以为 whl 包创建 SAS URL,然后将其传递给 pip 依赖项。然后,服务应该能够访问包。

最新更新