TensorFlowとPythonでSequential(逐次)モデルを作成する方法
Sequential(逐次)モデルは、「layers.experimental.preprocessing.Rescaling」メソッドを使用する「Sequential」APIを使って作成できます。モデルの構築時には、Rescaling以外の各レイヤーも順に指定していきます。
関連記事:
TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み
本記事では、KerasのSequential APIを使用します。このAPIは、単純なレイヤーの積み重ねで構成される逐次モデルを構築するのに適しており、すべてのレイヤーがちょうど1つの入力テンソルと1つの出力テンソルを持つという特徴があります。
以下のコードは、Google Colaboratory上で実行することを想定しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、事前の環境設定は一切不要で、GPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。
print("Sequentialモデルを作成しています")
num_classes = 5
model = Sequential([
layers.experimental.preprocessing.Rescaling(1./255, input_shape=(img_height, img_width, 3)),
layers.Conv2D(16, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(32, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(64, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dense(num_classes)
])
コード出典:https://www.tensorflow.org/tutorials/images/classification
実行結果
Sequentialモデルを作成しています
コードの解説
- このモデルは、3つの畳み込みブロックで構成されており、各ブロックにはMax Pooling層が含まれています。
- さらに、その上に128ユニットを持つ全結合層(Dense層)が配置されています。
- 活性化関数にはReLUが使用されています。
- なお、このモデルは高精度を追求してチューニングされたものではありません。
- 以上のように、複数のレイヤーからなるSequentialモデルを作成できます。
-
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