次の方法で共有


FileDataset クラス

Azure Machine Learning で使用するデータストアまたはパブリック URL 内のファイル参照のコレクションを表します。

FileDataset は、データ ソースからファイル ストリームにデータを読み込む一連の遅延評価された不変操作を定義します。 FileDataset がデータの配信を求められるまで、データはソースから読み込まれません。

FileDataset は、FileDatasetFactory クラスの from_files メソッドを使用して作成されます。

詳細については、 データセットの追加と登録に関する記事を参照してください。 ファイル データセットの操作を開始するには、 https://aka.ms/filedataset-samplenotebookを参照してください。

FileDataset オブジェクトを初期化します。

このコンストラクターは、直接呼び出すことはできません。 データセットは、 FileDatasetFactory クラスを使用して作成することを目的としています。

コンストラクター

FileDataset()

注釈

FileDataset は、実験の実行の入力として使用できます。 また、指定した名前でワークスペースに登録し、後でその名前で取得することもできます。

FileDataset は、このクラスで使用できるさまざまなサブセット化メソッドを呼び出すことによってサブセット化できます。 サブセット化の結果は常に新しい FileDataset になります。

実際のデータ読み込みは、FileDataset が別のストレージ メカニズム (ダウンロードされたファイルやローカル パスにマウントされたファイルなど) にデータを配信するように求められた場合に発生します。

メソッド

as_cache

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

datacache_storeとデータセットにマップされた DatacacheConsumptionConfig を作成します。

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_hdfs

モードを hdfs に設定します。

送信された synapse 実行では、データセット内のファイルがコンピューティング 先のローカル パスに変換されます。 hdfs パスは、引数の値と os 環境変数から取得できます。


   # 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_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']
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

データセット内のファイル ストリームをランダムに 2 つの部分に分割し、指定された割合でほぼ分割します。

返される最初のデータセットには、ファイル参照の合計数の約 percentage が含まれており、2 番目のデータセットには残りのファイル参照が含まれています。

skip

指定した数でデータセットの先頭からファイル ストリームをスキップします。

take

指定した数でデータセットの先頭からファイル ストリームのサンプルを取得します。

take_sample

データセット内のファイル ストリームのランダムなサンプルを、指定された確率でほぼ取得します。

to_path

データセットによって定義された各ファイル ストリームのファイル パスの一覧を取得します。

as_cache

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

datacache_storeとデータセットにマップされた DatacacheConsumptionConfig を作成します。

as_cache(datacache_store)

パラメーター

名前 説明
datacache_store
必須

ハイドレートに使用するデータストア。

戻り値

説明

実行時にデータ キャッシュを具体化する方法を記述する構成オブジェクト。

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

データを使用可能にするコンピューティングのターゲット パス。

規定値: None

注釈

データセットが 1 つのファイルのパスから作成される場合、ダウンロード場所はダウンロードされた 1 つのファイルのパスになります。 それ以外の場合、ダウンロード場所は、ダウンロードしたすべてのファイルの外側のフォルダーのパスになります。

path_on_compute /で始まる場合は、絶対パスとして扱われます。 /で始まらない場合は、作業ディレクトリに対する相対パスとして扱われます。 絶対パスを指定した場合は、そのディレクトリに書き込む権限がジョブにあることを確認してください。

as_hdfs

モードを hdfs に設定します。

送信された synapse 実行では、データセット内のファイルがコンピューティング 先のローカル パスに変換されます。 hdfs パスは、引数の値と os 環境変数から取得できます。


   # 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()

注釈

データセットが 1 つのファイルのパスから作成されると、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

データを使用可能にするコンピューティングのターゲット パス。

規定値: None

注釈

データセットが 1 つのファイルのパスから作成されると、マウント ポイントは単一のマウントされたファイルのパスになります。 それ以外の場合、マウント ポイントは、マウントされたすべてのファイルの外側のフォルダーのパスになります。

path_on_compute /で始まる場合は、絶対パスとして扱われます。 /で始まらない場合は、作業ディレクトリに対する相対パスとして扱われます。 絶対パスを指定した場合は、そのディレクトリに書き込む権限がジョブにあることを確認してください。

download

データセットによってローカル ファイルとして定義されたファイル ストリームをダウンロードします。

download(target_path=None, overwrite=False, ignore_not_found=False)

パラメーター

名前 説明
target_path
必須
str

ファイルをダウンロードするローカル ディレクトリ。 None の場合、データは一時ディレクトリにダウンロードされます。

overwrite
必須

既存のファイルを上書きするかどうかを示します。 既定値は False です。 上書きが True に設定されている場合、既存のファイルは上書きされます。それ以外の場合は例外が発生します。

ignore_not_found
必須

データセットが指す一部のファイルが見つからない場合にダウンロードを失敗させるかどうかを示します。 既定値は False です。 ignore_not_foundが False に設定されている場合、何らかの理由でファイルのダウンロードが失敗した場合、ダウンロードは失敗します。それ以外の場合、検出されないエラーの警告がログに記録され、他のエラーの種類が見つからない限り、dowload は成功します。

戻り値

説明

ダウンロードした各ファイルのファイル パスの配列を返します。

注釈

target_path /で始まる場合は、絶対パスとして扱われます。 /で始まらない場合は、現在の作業ディレクトリを基準とした相対パスとして扱われます。

file_metadata

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

メタデータ列名を指定して、ファイル メタデータ式を取得します。

サポートされているファイル メタデータ列は、Size、LastModifiedTime、CreationTime、Extension、CanSeek です

file_metadata(col)

パラメーター

名前 説明
col
必須
str

列の名前

戻り値

説明
<xref:azureml.dataprep.api.expression.RecordFieldExpression>

指定した列の値を取得する式を返します。

filter

これは実験的な方法であり、いつでも変更される可能性があります。 詳細については、https://aka.ms/azuremlexperimental を参照してください。

データをフィルター処理して、指定された式に一致するレコードのみを残します。

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/azuremlexperimental を参照してください。

datacache_storeで指定された要求されたレプリカにデータセットをハイドレートします。

hydrate(datacache_store, replica_count=None)

パラメーター

名前 説明
datacache_store
必須

ハイドレートに使用するデータストア。

replica_count
必須
<xref:Int>, <xref:optional>

ハイドレートするレプリカの数。

戻り値

説明

実行時にデータ キャッシュを具体化する方法を記述する構成オブジェクト。

mount

データセットによってローカル ファイルとして定義されたファイル ストリームをマウントするためのコンテキスト マネージャーを作成します。

mount(mount_point=None, **kwargs)

パラメーター

名前 説明
mount_point
必須
str

ファイルをマウントするローカル ディレクトリ。 None の場合、データは一時ディレクトリにマウントされます。 これは、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.>

マウントのライフサイクルを管理するためのコンテキスト マネージャーを返します。

注釈

マウントのライフサイクルを管理するために、コンテキスト マネージャーが返されます。 マウントするには、コンテキスト マネージャーを入力し、マウントを解除するには、コンテキスト マネージャーから終了する必要があります。

マウントは、ネイティブ パッケージ libfuse がインストールされている UNIX または UNIX 系のオペレーティング システムでのみサポートされます。 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

データセット内のファイル ストリームをランダムに 2 つの部分に分割し、指定された割合でほぼ分割します。

返される最初のデータセットには、ファイル参照の合計数の約 percentage が含まれており、2 番目のデータセットには残りのファイル参照が含まれています。

random_split(percentage, seed=None)

パラメーター

名前 説明
percentage
必須

データセットを分割するおおよその割合。 0.0 ~ 1.0 の範囲の数値を指定する必要があります。

seed
必須
int

ランダム ジェネレーターに使用する省略可能なシード。

戻り値

説明

分割後の 2 つのデータセットを表す新しい FileDataset オブジェクトのタプルを返します。

skip

指定した数でデータセットの先頭からファイル ストリームをスキップします。

skip(count)

パラメーター

名前 説明
count
必須
int

スキップするファイル ストリームの数。

戻り値

説明

ファイル ストリームがスキップされたデータセットを表す新しい FileDataset オブジェクトを返します。

take

指定した数でデータセットの先頭からファイル ストリームのサンプルを取得します。

take(count)

パラメーター

名前 説明
count
必須
int

取得するファイル ストリームの数。

戻り値

説明

サンプリングされたデータセットを表す新しい FileDataset オブジェクトを返します。

take_sample

データセット内のファイル ストリームのランダムなサンプルを、指定された確率でほぼ取得します。

take_sample(probability, seed=None)

パラメーター

名前 説明
probability
必須

サンプルに含まれるファイル ストリームの確率。

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']