>100 Views
October 31, 26
スライド概要
TensorFlow公式チュートリアル『はじめてのニューラルネットワーク:分類問題の初歩』をベースに、tf.kerasではなくKeras 3を用いてデータのインポートと観察を行う手順を解説したスライドです。
使用する『Fashion MNIST』は、10種類の衣料品・バッグ等の画像(28×28ピクセルのグレースケール、全70,000件)からなるデータセットです。コード記述時は、tf.kerasの代わりにkeras.datasets.fashion_mnistを使用することでデータを読み込み、訓練用(60,000件)とテスト用(10,000件)に自動分割して画像と正解ラベルを取得します。あらかじめクラス名も定義しておきます。 データの形状を観察すると、訓練用画像は60,000枚の28×28ピクセル画像が含まれる『3次元テンソル』構造であり、各ラベルには0〜9の整数が対応していることを確認します。
すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけるため、まずは、データサイエンスの分析を体験していきましょう。SECIモデルの最初の段階、共同化(Socialization)からはじめていきます。 下記のブログで、ここにアップしたスライド、動画を随時、公開中です。 【ブログ】https://tutorial4datascience.blogspot.com/ 【Youtubeチャンネル】https://www.youtube.com/@DataScience_for_everyone 【Kindle】そして、このブログをまとめて書籍にしました! https://amzn.to/4ryVppn https://amzn.to/4pGgFb1
5th STEP ディープラーニング Section 3 インポートとデータの読み込み データサイエンス チュートリアル 1
Kerasをインポート TensorFlow公式サイトのチュートリアルから、初級の『KerasによるMLの基本』→『基本的な画像分類』を選んでクリック すると、『はじめてのニューラルネットワーク:分類問題の初歩』というチュートリアルが現れます。 今回は、この教材を基に解説していきます。 この教材は、TensorFlowのためのものでAPIとして『tf.keras』が用いられていますが、今回はこれを少し変更して、 Keras3で進めていきたいと思います。 TensorFlowで『tf.keras』を用いた場合とKeras3の場合では、コードにどのような差があるのかを体験してみてください。 データサイエンス チュートリアル 2
Kerasをインポート コラボで Keras3を使うのは、実はとても簡単です! コラボにプリインストールされている TensorFlow のバージョンはすでに 2.16 以上になっているため、特別なインストール操作を することなく、最初からKeras3が使える状態になっています。さあ、Kerasをインポートしましょう! TensorFlow 公式チュートリアル 公式チュートリアルでは、バージョンが「2.11.0」になっていま すが、今回はバージョンが「2.20.0」になっていました。 データサイエンス チュートリアル Keras3 3
データセットFashion MNIST ラベル TensorFlow 公式チュートリアルで使用している『Fashion MNIST』とは、衣料品やバッグなど10種類のファッションアイテムの 画像を集めた機械学習・画像認識用のデータセットです。 もともと手書き数字の画像セット『MNIST』が機械学習の入門用 として広く使われていましたが、現在のAI技術では簡単になりすぎ たので、ソフトウエアの企業Zalandoの研究チームが2017年に公 開したものです。 各サンプルは、28×28ピクセル(マス)のグレースケール画像で、 サンプル数は70,000、右表の10種類のラベルと関連付けられて います。 今回は、このデータセット『Fashion MNIST』をインポートしていき ましょう。 データサイエンス チュートリアル 記述 0 T-shirt/top 1 Trouser 2 Pullover 3 Dress 4 Coat 5 Sandal 6 Shirt 7 Sneaker 8 Bag 9 Ankle boot 4
データセットFashion MNISTをインポートする(1) 『TensorFlow 公式チュートリアル』の通りに、コードを書くと、下記のようにエラーが出てしまいます。 よく見ると、『tf.keras.』という文字があります。これは、TensorFlowのコードですので、『keras.』に替えてみましょう! データサイエンス チュートリアル 5
データセットFashion MNISTをインポートする(2) 『fashion_mnist = keras.datasets.fashion_mnist』に変更することにより、データを読み込むことができました! 1行目で、Kerasがあらかじめ用意してくれている『Fashion-MNIST』というデータセットの場所に、『fashion_mnist』という 名前(変数)をつけてアクセスしやすくしています。 2行目は、データを読み込み、「訓練用(学習用)」と「テスト用(評価用)」の2グループに自動で分割して、さらにそれを 「画像」と「正解ラベル(答え)」に分けて変数に代入するように指示しています。 データサイエンス チュートリアル 6
クラス名を保存しておく 画像はそれぞれ単一のラベルに分類されています。ただし、データセットには上記のクラス名が含まれていないため、後ほど画像 を出力するときのために、クラス名(スライド3参照)を保存しておきます。 1次元のデータですから、Seriesに格納します。 データサイエンス チュートリアル 7
データの観察(1) まずは、トレーニング用データセットを観察してみましょう。公式チュートリアルにはありませんが、『train_images』を見てみま しょう! この部分は『ベクトル(1次元配列)』で、画像の中の『横1行分の ピクセル値(28個のマス)』を表しています。 ここは、『行列(2次元配列)』を表しています。これは画像1枚分 の『縦28ピクセル(マス) × 横28ピクセル(マス)』を表しています。 0ばかりありますが、これは省略されている真ん中の部分に、0〜255 で表されている数字で濃淡が表現されています。 ここでは、省略していますが、3次元目の一番外側の括弧[ ]内には、 60,000枚の画像データがすべて含まれています。 このようにデータが縦・横・奥行きのように3つの方向に広がっているも のを『3次元テンソル』と呼びます。テンソルは、そう、『TensorFlow』 のテンソルです。 データサイエンス チュートリアル 8
データの観察(2) 公式チュートリアルに戻りましょう。 『shape』は、NumPyの多次元配列やTensorFlowのテンソルが 持っている「属性(データの形状を表す情報)」を呼び出します。 28 × 28 ピクセルの画像が 60,000個含まれています。 また、トレーニング用データセットには 60,000個 のラベルが含まれています。 ラベルはそれぞれ、0 から 9 までの間の整数です。 データサイエンス チュートリアル 9
データの観察(3) 次は、テスト用データセット。 28 × 28 ピクセルの画像が 10,000個含まれています。 また、トレーニング用データセットには 10,000個 のラベルが含まれています。 データサイエンス チュートリアル 10