Flatten()
オペレータは最後の次元から始まる値をアンロール(TFなどのない「最後のチャンネル」、少なくとも「第一チャンネル」であるTheano、のために。私は私の環境でTensorFlowを実行することはできません)。 で、第一軸のインデックス に戻って、最速の変更最後の軸インデックス
「C」手段が読み出し/ Cのようなインデックスの順序を使用して要素を書くために:これは、「C」の順序でnumpy.reshape
に相当します最も遅く変化する。
ここでは、Keras Functional APIを使用してFlatten
オペレータを示すスタンドアロンの例を示します。あなたは、あなたの環境に容易に適応できるはずです。
import numpy as np
from keras.layers import Input, Flatten
from keras.models import Model
inputs = Input(shape=(3,2,4))
# Define a model consisting only of the Flatten operation
prediction = Flatten()(inputs)
model = Model(inputs=inputs, outputs=prediction)
X = np.arange(0,24).reshape(1,3,2,4)
print(X)
#[[[[ 0 1 2 3]
# [ 4 5 6 7]]
#
# [[ 8 9 10 11]
# [12 13 14 15]]
#
# [[16 17 18 19]
# [20 21 22 23]]]]
model.predict(X)
#array([[ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.,
# 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21.,
# 22., 23.]], dtype=float32)
これは、Flattenの仕組みに関する非常に簡潔な回答です。 – nafizh