#76 インポートとデータの読み込み
では、 実際にコードを体験してみましょう。
TensorFlow公式サイトのチュートリアルから、初級の『KerasによるMLの基本』→『基本的な画像分類』を選んでクリックすると、『はじめてのニューラルネットワーク:分類問題の初歩』というチュートリアルが現れます。
今回は、この教材を基に解説していきます。
この教材は、TensorFlowのためのものでAPIとして『tf.keras』が用いられていますが、今回はこれを少し変更して、Keras3で進めていきたいと思います。
TensorFlowで『tf.keras』を用いた場合とKeras3の場合では、コードにどのような差があるのかを体験してみてください。
1.Kerasをインポート
コラボで Keras3を使うのは、実はとても簡単です!
コラボにプリインストールされている TensorFlow のバージョンはすでに 2.16 以上になっているため、特別なインストール操作をすることなく、最初からKeras3が使える状態になっています。さあ、Kerasをインポートしましょう!
公式チュートリアルでは、バージョンが「2.11.0」になっていますが、今回はバージョンが「2.20.0」になっていました。
2.データセットFashion MNIST
TensorFlow 公式チュートリアルで使用している『Fashion MNIST』とは、衣料品やバッグなど10種類のファッションアイテムの画像を集めた機械学習・画像認識用のデータセットです。
もともと手書き数字の画像セット『MNIST』が機械学習の入門用として広く使われていましたが、現在のAI技術では簡単になりすぎたので、ソフトウエアの企業Zalandoの研究チームが2017年に公開したものです。
各サンプルは、28×28ピクセル(マス)のグレースケール画像で、サンプル数は70,000、10種類のラベルと関連付けられています。
今回は、このデータセット『Fashion MNIST』をインポートしていきましょう。
3.データセットFashion MNISTをインポートする
『TensorFlow 公式チュートリアル』の通りに、コードを書くと、下記のようにエラーが出てしまいます。
よく見ると、『tf.keras.』という文字があります。これは、TensorFlowのコードですので、『keras.』に替えてみましょう!
『fashion_mnist = keras.datasets.fashion_mnist』に変更することにより、データを読み込むことができます。
1行目で、Kerasがあらかじめ用意してくれている『Fashion-MNIST』というデータセットの場所に、『fashion_mnist』という名前(変数)をつけて宣言し、アクセスしやすくしています。
2行目は、データを読み込み、「訓練用(学習用)」と「テスト用(評価用)」の2グループに自動で分割して、さらにそれを「画像」と「正解ラベル(答え)」に分けて変数に代入するように指示しています。
4.クラス名を保存しておく
画像はそれぞれ単一のラベルに分類されています。ただし、データセットには上記のクラス名が含まれていないため、後ほど画像を出力するときのために、クラス名(スライド3参照)を保存しておきます。
1次元のデータですから、Seriesに格納します。
5.データの観察
まずは、トレーニング用データセットを観察してみましょう。公式チュートリアルにはありませんが、『train_images』を見てみましょう!
最も内側の[ ]内は、『ベクトル(1次元配列)』で、画像の中の『横1行分のピクセル値(28個のマス)』を表しています。
2番目の内側の[ ]内は、『行列(2次元配列)』を表しています。これは画像1枚分の『縦28ピクセル(マス) × 横28ピクセル(マス)』を表しています。
0ばかりありますが、これは省略されている真ん中の部分に、0〜255で表されている数字で濃淡が表現されています。
一番外側の[ ]内は、下記のスライドでは省略していますが、60,000枚の画像データがすべて含まれています。
このようにデータが縦・横・奥行きのように3つの方向に広がっているものを『3次元テンソル』と呼びます。テンソルは、そう、『TensorFlow』のテンソルです。
コメント
コメントを投稿