FileDataset Classe
Représente une collection de références de fichier dans les magasins de données ou les URL publiques à utiliser dans Azure Machine Learning.
Un FileDataset définit une série d’opérations immuables et évaluées tardivement 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 le FileDataset n’est pas invité à fournir les données.
Un FileDataset est créé à l’aide de la méthode from_files de la classe FileDatasetFactory.
Pour plus d’informations, consultez l’article Ajouter & inscrire des jeux de données. Pour commencer à utiliser un jeu de données de fichier, 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 la FileDatasetFactory classe .
- Héritage
-
FileDataset
Constructeur
FileDataset()
Remarques
FileDataset peut être utilisé comme entrée d’une exécution d’expérience. Il peut également être inscrit dans l’espace de travail avec un nom spécifié et être récupéré ultérieurement avec ce nom.
Il est possible de créer un sous-ensemble de FileDataset en appelant différentes méthodes de création d’un sous-ensemble disponibles sur cette classe. Le résultat de la création d’un sous-ensemble est toujours un nouveau FileDataset.
Le chargement réel des données se produit quand FileDataset est invité à remettre les données dans un autre mécanisme de stockage (par exemple, fichiers téléchargés ou montés sur un chemin d’accès local).
Méthodes
as_cache |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Créer un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données. |
as_download |
Crée une DatasetConsumptionConfig avec le mode défini sur Download. Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés dans le chemin d’accès 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érons 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 seront convertis dans le chemin d’accès 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ée une DatasetConsumptionConfig avec le mode défini sur Mount. Dans l’exécution envoyée, les fichiers des jeux de données seront montés dans le chemin d’accès 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érons 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écharge les flux de fichiers définis par le jeu de données comme des fichiers locaux. |
file_metadata |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Obtenir 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 |
Notes Il s’agit d’une méthode expérimentale qui 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 |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Mettre en attente le jeu de données dans les réplicas demandés spécifiés dans datacache_store. |
mount |
Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux. |
random_split |
Fractionne les flux de fichiers dans le jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié. Le premier jeu de données retourné contient approximativement |
skip |
Ignore les flux de fichiers à partir du haut du jeu de données selon le nombre spécifié. |
take |
Prend un échantillon des flux de fichiers à partir du haut du jeu de données selon le nombre spécifié. |
take_sample |
Prend un échantillon aléatoire des flux de fichiers dans le jeu de données, approximativement d’après la probabilité spécifiée. |
to_path |
Obtient une liste de chemins d’accès de fichiers pour chaque flux de fichiers défini par le jeu de données. |
as_cache
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Créer un DatacacheConsumptionConfig mappé à un datacache_store et à un jeu de données.
as_cache(datacache_store)
Paramètres
Nom | Description |
---|---|
datacache_store
Obligatoire
|
Le datacachestore à utiliser pour mettre en attente. |
Retours
Type | Description |
---|---|
Objet de configuration décrivant la manière dont le datacache doit être matérialisé dans l’exécution. |
as_download
Crée une DatasetConsumptionConfig avec le mode défini sur Download.
Dans l’exécution envoyée, les fichiers du jeu de données seront téléchargés dans le chemin d’accès 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érons 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 auquel 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 fichier unique, l’emplacement de téléchargement est le chemin d’accès du fichier téléchargé unique. Sinon, l’emplacement de téléchargement sera le chemin d’accès du dossier englobant tous les fichiers téléchargés.
Si path_on_compute commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, assurez-vous 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 seront convertis dans le chemin d’accès 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 fichier unique, le chemin hdfs est le chemin d’accès du fichier unique. Dans le cas contraire, le chemin hdfs sera le chemin d’accès du dossier englobant tous les fichiers montés.
as_mount
Crée une DatasetConsumptionConfig avec le mode défini sur Mount.
Dans l’exécution envoyée, les fichiers des jeux de données seront montés dans le chemin d’accès 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érons 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 auquel 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 fichier unique, le point de montage est le chemin d’accès du fichier monté unique. Dans le cas contraire, le point de montage sera le chemin d’accès du dossier englobant tous les fichiers montés.
Si path_on_compute commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail. Si vous avez spécifié un chemin d’accès absolu, assurez-vous que le travail est autorisé à écrire dans ce répertoire.
download
Télécharge les flux de fichiers définis par le jeu de données comme des 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 la valeur est définie sur None, les données sont téléchargées dans un répertoire temporaire. |
overwrite
Obligatoire
|
Indique si les fichiers existants doivent être remplacés. La valeur par défaut est False. Les fichiers existants seront remplacés si le remplacement a la valeur True. Sinon, une exception est levée. |
ignore_not_found
Obligatoire
|
Indique s’il faut faire é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 échouera en cas d’échec du téléchargement d’un fichier pour une raison quelconque si ignore_not_found est défini sur False ; dans le cas contraire, un avertissement sera enregistré pour les erreurs de type introuvable et le téléchargement réussira tant qu’aucun autre type d’erreur ne se produira. |
Retours
Type | Description |
---|---|
Retourne un tableau de chemins de fichier pour chaque fichier téléchargé. |
Remarques
Si target_path commence par un /, il est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail actuel.
file_metadata
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Obtenir 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
Notes
Il s’agit d’une méthode expérimentale qui 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. Elles prennent en charge un large éventail de fonctions et d’opérateurs et peuvent être combinées à l’aide d’opérateurs logiques. L’expression résultante sera évaluée tardivement pour chaque enregistrement quand une opération d’extraction de données se produit et pas où elle est définie.
(dataset.file_metadata('Size') > 10000) & (dataset.file_metadata('CanSeek') == True)
dataset.file_metadata('Extension').starts_with('j')
hydrate
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Mettre en attente 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
|
Le datacachestore à utiliser pour mettre en attente. |
replica_count
Obligatoire
|
<xref:Int>, <xref:optional>
Nombre de réplicas à mettre en attente. |
Retours
Type | Description |
---|---|
Objet de configuration décrivant la manière dont le datacache doit être matérialisé dans l’exécution. |
mount
Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux.
mount(mount_point=None, **kwargs)
Paramètres
Nom | Description |
---|---|
mount_point
Obligatoire
|
Répertoire local dans lequel les fichiers doivent être montés. Si la valeur est définie sur None, 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 effectuer un montage, vous devez entrer le gestionnaire de contexte et pour effectuer un démontage, quittez le gestionnaire de contexte.
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 votre exécution est à l’intérieur d’un conteneur Docker, le conteneur Docker doit être démarré avec l’indicateur –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 est traité comme un chemin d’accès absolu. S’il ne commence pas par un /, il est traité comme un chemin d’accès relatif par rapport au répertoire de travail actuel.
random_split
Fractionne les flux de fichiers dans le jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié.
Le premier jeu de données retourné contient approximativement percentage
du 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 de fractionnement du 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
Ignore les flux de fichiers à partir du haut du jeu de données selon 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 qui représente un jeu de données dont les flux de fichiers sont ignorés. |
take
Prend un échantillon des flux de fichiers à partir du haut du jeu de données selon 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
Prend un échantillon aléatoire des flux de fichiers dans le jeu de données, approximativement d’après 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
Obtient une liste de chemins d’accès de 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 de fichiers. |
Remarques
Les chemins d’accès de fichiers sont des chemins d’accès relatifs pour les fichiers locaux lorsque les flux de fichiers sont téléchargés ou montés.
Un préfixe commun sera supprimé des chemins d’accès de fichiers 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']