[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/PPPLDeepLearning/plasma-python/master/examples/test.py [Back]  [Original]

# import keras
from keras.models import Model  # , Sequential
from keras.layers import Input
from keras.layers.core import Lambda, Reshape, Permute
# Dense, Activation, Dropout, Flatten
# from keras.layers.recurrent import LSTM, SimpleRNN
# from keras.layers.convolutional import Convolution1D
# from keras.layers.pooling import MaxPooling1D
# from keras.utils.data_utils import get_file
# from keras.layers.wrappers import TimeDistributed
# from keras.layers.merge import Concatenate
# from keras.callbacks import Callback
# from keras.optimizers import *
# from keras.regularizers import l1, l2, l1_l2

import numpy as np

x = np.array(range(8))
num_signals = len(x)
x = np.atleast_2d(x)
x = np.reshape(x, (1, num_signals))
print(x.shape)
print(x)

indices_0d = np.array([0, 1])
indices_1d = np.array([2, 3, 4, 5, 6, 7])

num_1D = 2

pre_rnn_input = Input(shape=(num_signals,))
pre_rnn_1D = Lambda(lambda x: x[:, len(indices_0d):], output_shape=(
    len(indices_1d),))(pre_rnn_input)
pre_rnn_0D = Lambda(lambda x: x[:, :len(indices_0d)],
                    output_shape=(len(indices_0d),))(pre_rnn_input)
# slicer(x, indices_0d),
# lambda s: slicer_output_shape(s, indices_0d))(pre_rnn_input)
pre_rnn_1D = Reshape((num_1D, len(indices_1d)/num_1D))(pre_rnn_1D)
pre_rnn_1D = Permute((2, 1))(pre_rnn_1D)

# for i in range(model_conf['num_conv_layers']):
#     pre_rnn_1D = Convolution1D(num_conv_filters, size_conv_filters,
#                      padding='valid',activation='relu') (pre_rnn_1D)
#     pre_rnn_1D = MaxPooling1D(pool_size) (pre_rnn_1D)
# pre_rnn_1D = Flatten() (pre_rnn_1D)
# pre_rnn = Concatenate() ([pre_rnn_0D,pre_rnn_1D])

model = Model(inputs=pre_rnn_input, outputs=pre_rnn_1D)
# x_input = Input(batch_shape = batch_input_shape)
# x_in = TimeDistributed(pre_rnn_model) (x_input)

# if return_sequences:
# x_out = TimeDistributed(Dense(100, activation='tanh')) (x_in)
# x_out = TimeDistributed(Dense(1, activation=output_activation)) (x_in)
# else:
# x_out = Dense(1, activation=output_activation) (x_in)
model.compile(loss='mse', optimizer='sgd')

y = model.predict(x)
print(model.layers)
print(x)
print(y)
print(y.shape)
print(y[0, :, 0])
# bug with tensorflow/Keras --- ?????

Web Proxy Viewer  |  New URL  |  Original Page