FileDataset Класс
Представляет коллекцию ссылок на файлы в хранилищах данных или общедоступных URL-адресах для использования в Машинном обучении Azure.
FileDataset определяет ряд неактивно оцениваемых, неизменяемых операций для загрузки данных из источника данных в потоки файлов. Данные не загружаются из источника, пока FileDataset не получит запрос на доставку данных.
FileDataset создается с помощью метода from_files класса FileDatasetFactory.
Дополнительные сведения см. в статье Добавление наборов данных & регистрации. Чтобы приступить к работе с файловым набором данных, перейдите по ссылке https://aka.ms/filedataset-samplenotebook.
Инициализируйте объект FileDataset.
Этот конструктор не должен вызываться напрямую. Набор данных предназначен для создания с помощью FileDatasetFactory класса .
- Наследование
-
FileDataset
Конструктор
FileDataset()
Комментарии
Объект FileDataset можно использовать в качестве входных данных для выполнения эксперимента. Его также можно зарегистрировать в рабочей области с заданным именем, а затем извлечь по этому имени.
FileDataset можно разбивать на подмножества путем вызова различных методов разделения на подмножества, доступные в этом классе. Результатом разбиения на подмножества всегда является новый FileDataset.
Фактическая загрузка данных происходит, когда FileDataset запрашивает доставку данных в другой механизм хранения (например, файлы, скачанные или подключенные к локальному пути).
Методы
as_cache |
Примечание Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental. Создание DatacacheConsumptionConfig, сопоставленного с datacache_store и набором данных. |
as_download |
Создайте DatasetConsumptionConfig с заданным режимом скачивания. В отправленном запуске файлы в наборе данных будут скачаны по локальному пути на целевом объекте вычислений. Расположение скачивания можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим имя входа. Если вы хотите указать пользовательское имя входа, вызовите метод as_named_input.
|
as_hdfs |
Установите режим HDFS. В отправленном прогоне синапса файлы в наборе данных будут преобразованы в локальный путь на целевом объекте вычислений. Путь HDFS можно получить из значений аргументов и переменных среды ОС.
|
as_mount |
Создайте DatasetConsumptionConfig с заданным режимом подключения. В отправленном выполнении файлы в наборе данных будут подключены по локальному пути на целевом объекте вычислений. Точку подключения можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим имя входа. Если вы хотите указать пользовательское имя входа, вызовите метод as_named_input.
|
download |
Скачать потоки файлов, определенные набором данных в качестве локальных файлов. |
file_metadata |
Примечание Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental. Получает выражение метаданных файла, указав имя столбца метаданных. Поддерживаемые столбцы метаданных файлов: Size, LastModifiedTime, CreationTime, Extension и CanSeek |
filter |
Примечание Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental. Фильтрует данные, оставляя только те записи, которые соответствуют указанному выражению. |
hydrate |
Примечание Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental. Расконсервируйте набор данных в запрошенные реплики, указанные в datacache_store. |
mount |
Создание диспетчера контекста для подключения потоков файлов, которые определяются набором данных в качестве локальных файлов. |
random_split |
Разделяет потоки файлов в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении. Первый возвращаемый набор данных содержит приблизительно |
skip |
Пропускает потоки файлов из верхней части набора данных по указанному счетчику. |
take |
Получает выборку с указанным числом потоков файлов из начала набора данных. |
take_sample |
Получает случайную выборку потоков файлов из набора данных приблизительно с заданной вероятностью. |
to_path |
Возвращает список путей к файлам для каждого потока файлов, определенного набором данных. |
as_cache
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Создание DatacacheConsumptionConfig, сопоставленного с datacache_store и набором данных.
as_cache(datacache_store)
Параметры
- datacache_store
- DatacacheStore
Объект datacachestore, который будет использоваться для расконсервации.
Возвращаемое значение
Объект конфигурации, описывающий, как следует материализовать кэш данных при выполнении.
Возвращаемый тип
as_download
Создайте DatasetConsumptionConfig с заданным режимом скачивания.
В отправленном запуске файлы в наборе данных будут скачаны по локальному пути на целевом объекте вычислений. Расположение скачивания можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим имя входа. Если вы хотите указать пользовательское имя входа, вызовите метод as_named_input.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_download()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The download location can be retrieved from argument values
import sys
download_location = sys.argv[1]
# The download location can also be retrieved from input_datasets of the run context.
from azureml.core import Run
download_location = Run.get_context().input_datasets['input_1']
as_download(path_on_compute=None)
Параметры
- path_on_compute
- str
Целевой путь вычисления, по которому должны быть доступны данные.
Комментарии
Если набор данных создается из пути к одному файлу, то расположением загрузки будет путь к отдельному загруженному файлу. В противном случае в качестве расположения загрузки будет указан путь к папке, содержащей все загруженные файлы.
Если path_on_compute начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, он будет рассматриваться как относительный путь относительно рабочего каталога. Если вы указали абсолютный путь, убедитесь, что у задания есть разрешение на запись в этот каталог.
as_hdfs
Установите режим HDFS.
В отправленном прогоне синапса файлы в наборе данных будут преобразованы в локальный путь на целевом объекте вычислений. Путь HDFS можно получить из значений аргументов и переменных среды ОС.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_hdfs()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The hdfs path can be retrieved from argument values
import sys
hdfs_path = sys.argv[1]
# The hdfs path can also be retrieved from input_datasets of the run context.
import os
hdfs_path = os.environ['input_<hash>']
as_hdfs()
Комментарии
Если набор данных создается из пути к одному файлу, путем HDFS будет путь к отдельному файлу. В противном случае, путем HDFS будет путь к папке, содержащей все подключенные файлы.
as_mount
Создайте DatasetConsumptionConfig с заданным режимом подключения.
В отправленном выполнении файлы в наборе данных будут подключены по локальному пути на целевом объекте вычислений. Точку подключения можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим имя входа. Если вы хотите указать пользовательское имя входа, вызовите метод as_named_input.
# Given a run submitted with dataset input like this:
dataset_input = dataset.as_mount()
experiment.submit(ScriptRunConfig(source_directory, arguments=[dataset_input]))
# Following are sample codes running in context of the submitted run:
# The mount point can be retrieved from argument values
import sys
mount_point = sys.argv[1]
# The mount point can also be retrieved from input_datasets of the run context.
from azureml.core import Run
mount_point = Run.get_context().input_datasets['input_1']
as_mount(path_on_compute=None)
Параметры
- path_on_compute
- str
Целевой путь вычисления, по которому должны быть доступны данные.
Комментарии
Если набор данных создается из пути к одному файлу, точкой подключения будет путь к отдельному подключенному файлу. В противном случае точкой подключения будет путь к папке, содержащей все подключенные файлы.
Если path_on_compute начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, он будет рассматриваться как относительный путь относительно рабочего каталога. Если вы указали абсолютный путь, убедитесь, что у задания есть разрешение на запись в этот каталог.
download
Скачать потоки файлов, определенные набором данных в качестве локальных файлов.
download(target_path=None, overwrite=False, ignore_not_found=False)
Параметры
- target_path
- str
Локальный каталог для скачивания файлов. Если он не указан, данные будут скачаны во временный каталог.
- overwrite
- bool
Указывает, следует ли перезаписывать существующие файлы. Значение по умолчанию — False. Существующие файлы будут перезаписаны, если для параметра перезаписи задано значение True; в противном случае будет вызвано исключение.
- ignore_not_found
- bool
Указывает, следует ли завершить скачивание из-за ошибки, если не найдены некоторые файлы, на которые указывает набор данных. Значение по умолчанию — False. Если для ignore_not_found задано значение False, скачивание завершится ошибкой в случае сбоя при скачивании любого файла по какой бы то ни было причине. В противном случае в журнал будет занесено предупреждение о том, что ошибки не найдены, а скачивание будет успешным, если не произойдут ошибки других типов.
Возвращаемое значение
Возвращает массив путей файла для каждого скачанного файла.
Возвращаемый тип
Комментарии
Если target_path начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, то будет рассматриваться как относительный путь касательно рабочего каталога.
file_metadata
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Получает выражение метаданных файла, указав имя столбца метаданных.
Поддерживаемые столбцы метаданных файлов: Size, LastModifiedTime, CreationTime, Extension и CanSeek
file_metadata(col)
Параметры
Возвращаемое значение
Возвращает выражение, которое получает значение в указанном столбце.
Возвращаемый тип
filter
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Фильтрует данные, оставляя только те записи, которые соответствуют указанному выражению.
filter(expression)
Параметры
- expression
- <xref:azureml.dataprep.api.expression.Expression>
Выражение для вычисления.
Возвращаемое значение
Измененный набор данных (регистрация отменена).
Возвращаемый тип
Комментарии
Выражения запускаются путем индексирования Dataset с именем столбца. Они поддерживают различные функции и операторы, а также могут объединяться с помощью логических операторов. Результирующее выражение будет вычисляться в неактивном режиме для каждой записи при извлечении данных, а не там, где оно определено.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Расконсервируйте набор данных в запрошенные реплики, указанные в datacache_store.
hydrate(datacache_store, replica_count=None)
Параметры
- datacache_store
- DatacacheStore
Объект datacachestore, который будет использоваться для расконсервации.
- replica_count
- <xref:Int>, <xref:optional>
Число реплик для расконсервации.
Возвращаемое значение
Объект конфигурации, описывающий, как следует материализовать кэш данных при выполнении.
Возвращаемый тип
mount
Создание диспетчера контекста для подключения потоков файлов, которые определяются набором данных в качестве локальных файлов.
mount(mount_point=None, **kwargs)
Параметры
- mount_point
- str
Локальный каталог для подключения файлов. При значении None данные будут подключены к временному каталогу, который можно найти, вызвав метод экземпляра MountContext.mount_point.
Возвращаемое значение
Возвращает диспетчер контекста для управления жизненным циклом подключения.
Возвращаемый тип
Комментарии
Для управления жизненным циклом подключения будет возвращен диспетчер контекста. Для подключения необходимо войти в диспетчер контекста, а для отключения — выйти из него.
Подключение поддерживается только в операционных системах Unix или им подобных с установленной библиотекой libfuse с собственным пакетом. Если вы для выполнения используется контейнер Docker, он должен быть запущен с флагом –privileged или с параметрами cap-add SYS_ADMIN –device /dev/fuse.
datastore = Datastore.get(workspace, 'workspaceblobstore')
dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
with dataset.mount() as mount_context:
# list top level mounted files and folders in the dataset
os.listdir(mount_context.mount_point)
# You can also use the start and stop methods
mount_context = dataset.mount()
mount_context.start() # this will mount the file streams
mount_context.stop() # this will unmount the file streams
Если target_path начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, то будет рассматриваться как относительный путь касательно рабочего каталога.
random_split
Разделяет потоки файлов в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.
Первый возвращаемый набор данных содержит приблизительно percentage
из общего числа ссылок на файлы, а второй набор данных содержит оставшиеся ссылки на файлы.
random_split(percentage, seed=None)
Параметры
- percentage
- float
Приблизительное процентное соотношение для разделения набора данных. Это должно быть число от 0,0 до 1,0.
- seed
- int
Необязательное начальное значение, используемое для генератора случайных чисел.
Возвращаемое значение
Возвращает кортеж новых объектов FileDataset, представляющий два набора данных после разделения.
Возвращаемый тип
skip
Пропускает потоки файлов из верхней части набора данных по указанному счетчику.
skip(count)
Параметры
Возвращаемое значение
Возвращает новый объект FileDataset, представляющий набор данных с пропущенными потоками файлов.
Возвращаемый тип
take
Получает выборку с указанным числом потоков файлов из начала набора данных.
take(count)
Параметры
Возвращаемое значение
Возвращает новый объект FileDataset, представляющий набор данных выборки.
Возвращаемый тип
take_sample
Получает случайную выборку потоков файлов из набора данных приблизительно с заданной вероятностью.
take_sample(probability, seed=None)
Параметры
- seed
- int
Необязательное начальное значение, используемое для генератора случайных чисел.
Возвращаемое значение
Возвращает новый объект FileDataset, представляющий набор данных выборки.
Возвращаемый тип
to_path
Возвращает список путей к файлам для каждого потока файлов, определенного набором данных.
to_path()
Возвращаемое значение
Возвращает массив путей к файлам.
Возвращаемый тип
Комментарии
Пути к файлам — это относительные пути для локальных файлов при скачивании или подключении потоков файлов.
Общий префикс будет удален из путей к файлам в зависимости от того, как был указан источник данных для создания набора данных. Пример:
datastore = Datastore.get(workspace, 'workspaceblobstore')
dataset = Dataset.File.from_files((datastore, 'animals/dog/year-*/*.jpg'))
print(dataset.to_path())
# ['year-2018/1.jpg'
# 'year-2018/2.jpg'
# 'year-2019/1.jpg']
dataset = Dataset.File.from_files('https://dprepdata.blob.core.windows.net/demo/green-small/*.csv')
print(dataset.to_path())
# ['/green_tripdata_2013-08.csv']
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по