TensorFlowのDataset.mapを使って画像とラベルのペアからなるデータセットを作成する方法
(画像, ラベル) のペアは、パス要素のリストを変換し、その後ラベルを整数形式にエンコードすることで作成されます。「map」メソッドを利用すると、この (画像, ラベル) ペアに対応するデータセットを簡単に構築できます。
使用するデータセットについて
本記事では、数千枚の花の画像を含む「flowers」データセットを使用します。このデータセットには5つのサブディレクトリが含まれており、各クラス(花の種類)ごとに1つのサブディレクトリが割り当てられています。
実行環境
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、事前の環境設定は一切不要です。さらに、GPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。
print("The 'num_parallel_calls' is set so that multiple images are loaded and processed in parallel")
train_ds = train_ds.map(process_path, num_parallel_calls=AUTOTUNE)
val_ds = val_ds.map(process_path, num_parallel_calls=AUTOTUNE)
for image, label in train_ds.take(1):
print("The shape of image is : ", image.numpy().shape)
print("The label is : ", label.numpy())出力結果
The 'num_parallel_calls' is set so that multiple images are loaded and processed in parallel The shape of image is : (180, 180, 3) The label is : 0
コード引用元: https://www.tensorflow.org/tutorials/load_data/images
解説
- num_parallel_calls を設定することで、複数の画像を同時に読み込み・処理できます。AUTOTUNE を指定すると、TensorFlowが実行環境に応じて最適な並列数を自動的に選択します。
- 「map」メソッドを使用することで、(画像, ラベル) のペアを格納したデータセットを作成できます。
- 作成したデータセットを反復処理し、画像の形状(シェイプ)とラベルの値をコンソールに表示して確認します。
出力例では、画像の形状が (180, 180, 3)、つまり高さ180ピクセル・幅180ピクセル・3チャンネル(RGB)の画像であり、ラベルが整数値の 0 であることが確認できます。このように前処理済みのデータセットを事前に構築しておくことで、ニューラルネットワークの学習を効率的かつ高速に進めることができます。
-
TensorFlowとPythonを使って花のデータセットを可視化する方法
花のデータセットは、matplotlibライブラリを使用することで簡単に可視化できます。imshowメソッドを使うと、画像をコンソール上に表示でき、データセット全体を反復処理しながら最初の数枚の画像だけを出力するといったことも可能です。使用するデータセットについて本記事では、数千枚の花の画像を含む「flowers(花)」データセットを使用します。このデータセットには5つのサブディレクトリが含まれており、各クラス(花の種類)ごとに1つのサブディレクトリが割り当てられています。なお、以下のコードはGoogle Colaboratoryで実行することを想定しています。Google Colab(Col
-
TensorFlowを使ってMNISTデータセット用のモデルを定義する方法
TensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、各種アルゴリズムやディープラーニングアプリケーションの実装が可能になります。複雑な数値計算を高速に処理できる最適化技術を備えているのが特徴で、これは内部でNumPyと多次元配列を利用しているためです。この多次元配列は「テンソル(Tensor)」とも呼ばれます。また、深層ニューラルネットワークの構築もサポートしています。TensorFlowのインストールWindows環境に「tensorflow」パッケージをインストールするには、以下のコマン