FileDataset Classe
Représente une collection de références de fichiers dans des magasins de données ou des URL publiques à utiliser dans Azure Machine Learning.
Un FileDataset définit une série d’opérations immuables évaluées de manière différée pour charger des données à partir de la source de données dans des flux de fichiers. Les données ne sont pas chargées à partir de la source tant que FileDataset n’est pas invité à fournir des données.
Un FileDataset est créé à l’aide de la from_files méthode de la classe FileDatasetFactory.
Pour plus d’informations, consultez l’article Ajouter et inscrire des jeux de données. Pour commencer à utiliser un jeu de données de fichiers, consultez https://aka.ms/filedataset-samplenotebook.
Initialisez l’objet FileDataset.
Ce constructeur n’est pas censé être appelé directement. Le jeu de données est destiné à être créé à l’aide de FileDatasetFactory la classe.
Constructeur
FileDataset()
Remarques
FileDataset peut être utilisé comme entrée d’une exécution d’expérience. Il peut également être inscrit à l’espace de travail avec un nom spécifié et être récupéré par ce nom ultérieurement.
FileDataset peut être sous-ensemble en appelant différentes méthodes de sous-réinitialisation disponibles sur cette classe. Le résultat de la sous-réinitialisation est toujours un nouvel ensemble FileDataset.
Le chargement réel des données se produit lorsque FileDataset est invité à remettre les données dans un autre mécanisme de stockage (par exemple, les fichiers téléchargés ou montés sur le chemin local).
Méthodes
| as_cache |
Remarque Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Créez un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données. |
| as_download |
Créez un DatasetConsumptionConfig avec le mode défini pour télécharger. Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés sur le chemin local sur la cible de calcul. L’emplacement de téléchargement peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générerons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode as_named_input.
|
| as_hdfs |
Définissez le mode sur hdfs. Dans l’exécution synapse envoyée, les fichiers des jeux de données sont convertis en chemin local sur la cible de calcul. Le chemin hdfs peut être récupéré à partir des valeurs d’argument et des variables d’environnement du système d’exploitation.
|
| as_mount |
Créez un DatasetConsumptionConfig avec le mode défini pour monter. Dans l’exécution envoyée, les fichiers des jeux de données sont montés sur le chemin local sur la cible de calcul. Le point de montage peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générerons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode as_named_input.
|
| download |
Téléchargez les flux de fichiers définis par le jeu de données en tant que fichiers locaux. |
| file_metadata |
Remarque Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Obtenez l’expression de métadonnées de fichier en spécifiant le nom de la colonne de métadonnées. Les colonnes de métadonnées de fichier prises en charge sont Size, LastModifiedTime, CreationTime, Extension et CanSeek |
| filter |
Remarque Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée. |
| hydrate |
Remarque Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Hydratez le jeu de données dans les réplicas demandés spécifiés dans datacache_store. |
| mount |
Créez un gestionnaire de contexte pour le montage de flux de fichiers définis par le jeu de données en tant que fichiers locaux. |
| random_split |
Fractionnez les flux de fichiers dans le jeu de données en deux parties de manière aléatoire et approximativement par le pourcentage spécifié. Le premier jeu de données retourné contient approximativement |
| skip |
Ignorez les flux de fichiers en haut du jeu de données par le nombre spécifié. |
| take |
Prenez un exemple de flux de fichiers en haut du jeu de données par le nombre spécifié. |
| take_sample |
Prenez un échantillon aléatoire de flux de fichiers dans le jeu de données approximativement par la probabilité spécifiée. |
| to_path |
Obtenez la liste des chemins d’accès aux fichiers pour chaque flux de fichiers défini par le jeu de données. |
as_cache
Remarque
Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Créez un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données.
as_cache(datacache_store)
Paramètres
| Nom | Description |
|---|---|
|
datacache_store
Obligatoire
|
Datacachestore à utiliser pour hydrater. |
Retours
| Type | Description |
|---|---|
|
Objet de configuration décrivant comment le datacache doit être matérialisé dans l’exécution. |
as_download
Créez un DatasetConsumptionConfig avec le mode défini pour télécharger.
Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés sur le chemin local sur la cible de calcul. L’emplacement de téléchargement peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générerons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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)
Paramètres
| Nom | Description |
|---|---|
|
path_on_compute
|
Chemin d’accès cible sur le calcul pour rendre les données disponibles. Valeur par défaut: None
|
Remarques
Lorsque le jeu de données est créé à partir du chemin d’accès d’un seul fichier, l’emplacement de téléchargement sera le chemin d’accès du fichier téléchargé unique. Sinon, l’emplacement de téléchargement sera le chemin du dossier englobant pour tous les fichiers téléchargés.
Si path_on_compute commence par un /, il sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, vérifiez que le travail est autorisé à écrire dans ce répertoire.
as_hdfs
Définissez le mode sur hdfs.
Dans l’exécution synapse envoyée, les fichiers des jeux de données sont convertis en chemin local sur la cible de calcul. Le chemin hdfs peut être récupéré à partir des valeurs d’argument et des variables d’environnement du système d’exploitation.
# 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()
Remarques
Lorsque le jeu de données est créé à partir du chemin d’accès d’un seul fichier, le chemin d’accès hdfs sera le chemin d’accès du fichier unique. Sinon, le chemin hdfs sera le chemin du dossier englobant pour tous les fichiers montés.
as_mount
Créez un DatasetConsumptionConfig avec le mode défini pour monter.
Dans l’exécution envoyée, les fichiers des jeux de données sont montés sur le chemin local sur la cible de calcul. Le point de montage peut être récupéré à partir des valeurs d’argument et du champ input_datasets du contexte d’exécution. Nous générerons automatiquement un nom d’entrée. Si vous souhaitez spécifier un nom d’entrée personnalisé, appelez la méthode 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)
Paramètres
| Nom | Description |
|---|---|
|
path_on_compute
|
Chemin d’accès cible sur le calcul pour rendre les données disponibles. Valeur par défaut: None
|
Remarques
Lorsque le jeu de données est créé à partir du chemin d’accès d’un seul fichier, le point de montage est le chemin d’accès du fichier monté unique. Sinon, le point de montage sera le chemin du dossier englobant pour tous les fichiers montés.
Si path_on_compute commence par un /, il sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, vérifiez que le travail est autorisé à écrire dans ce répertoire.
download
Téléchargez les flux de fichiers définis par le jeu de données en tant que fichiers locaux.
download(target_path=None, overwrite=False, ignore_not_found=False)
Paramètres
| Nom | Description |
|---|---|
|
target_path
Obligatoire
|
Répertoire local dans lequel télécharger les fichiers. Si ce n’est pas le cas, les données sont téléchargées dans un répertoire temporaire. |
|
overwrite
Obligatoire
|
Indique s’il faut remplacer les fichiers existants. La valeur par défaut est False. Les fichiers existants sont remplacés si le remplacement a la valeur True ; sinon, une exception est levée. |
|
ignore_not_found
Obligatoire
|
Indique s’il faut échouer le téléchargement si certains fichiers pointés par le jeu de données sont introuvables. La valeur par défaut est False. Le téléchargement échoue si un téléchargement de fichier échoue pour une raison quelconque si ignore_not_found a la valeur False ; sinon, une waring est enregistrée pour les erreurs introuvables et le dowload réussit tant qu’aucun autre type d’erreur n’est rencontré. |
Retours
| Type | Description |
|---|---|
|
Retourne un tableau de chemins d’accès de fichier pour chaque fichier téléchargé. |
Remarques
Si target_path commence par un /, il sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail actuel.
file_metadata
Remarque
Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Obtenez l’expression de métadonnées de fichier en spécifiant le nom de la colonne de métadonnées.
Les colonnes de métadonnées de fichier prises en charge sont Size, LastModifiedTime, CreationTime, Extension et CanSeek
file_metadata(col)
Paramètres
| Nom | Description |
|---|---|
|
col
Obligatoire
|
Nom de la colonne |
Retours
| Type | Description |
|---|---|
|
<xref:azureml.dataprep.api.expression.RecordFieldExpression>
|
Retourne une expression qui récupère la valeur dans la colonne spécifiée. |
filter
Remarque
Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée.
filter(expression)
Paramètres
| Nom | Description |
|---|---|
|
expression
Obligatoire
|
<xref:azureml.dataprep.api.expression.Expression>
Expression à évaluer. |
Retours
| Type | Description |
|---|---|
|
Jeu de données modifié (non inscrit). |
Remarques
Les expressions sont démarrées en indexant le jeu de données avec le nom d’une colonne. Ils prennent en charge une variété de fonctions et d’opérateurs et peuvent être combinés à l’aide d’opérateurs logiques. L’expression résultante est évaluée de manière différée pour chaque enregistrement lorsqu’une extraction de données se produit et non pas là où elle est définie.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Remarque
Il s’agit d’une méthode expérimentale et peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Hydratez le jeu de données dans les réplicas demandés spécifiés dans datacache_store.
hydrate(datacache_store, replica_count=None)
Paramètres
| Nom | Description |
|---|---|
|
datacache_store
Obligatoire
|
Datacachestore à utiliser pour hydrater. |
|
replica_count
Obligatoire
|
<xref:Int>, <xref:optional>
Nombre de réplicas à hydrater. |
Retours
| Type | Description |
|---|---|
|
Objet de configuration décrivant comment le datacache doit être matérialisé dans l’exécution. |
mount
Créez un gestionnaire de contexte pour le montage de flux de fichiers définis par le jeu de données en tant que fichiers locaux.
mount(mount_point=None, **kwargs)
Paramètres
| Nom | Description |
|---|---|
|
mount_point
Obligatoire
|
Répertoire local dans lequel monter les fichiers. Si aucune, les données sont montées dans un répertoire temporaire, que vous pouvez trouver en appelant la méthode d’instance MountContext.mount_point . |
Retours
| Type | Description |
|---|---|
|
<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.>
|
Retourne un gestionnaire de contexte pour gérer le cycle de vie du montage. |
Remarques
Un gestionnaire de contexte est retourné pour gérer le cycle de vie du montage. Pour monter, vous devez entrer le gestionnaire de contextes et le démonter, quitter le gestionnaire de contextes.
Le montage est pris en charge uniquement sur Unix ou les systèmes d’exploitation de type Unix avec le package natif libfuse installé. Si vous exécutez à l’intérieur d’un conteneur Docker, le conteneur Docker doit être démarré avec l’indicateur privilégié –privileged ou démarré avec –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
Si target_path commence par un /, il sera traité comme un chemin absolu. S’il ne commence pas par un /, il sera traité comme un chemin relatif par rapport au répertoire de travail actuel.
random_split
Fractionnez les flux de fichiers dans le jeu de données en deux parties de manière aléatoire et approximativement par le pourcentage spécifié.
Le premier jeu de données retourné contient approximativement percentage le nombre total de références de fichier et le deuxième jeu de données contient les références de fichier restantes.
random_split(percentage, seed=None)
Paramètres
| Nom | Description |
|---|---|
|
percentage
Obligatoire
|
Pourcentage approximatif à fractionner le jeu de données. Il doit s’agir d’un nombre compris entre 0,0 et 1,0. |
|
seed
Obligatoire
|
Valeur initiale facultative à utiliser pour le générateur aléatoire. |
Retours
| Type | Description |
|---|---|
|
Retourne un tuple de nouveaux objets FileDataset représentant les deux jeux de données après le fractionnement. |
skip
Ignorez les flux de fichiers en haut du jeu de données par le nombre spécifié.
skip(count)
Paramètres
| Nom | Description |
|---|---|
|
count
Obligatoire
|
Nombre de flux de fichiers à ignorer. |
Retours
| Type | Description |
|---|---|
|
Retourne un nouvel objet FileDataset représentant un jeu de données avec des flux de fichiers ignorés. |
take
Prenez un exemple de flux de fichiers en haut du jeu de données par le nombre spécifié.
take(count)
Paramètres
| Nom | Description |
|---|---|
|
count
Obligatoire
|
Nombre de flux de fichiers à prendre. |
Retours
| Type | Description |
|---|---|
|
Retourne un nouvel objet FileDataset représentant le jeu de données échantillonné. |
take_sample
Prenez un échantillon aléatoire de flux de fichiers dans le jeu de données approximativement par la probabilité spécifiée.
take_sample(probability, seed=None)
Paramètres
| Nom | Description |
|---|---|
|
probability
Obligatoire
|
Probabilité qu’un flux de fichiers soit inclus dans l’exemple. |
|
seed
Obligatoire
|
Valeur initiale facultative à utiliser pour le générateur aléatoire. |
Retours
| Type | Description |
|---|---|
|
Retourne un nouvel objet FileDataset représentant le jeu de données échantillonné. |
to_path
Obtenez la liste des chemins d’accès aux fichiers pour chaque flux de fichiers défini par le jeu de données.
to_path()
Retours
| Type | Description |
|---|---|
|
Retourne un tableau de chemins d’accès aux fichiers. |
Remarques
Les chemins d’accès aux fichiers locaux sont des chemins d’accès relatifs lorsque les flux de fichiers sont téléchargés ou montés.
Un préfixe courant sera supprimé des chemins d’accès du fichier en fonction de la façon dont la source de données a été spécifiée pour créer le jeu de données. Par exemple:
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']