Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonとKerasのFunctional APIを使ってレイヤーを作成する方法を徹底解説

はじめに

TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用されています。研究用途から本番環境まで対応しており、複雑な数学的演算を高速に実行するための最適化技術を備えているのが特徴です。

「tensorflow」パッケージは、Windows環境であれば以下のコマンドでインストールできます。

pip install tensorflow

Kerasはギリシャ語で「角(つの)」を意味します。Kerasは、ONEIROS(Open-ended Neuro-Electronic Intelligent Robot Operating System:開放型神経電子知能ロボットオペレーティングシステム)プロジェクトの研究の一環として開発されました。Pythonで記述されたディープラーニング用APIであり、機械学習の課題解決を支援する生産性の高いインターフェースを持つ高水準APIです。TensorFlowフレームワーク上で動作し、素早く実験を行えるように設計されています。機械学習ソリューションの開発とカプセル化に不可欠な抽象化機能と構成要素を提供します。

KerasはTensorFlowパッケージにすでに含まれているため、以下のコードで簡単に利用できます。

import tensorflow
from tensorflow import keras

Keras Functional APIとは

KerasのFunctional API(関数型API)を使うと、Sequential APIで作成したモデルよりも柔軟なモデルを構築できます。非線形トポロジーを持つモデルに対応できるほか、レイヤーの共有や複数の入力・出力の処理も可能です。一般的にディープラーニングモデルは、複数のレイヤーを含む有向非巡回グラフ(DAG)として表現されます。Functional APIは、このレイヤーグラフの構築を支援する強力な仕組みです。

以下のコードはGoogle Colaboratoryで実行しています。Google Colab(Colaboratory)はブラウザ上でPythonコードを実行できるサービスで、事前設定が一切不要で、GPU(グラフィックス処理装置)にも無料でアクセスできます。Jupyter Notebookをベースに構築されています。それでは、Keras Functional APIを使ってPythonでレイヤーを作成する方法を見ていきましょう。

コード例

import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

inputs = keras.Input(shape=(784,))
print("Demonstration")
img_inputs = keras.Input(shape=(32, 32, 3))
print("Dimensions of input")
print(inputs.shape)
print("The type of input")
print(inputs.dtype)
print("Layers in the model")
dense = layers.Dense(64, activation="relu")
x = dense(inputs)
x = layers.Dense(64, activation="relu")(x)
outputs = layers.Dense(10)(x)
print("Model is being built")
model = keras.Model(inputs=inputs, outputs=outputs, name="mnist_model")
print("More information about the model")
model.summary()

コード出典 − https://www.tensorflow.org/guide/keras/functional

出力結果

PythonとKerasのFunctional APIを使ってレイヤーを作成する方法を徹底解説

コードの解説

  • まず入力ノードを作成し、データの形状を784次元のベクトルとして設定しています。

  • 返される入力オブジェクトには、以前にモデルへ供給された入力データの「shape(形状)」と「dtype(データ型)」に関する情報が含まれています。

  • 最後に、入力と出力を明示的に指定することでモデルが作成されます。

  1. Kerasのplot_model関数を使ってモデル構造を可視化する方法【Python】

    Kerasはギリシャ語で「角(ホーン)」を意味します。ONEIROS(Open ended Neuro-Electronic Intelligent Robot Operating System)というプロジェクトの研究の一環として開発された、Pythonで書かれたディープラーニングAPIです。機械学習の問題解決を効率的に行うための、生産性の高いインターフェースを備えた高水準APIとなっています。 KerasはTensorFlowフレームワークの上で動作し、素早く実験を行えるよう設計されています。機械学習ソリューションの開発とカプセル化に不可欠な抽象化機能やビルディングブロックを提供してくれる

  2. Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説

    TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ