Я пытаюсь выполнить некоторые пользовательские манипуляции с torch.utils.data.DataLoader
в AzureML, но не могу заставить его создать экземпляр непосредственно из моего 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
, как ожидается конструктором к 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)
, кажется, создает законный объект.