我在所有 AML 工作区中使用共享存储帐户。我在每个工作区上注册此存储帐户,并在针对 AML 计算时使用它来共享数据和库。要安装一个私有的python wheel,我们目前必须在本地下载包并使用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 返回错误