TensorFlowとKeras Sequential APIで花のデータセットを探索する方法
花のデータセットは、Keras Sequential APIに加えて「PIL」パッケージの「Image.open」メソッドを活用することで効率的に探索できます。データセット内のサブディレクトリにはそれぞれ異なる種類の花の画像が格納されており、これらにインデックスでアクセスしてコンソール上に表示することが可能です。
本記事では、Keras Sequential APIを使用します。このAPIは、各レイヤーが正確に1つの入力テンソルと1つの出力テンソルを持つ、シンプルなレイヤーの積み重ねからなる逐次モデルを構築するのに役立ちます。画像分類器はkeras.Sequentialモデルで作成し、データはpreprocessing.image_dataset_from_directoryを使用して読み込みます。
データセットの概要
データはディスクから効率的に読み込まれ、過学習(オーバーフィッティング)を検出した際には、それを軽減するための手法が適用されます。具体的には、データ拡張(Data Augmentation)やドロップアウト(Dropout)といったテクニックが含まれます。
このデータセットには約3,700枚の花の画像が含まれており、5つのサブディレクトリ(クラスごとに1つずつ)で構成されています。クラスは以下の5種類です。
- daisy(デイジー)
- dandelion(タンポポ)
- roses(バラ)
- sunflowers(ひまわり)
- tulips(チューリップ)
実行環境について
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、事前の環境構築が一切不要なうえ、GPU(グラフィックス処理ユニット)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。
コード例
image_count = len(list(data_dir.glob('*.jpg')))
print("The number of images in the dataset is:")
print(image_count)
print("A glimpse of the dataset")
print("ROSES")
roses = list(data_dir.glob('roses/*'))
PIL.Image.open(str(roses[1]))
print("TULIPS")
tulips = list(data_dir.glob('tulips/*'))
PIL.Image.open(str(tulips[0]))コード引用元:https://www.tensorflow.org/tutorials/images/classification
実行結果
The number of images in the dataset is: 3670 A glimpse of the dataset ROSES TULIPS
解説
- globメソッドを使ってjpgファイルの総数をカウントし、データセットに含まれる画像枚数(3,670枚)を確認できます。
- 「roses」および「tulips」ディレクトリからそれぞれ画像ファイルのリストを取得し、PIL.Image.openメソッドによってサンプル画像をコンソール上に表示しています。
- このように各クラスの画像を目視で確認することで、データセットの内容や品質を把握しやすくなります。
-
Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説
TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ
-
PythonとKerasのFunctional APIを使ってレイヤーを作成する方法を徹底解説
はじめに TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用されています。研究用途から本番環境まで対応しており、複雑な数学的演算を高速に実行するための最適化技術を備えているのが特徴です。 「tensorflow」パッケージは、Windows環境であれば以下のコマンドでインストールできます。 pip install tensorflow Kerasはギリシャ語で「角(つの)」を意味します。Kerasは、ONEIROS(Open-ended