Files

4.4 KiB

In [2]:
import numpy as np
from keras.models import Model
from keras.layers import Input
from keras.layers.core import Flatten
from keras import backend as K
Using TensorFlow backend.
In [3]:
def format_decimal(arr, places=6):
    return [round(x * 10**places) / 10**places for x in arr]

Flatten

[core.Flatten.0] 1D

In [5]:
# layer_0 = Input(shape=(6,))
# layer_1 = Flatten()(layer_0)
# model = Model(input=layer_0, output=layer_1)

# data_in = [0, 0.2, 0.5, -0.1, 1, 2]
# data_in_shape = (6,)
# print('in:', data_in)
# print('in shape:', data_in_shape)
# arr_in = np.array(data_in, dtype='float32').reshape(data_in_shape)
# result = model.predict(np.array([arr_in]))
# arr_out = result[0]
# print('out shape:', arr_out.shape)
# data_out = format_decimal(arr_out.ravel().tolist())
# print('out:', data_out)

# exception with TF

[core.Flatten.1] 2D

In [9]:
layer_0 = Input(shape=(3, 2))
layer_1 = Flatten()(layer_0)
model = Model(input=layer_0, output=layer_1)

data_in = [0, 0.2, 0.5, -0.1, 1, 2]
data_in_shape = (3, 2)
print('in:', data_in)
print('in shape:', data_in_shape)
arr_in = np.array(data_in, dtype='float32').reshape(data_in_shape)
result = model.predict(np.array([arr_in]))
arr_out = result[0]
print('out shape:', arr_out.shape)
data_out = format_decimal(arr_out.ravel().tolist())
print('out:', data_out)
in: [0, 0.2, 0.5, -0.1, 1, 2]
in shape: (3, 2)
out shape: (6,)
out: [0.0, 0.2, 0.5, -0.1, 1.0, 2.0]

[core.Flatten.2] 3D

In [10]:
layer_0 = Input(shape=(3, 2, 2))
layer_1 = Flatten()(layer_0)
model = Model(input=layer_0, output=layer_1)

data_in = [0, 0.2, 0.5, -0.1, 1, 2, 0, 0.2, 0.5, -0.1, 1, 2]
data_in_shape = (3, 2, 2)
print('in:', data_in)
print('in shape:', data_in_shape)
arr_in = np.array(data_in, dtype='float32').reshape(data_in_shape)
result = model.predict(np.array([arr_in]))
arr_out = result[0]
print('out shape:', arr_out.shape)
data_out = format_decimal(arr_out.ravel().tolist())
print('out:', data_out)
in: [0, 0.2, 0.5, -0.1, 1, 2, 0, 0.2, 0.5, -0.1, 1, 2]
in shape: (3, 2, 2)
out shape: (12,)
out: [0.0, 0.2, 0.5, -0.1, 1.0, 2.0, 0.0, 0.2, 0.5, -0.1, 1.0, 2.0]
In [ ]: