【发布时间】:2019-09-16 23:21:17
【问题描述】:
我正在尝试在 AzureML 中对 torch.utils.data.DataLoader 进行一些自定义操作,但无法直接从我的 azureml.core.Datastore 实例化它:
ws = Workspace( # ... etc ... )
ds = Datastore.get(ws, datastore_name='my_ds')
am = ds.as_mount()
# HOW DO I GET base_path, data_file from am?
dataloader = DataLoader(
ListDataset(base_path, data_file), #... etc...
)
am.path() 的值是“$AZUREML_DATAREFERENCE_my_ds”,但我无法弄清楚如何从 pathlib.Path 转到 pathlib.Path 的构造函数所期望的 ListDataset。我尝试过的方法包括 Path(am.path()) 和 Path(os.environ[am.path()]),但它们似乎不起作用。
很明显,有一些答案,因为:
script_params = {
'--base_path': ds.as_mount(),
'--epochs': 30,
'--batch_size' : 16,
'--use_cuda': 'true'
}
torch = PyTorch(source_directory='./',
script_params=script_params,
compute_target=compute_target,
entry_script='train.py',
pip_packages=packages,
use_gpu=True)
似乎创建了一个合法的对象。
【问题讨论】:
-
您的意思是我们必须通过估算器传递 DataReference 对象才能访问数据?
标签: python azure pytorch azure-machine-learning-service