TensorFlowでMNISTデータセットのモデル重みを保存・読み込みする方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装に広く活用されています。研究用途から本番環境まで対応しており、複雑な数値計算を高速に実行するための最適化技術を備えているのが特徴です。これは内部でNumPyと多次元配列を使用しているためで、この多次元配列は「テンソル(tensor)」と呼ばれます。
TensorFlowパッケージは、Windows環境では以下のコマンドでインストールできます。
pip install tensorflow
テンソルとは
テンソルはTensorFlowにおける基本的なデータ構造です。フロー図(計算グラフ)のエッジ同士をつなぐ役割を担っており、このフロー図は「データフローグラフ」と呼ばれます。テンソルの正体は、多次元配列あるいはリストにほかなりません。
過学習への対策
長時間にわたって訓練を続けると、モデルは訓練データに過剰適合(過学習)しやすくなり、テストデータに対する汎化性能が低下します。そのため、訓練ステップ数は適切なバランスで設定する必要があります。つまり、あらゆるケースのデータを網羅的に使って効果的な訓練を行うことで、テストデータに対してより良く汎化できるようになります。それでも不十分な場合は、正則化(regularization)を施すという対策もあります。
Kerasについて
KerasはPythonで書かれたディープラーニングAPIです。生産性の高いインターフェースを持つ高レベルAPIであり、機械学習の問題を効率的に解決するのに役立ちます。TensorFlowフレームワークの上で動作し、素早く実験を行えるよう設計されています。機械学習ソリューションの開発やカプセル化に不可欠な抽象化機能と構成要素を提供しています。
KerasはTensorFlowパッケージにすでに含まれており、以下のコードで利用できます。
import tensorflow from tensorflow import keras
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を使えば、ブラウザ上でPythonコードを実行でき、環境構築は不要でGPUにも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。
コード例
!pip install -q pyyaml h5py
import os
import tensorflow as tf
from tensorflow import keras
print("The version of Tensorflow is : ")
print(tf.version.VERSION)
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
print("Splitting training and test data")
train_labels = train_labels[:1000]
test_labels = test_labels[:1000]
print("Reshaping the training and test data")
train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0
test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0コード出典:https://www.tensorflow.org/tutorials/keras/save_and_load
コードの解説
必要なパッケージをインポートし、エイリアスを付けて扱いやすくします。
実行速度を向上させるため、最初の1000件のサンプルのみを使用します。
MNISTデータセットを読み込んだ後、訓練用とテスト用のラベル・画像データをそれぞれ1000件に絞り込みます。続いて、画像データを28×28ピクセルの2次元配列から784要素の1次元配列へ変換(リシェイプ)し、さらに各ピクセル値を255で割って0〜1の範囲に正規化しています。これにより、ニューラルネットワークが効率よく学習できる形式に整えられます。
-
TensorFlowを使ってMNISTデータセット用のモデルを定義する方法
TensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、各種アルゴリズムやディープラーニングアプリケーションの実装が可能になります。複雑な数値計算を高速に処理できる最適化技術を備えているのが特徴で、これは内部でNumPyと多次元配列を利用しているためです。この多次元配列は「テンソル(Tensor)」とも呼ばれます。また、深層ニューラルネットワークの構築もサポートしています。TensorFlowのインストールWindows環境に「tensorflow」パッケージをインストールするには、以下のコマン
-
TensorFlowとPythonでFashion MNISTデータを前処理する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用できます。研究開発から本番環境まで、多くの場面で採用されている実績あるフレームワークです。Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。pip install tensorflowテンソル(Tensor)はTensorFlowで使用される基本的なデータ構造であり、フロー図におけるエッジ(辺)をつなぐ役割を果たします。このフロー図は「デー