При регистрации набора данных AzureML данные не перемещаются, сохраняется только некоторая информация, например, где находятся данные и как их следует загружать. Цель состоит в том, чтобы сделать доступ к данным таким простым, как вызов dataset = Dataset.get(name="my dataset")
В приведенном ниже фрагменте кода ( полный пример ), если я зарегистрирую набор данных, я могу технически перезаписать weather/2018/11.csv
с помощью новая версия после регистрации, и мое определение набора данных останется прежним, но новые данные будут доступны, если вы будете использовать в нем обучение после перезаписи.
# create a TabularDataset from 3 paths in datastore
datastore_paths = [(datastore, 'weather/2018/11.csv'),
(datastore, 'weather/2018/12.csv'),
(datastore, 'weather/2019/*.csv')]
weather_ds = Dataset.Tabular.from_delimited_files(path=datastore_paths)
Однако есть еще два рекомендуемых подхода (мой команда выполняет оба действия)
- Изолируйте ваши данные и зарегистрируйте новую версию набора данных, чтобы вы всегда могли выполнить откат к предыдущей версии набора данных. Рекомендации по управлению версиями набора данных
- Используйте путь данных с подстановочным знаком / глобусом для ссылки на папку, в которую регулярно загружаются новые данные. Таким образом, вы можете получить
Dataset
, который со временем увеличивается в размере без необходимости перерегистрации.