Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用してより細かく制御するためにTensorflowをtf.dataでどのように使用できますか?


「tf.Data」は、データセット内のデータをシャッフルして、すべてのタイプのデータが均等に分散されるようにすることで、モデル構築パイプラインをカスタマイズするのに役立ちます(可能な場合)。

続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか?

数千の花の画像を含む花のデータセットを使用します。これには5つのサブディレクトリが含まれ、クラスごとに1つのサブディレクトリがあります。

以下のコードを実行するためにGoogleColaboratoryを使用しています。 Google ColabまたはColaboratoryは、ブラウザー上でPythonコードを実行するのに役立ち、構成が不要で、GPU(グラフィックプロセッシングユニット)に無料でアクセスできます。 ColaboratoryはJupyterNotebookの上に構築されています。

print("Defining customized input pipeline")
list_ds = tf.data.Dataset.list_files(str(data_dir/'*/*'), shuffle=False)
list_ds = list_ds.shuffle(image_count, reshuffle_each_iteration=False)

for f in list_ds.take(5):
   print(f.numpy())

class_names = np.array(sorted([item.name for item in data_dir.glob('*') if item.name != "LICENSE.txt"]))
print(class_names)

print("The dataset is split into training and validation set")
val_size = int(image_count * 0.2)
train_ds = list_ds.skip(val_size)
val_ds = list_ds.take(val_size)
print("Length of each subset is displayed below")
print(tf.data.experimental.cardinality(train_ds).numpy())
print(tf.data.experimental.cardinality(val_ds).numpy())

コードクレジット:https://www.tensorflow.org/tutorials/load_data/images

出力

Defining customized input pipeline
b'/root/.keras/datasets/flower_photos/dandelion/14306875733_61d71c64c0_n.jpg'
b'/root/.keras/datasets/flower_photos/dandelion/8935477500_89f22cca03_n.jpg'
b'/root/.keras/datasets/flower_photos/sunflowers/3001531316_efae24d37d_n.jpg'
b'/root/.keras/datasets/flower_photos/daisy/7133935763_82b17c8e1b_n.jpg'
b'/root/.keras/datasets/flower_photos/tulips/17844723633_da85357fe3.jpg'
['daisy' 'dandelion' 'roses' 'sunflowers' 'tulips']
The dataset is split into training and validation set
Length of each subset is displayed below
2936
734

説明

  • keras.preprocessingユーティリティは、画像のディレクトリを使用して「tf.data.Dataset」を作成する方法です。
  • これをより細かく制御するために、「tf.data」を使用してカスタマイズされた入力パイプラインを作成できます。
  • ファイルのツリー構造を使用して、「class_names」リストをコンパイルできます。

  1. Tensorflowを使用してPythonを使用してデータを視覚化するにはどうすればよいですか?

    花のデータセットがあるとしましょう。花のデータセットは、基本的に花のデータセットにリンクするgoogleAPIを使用してダウンロードできます。 「get_file」メソッドを使用して、APIをパラメーターとして渡すことができます。これが完了すると、データが環境にダウンロードされます。 「matplotlib」ライブラリを使用して視覚化できます。 「imshow」メソッドは、コンソールに画像を表示するために使用されます。 続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか? Keras Sequenti

  2. Tensorflowを使用してPythonを使用して2つの行列を乗算するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ