FileDataset Класс
Представляет коллекцию ссылок на файлы в хранилищах данных или общедоступных URL-адресах для использования в Машинном обучении Azure.
FileDataset определяет ряд неизменяемых и неизменяемых операций для загрузки данных из источника данных в потоки файлов. Данные не загружаются из источника, пока FileDataset не будет предложено доставлять данные.
FileDataset создается с помощью from_files метода класса FileDatasetFactory.
Дополнительные сведения см. в статье "Добавление и регистрация наборов данных". Чтобы приступить к работе с набором данных файлов, см. раздел https://aka.ms/filedataset-samplenotebook.
Инициализировать объект FileDataset.
Этот конструктор не должен вызываться напрямую. Набор данных предназначен для создания с помощью FileDatasetFactory класса.
Конструктор
FileDataset()
Комментарии
FileDataset можно использовать в качестве входных данных выполнения эксперимента. Его также можно зарегистрировать в рабочей области с указанным именем и получить с помощью этого имени позже.
FileDataset может быть подмножество, вызывая различные методы подмножества, доступные в этом классе. Результатом подмножества всегда является новый набор FileDataset.
Фактическая загрузка данных происходит, когда FileDataset запрашивает доставку данных в другой механизм хранения (например, файлы, скачанные или подключенные к локальному пути).
Методы
| as_cache |
Замечание Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry. Создайте datacacheConsumptionConfig, сопоставленную с datacache_store и набором данных. |
| as_download |
Создайте datasetConsumptionConfig с заданным для скачивания режимом. В отправленном запуске файлы в наборе данных будут загружены в локальный путь к целевому объекту вычислений. Расположение скачивания можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим входное имя. Если вы хотите указать пользовательское имя ввода, вызовите метод as_named_input.
|
| as_hdfs |
Задайте для режима hdfs. В отправленном запуске synapse файлы в наборах данных будут преобразованы в локальный путь к целевому объекту вычислений. Путь hdfs можно получить из значений аргументов и переменных среды ос.
|
| as_mount |
Создайте datasetConsumptionConfig с установленным режимом подключения. В отправленном запуске файлы в наборах данных будут подключены к локальному пути к целевому объекту вычислений. Точку подключения можно получить из значений аргументов и поля input_datasets контекста выполнения. Мы автоматически создадим входное имя. Если вы хотите указать пользовательское имя ввода, вызовите метод as_named_input.
|
| download |
Скачайте потоки файлов, определенные набором данных как локальные файлы. |
| file_metadata |
Замечание Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry. Получите выражение метаданных файла, указав имя столбца метаданных. Поддерживаемые столбцы метаданных файла: Size, LastModifiedTime, CreationTime, Extension и CanSeek |
| filter |
Замечание Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry. Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению. |
| hydrate |
Замечание Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry. Гидратирует набор данных в запрошенные реплики, указанные в datacache_store. |
| mount |
Создайте диспетчер контекстов для подключения потоков файлов, определенных набором данных как локальные файлы. |
| random_split |
Разделение потоков файлов в наборе данных на две части случайным образом и приблизительно по процентам, указанным. Первый возвращаемый набор данных содержит приблизительно |
| skip |
Пропустите потоки файлов из верхней части набора данных указанным числом. |
| take |
Пример файловых потоков из верхней части набора данных по указанному числу. |
| take_sample |
Выборка случайных потоков файлов в наборе данных приблизительно по заданной вероятности. |
| to_path |
Получите список путей к файлам для каждого потока файлов, определенного набором данных. |
as_cache
Замечание
Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry.
Создайте datacacheConsumptionConfig, сопоставленную с datacache_store и набором данных.
as_cache(datacache_store)
Параметры
| Имя | Описание |
|---|---|
|
datacache_store
Обязательно
|
Хранилище данных, используемое для гидратации. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект конфигурации, описывающий материализацию datacache в ходе выполнения. |
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
|
Целевой путь к вычислительным ресурсам, чтобы сделать данные доступными. Default value: None
|
Комментарии
При создании набора данных из пути к одному файлу расположение скачивания будет путь к одному скачанном файлу. В противном случае расположение скачивания будет путь к заключающей папке для всех скачанных файлов.
Если path_on_compute начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, он будет рассматриваться как относительный путь относительно рабочего каталога. Если вы указали абсолютный путь, убедитесь, что задание имеет разрешение на запись в этот каталог.
as_hdfs
Задайте для режима hdfs.
В отправленном запуске synapse файлы в наборах данных будут преобразованы в локальный путь к целевому объекту вычислений. Путь 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
|
Целевой путь к вычислительным ресурсам, чтобы сделать данные доступными. Default value: None
|
Комментарии
При создании набора данных из пути к одному файлу точка подключения будет путь к одному подключенному файлу. В противном случае точка подключения будет путь к заключающей папке для всех подключенных файлов.
Если path_on_compute начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, он будет рассматриваться как относительный путь относительно рабочего каталога. Если вы указали абсолютный путь, убедитесь, что задание имеет разрешение на запись в этот каталог.
download
Скачайте потоки файлов, определенные набором данных как локальные файлы.
download(target_path=None, overwrite=False, ignore_not_found=False)
Параметры
| Имя | Описание |
|---|---|
|
target_path
Обязательно
|
Локальный каталог, в который нужно скачать файлы. Если нет, данные будут загружены во временный каталог. |
|
overwrite
Обязательно
|
Указывает, следует ли перезаписывать существующие файлы. Значение по умолчанию — False. Существующие файлы будут перезаписаны, если перезапись имеет значение True; в противном случае будет вызвано исключение. |
|
ignore_not_found
Обязательно
|
Указывает, следует ли сбой скачивания, если некоторые файлы, на которые указывает набор данных, не найдены. Значение по умолчанию — False. Загрузка завершится ошибкой, если сбой скачивания файла по какой-либо причине, если ignore_not_found имеет значение False; В противном случае не найдена ошибка, и dowload завершится успешно, пока не обнаружены другие типы ошибок. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает массив путей к файлам для каждого загруженного файла. |
Комментарии
Если target_path начинается с /, он будет рассматриваться как абсолютный путь. Если он не начинается с /, он будет рассматриваться как относительный путь относительно текущего рабочего каталога.
file_metadata
Замечание
Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry.
Получите выражение метаданных файла, указав имя столбца метаданных.
Поддерживаемые столбцы метаданных файла: Size, LastModifiedTime, CreationTime, Extension и CanSeek
file_metadata(col)
Параметры
| Имя | Описание |
|---|---|
|
col
Обязательно
|
Имя столбца |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Возвращает выражение, которое получает значение в указанном столбце. |
filter
Замечание
Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry.
Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению.
filter(expression)
Параметры
| Имя | Описание |
|---|---|
|
expression
Обязательно
|
<xref:azureml.dataprep.api.expression.Expression>
Выражение для вычисления. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Измененный набор данных (незарегистрированный). |
Комментарии
Выражения запускаются путем индексирования набора данных с именем столбца. Они поддерживают различные функции и операторы и могут объединяться с помощью логических операторов. Результирующее выражение будет неявно вычисляться для каждой записи при возникновении извлечения данных, а не в том месте, где оно определено.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Замечание
Это экспериментальный метод и может измениться в любое время. Дополнительные сведения см. по адресу https://aka.ms/acr/connected-registry.
Гидратирует набор данных в запрошенные реплики, указанные в datacache_store.
hydrate(datacache_store, replica_count=None)
Параметры
| Имя | Описание |
|---|---|
|
datacache_store
Обязательно
|
Хранилище данных, используемое для гидратации. |
|
replica_count
Обязательно
|
<xref:Int>, <xref:optional>
Количество реплик для гидратации. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект конфигурации, описывающий материализацию datacache в ходе выполнения. |
mount
Создайте диспетчер контекстов для подключения потоков файлов, определенных набором данных как локальные файлы.
mount(mount_point=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
mount_point
Обязательно
|
Локальный каталог для подключения файлов. Если нет, данные будут подключены к временному каталогу, который можно найти, вызвав метод экземпляра MountContext.mount_point . |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
<xref:MountContext>: <xref:the> <xref:context> <xref:manager.> <xref:Upon> <xref:entering> <xref:the> <xref:context> <xref:manager>, <xref:the> <xref:dataflow> <xref:will> <xref:be> <xref:mounted> <xref:to> <xref:the> <xref:mount_point.> <xref:Upon> exit, <xref:it> <xref:will> <xref:remove> <xref:the> mount <xref:point> <xref:and> clean <xref:up> <xref:the> <xref:daemon> <xref:process> <xref:used> <xref:to> mount <xref:the> <xref:dataflow.>
|
Возвращает диспетчер контекстов для управления жизненным циклом подключения. |
Комментарии
Для управления жизненным циклом подключения будет возвращен диспетчер контекста. Чтобы подключиться, необходимо ввести диспетчер контекстов и отключить выход из диспетчера контекста.
Подключение поддерживается только в операционных системах Unix или им подобных с установленной библиотекой libfuse с собственным пакетом. Если вы работаете внутри контейнера Docker, контейнер 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
Обязательно
|
Приблизительный процент разделения набора данных на. Это должно быть число от 0.0 до 1.0. |
|
seed
Обязательно
|
Необязательное начальное значение, используемое для случайного генератора. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает кортеж новых объектов FileDataset, представляющих два набора данных после разделения. |
skip
Пропустите потоки файлов из верхней части набора данных указанным числом.
skip(count)
Параметры
| Имя | Описание |
|---|---|
|
count
Обязательно
|
Количество пропускаемых потоков файлов. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает новый объект FileDataset, представляющий набор данных с пропущенными потоками файлов. |
take
Пример файловых потоков из верхней части набора данных по указанному числу.
take(count)
Параметры
| Имя | Описание |
|---|---|
|
count
Обязательно
|
Количество потоков файлов, которые требуется принять. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает новый объект FileDataset, представляющий образец набора данных. |
take_sample
Выборка случайных потоков файлов в наборе данных приблизительно по заданной вероятности.
take_sample(probability, seed=None)
Параметры
| Имя | Описание |
|---|---|
|
probability
Обязательно
|
Вероятность включения потока файлов в пример. |
|
seed
Обязательно
|
Необязательное начальное значение, используемое для случайного генератора. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает новый объект 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']