私はディープラーニングのコードを書くのにKerasを使って書いてます。
ですが、Kerasのドキュメントがわかりにくいんだよなぁぁ。なので、メモ的に書いておきます。
最初の方に出てくる話なのですが、Kerasではモデルというものを使って、ディープラーニングを作ります。(めちゃざっくりしてますが)
モデルの作り方に、
というのでつくるやり方の2通りが紹介されています。
一体何が違うの~?!( ゚Д゚) となっちゃいますよね。なんか、ネーミングも、Functional APIって、何かのAPI? Sequentialモデルとは全く似ても似つかないものなのでは???と思っちゃいますよね。
しかし、二つはモデルの作り方が違うだけです。
Sequentialモデルは、Sequentialは「順序通り」という意味でして、その名の通り、モデルを下記のようや
model = Sequential([
Dense(32, input_shape=(784,)),
Activation('relu'),
Dense(10),
Activation('softmax'),
])
下記のように
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
した場合、この順番通りにレイヤーが追加されて、処理がされるということです。
Functional APIは、複数の入出力を持ったモデルなど、Sequentialではできないような、ちょっと複雑なモデルが作れます。
アレの出力をコレの入力にも、アッチの入力にも使える、みたいなイメージです。