Python tensorflow.python.keras.layers.Dense() Examples
The following are 30
code examples of tensorflow.python.keras.layers.Dense().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tensorflow.python.keras.layers
, or try the search function
.
Example #1
Source File: plot_segment_rep.py From seglearn with BSD 3-Clause "New" or "Revised" License | 6 votes |
def crnn_model(width=100, n_vars=6, n_classes=7, conv_kernel_size=5, conv_filters=3, lstm_units=3): input_shape = (width, n_vars) model = Sequential() model.add(Conv1D(filters=conv_filters, kernel_size=conv_kernel_size, padding='valid', activation='relu', input_shape=input_shape)) model.add(Conv1D(filters=conv_filters, kernel_size=conv_kernel_size, padding='valid', activation='relu')) model.add(LSTM(units=lstm_units, dropout=0.1, recurrent_dropout=0.1)) model.add(Dense(n_classes, activation="softmax")) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) return model # load the data
Example #2
Source File: plot_model_selection2.py From seglearn with BSD 3-Clause "New" or "Revised" License | 6 votes |
def crnn_model(width=100, n_vars=6, n_classes=7, conv_kernel_size=5, conv_filters=2, lstm_units=2): # create a crnn model with keras with one cnn layers, and one rnn layer input_shape = (width, n_vars) model = Sequential() model.add(Conv1D(filters=conv_filters, kernel_size=conv_kernel_size, padding='valid', activation='relu', input_shape=input_shape)) model.add(LSTM(units=lstm_units, dropout=0.1, recurrent_dropout=0.1)) model.add(Dense(n_classes, activation="softmax")) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) return model # load the data
Example #3
Source File: plot_nn_training_curves.py From seglearn with BSD 3-Clause "New" or "Revised" License | 6 votes |
def crnn_model(width=100, n_vars=6, n_classes=7, conv_kernel_size=5, conv_filters=3, lstm_units=3): input_shape = (width, n_vars) model = Sequential() model.add(Conv1D(filters=conv_filters, kernel_size=conv_kernel_size, padding='valid', activation='relu', input_shape=input_shape)) model.add(LSTM(units=lstm_units, dropout=0.1, recurrent_dropout=0.1)) model.add(Dense(n_classes, activation="softmax")) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) return model ############################################## # Setup ############################################## # load the data
Example #4
Source File: rnn_test.py From estimator with Apache License 2.0 | 6 votes |
def _mock_logits_layer(kernel, bias): """Sets initialization values to dense `logits` layers used in context.""" class _MockDenseLayer(keras_layers.Dense): def __init__(self, units, activation, name): kwargs = {} if name == 'logits': kwargs = { 'kernel_initializer': tf.compat.v1.initializers.constant(kernel), 'bias_initializer': tf.compat.v1.initializers.constant(bias) } super(_MockDenseLayer, self).__init__( units=units, name=name, activation=activation, **kwargs) return tf.compat.v1.test.mock.patch.object(keras_layers, 'Dense', _MockDenseLayer)
Example #5
Source File: rnn.py From cxplain with MIT License | 6 votes |
def build(self, input_layer): last_layer = input_layer input_shape = K.int_shape(input_layer) if self.with_embedding: if input_shape[-1] != 1: raise ValueError("Only one feature (the index) can be used with embeddings, " "i.e. the input shape should be (num_samples, length, 1). " "The actual shape was: " + str(input_shape)) last_layer = Lambda(lambda x: K.squeeze(x, axis=-1), output_shape=K.int_shape(last_layer)[:-1])(last_layer) # Remove feature dimension. last_layer = Embedding(self.embedding_size, self.embedding_dimension, input_length=input_shape[-2])(last_layer) for _ in range(self.num_layers): last_layer = Dense(self.num_units, activation=self.activation)(last_layer) if self.with_bn: last_layer = BatchNormalization()(last_layer) if not np.isclose(self.p_dropout, 0): last_layer = Dropout(self.p_dropout)(last_layer) return last_layer
Example #6
Source File: graphsage.py From GraphNeuralNetwork with MIT License | 6 votes |
def build(self, input_shapes): self.dense_layers = [Dense( self.input_dim, activation='relu', use_bias=True, kernel_regularizer=l2(self.l2_reg))] self.neigh_weights = self.add_weight( shape=(self.input_dim * 2, self.output_dim), initializer=glorot_uniform( seed=self.seed), regularizer=l2(self.l2_reg), name="neigh_weights") if self.use_bias: self.bias = self.add_weight(shape=(self.output_dim,), initializer=Zeros(), name='bias_weight') self.built = True
Example #7
Source File: sdne.py From GraphEmbedding with MIT License | 6 votes |
def create_model(node_size, hidden_size=[256, 128], l1=1e-5, l2=1e-4): A = Input(shape=(node_size,)) L = Input(shape=(None,)) fc = A for i in range(len(hidden_size)): if i == len(hidden_size) - 1: fc = Dense(hidden_size[i], activation='relu', kernel_regularizer=l1_l2(l1, l2), name='1st')(fc) else: fc = Dense(hidden_size[i], activation='relu', kernel_regularizer=l1_l2(l1, l2))(fc) Y = fc for i in reversed(range(len(hidden_size) - 1)): fc = Dense(hidden_size[i], activation='relu', kernel_regularizer=l1_l2(l1, l2))(fc) A_ = Dense(node_size, 'relu', name='2nd')(fc) model = Model(inputs=[A, L], outputs=[A_, Y]) emb = Model(inputs=A, outputs=Y) return model, emb
Example #8
Source File: test_tensorflow2_autolog.py From mlflow with Apache License 2.0 | 5 votes |
def create_tf_keras_model(): model = tf.keras.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(32,))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(10, activation='softmax')) model.compile(optimizer=tf.keras.optimizers.Adam(), loss='categorical_crossentropy', metrics=['accuracy']) return model
Example #9
Source File: a3c_cartpole.py From multilabel-image-classification-tensorflow with MIT License | 5 votes |
def __init__(self, state_size, action_size): super(ActorCriticModel, self).__init__() self.state_size = state_size self.action_size = action_size self.dense1 = layers.Dense(100, activation='relu') self.policy_logits = layers.Dense(action_size) self.dense2 = layers.Dense(100, activation='relu') self.values = layers.Dense(1)
Example #10
Source File: RTSNNet.py From alpha-zero-general with MIT License | 5 votes |
def __init__(self, game, encoder): """ NNet model, copied from Othello NNet, with reduced fully connected layers fc1 and fc2 and reduced nnet_args.num_channels :param game: game configuration :param encoder: Encoder, used to encode game boards """ from rts.src.config_class import CONFIG # game params self.board_x, self.board_y, num_encoders = game.getBoardSize() self.action_size = game.getActionSize() """ num_encoders = CONFIG.nnet_args.encoder.num_encoders """ num_encoders = encoder.num_encoders # Neural Net self.input_boards = Input(shape=(self.board_x, self.board_y, num_encoders)) # s: batch_size x board_x x board_y x num_encoders x_image = Reshape((self.board_x, self.board_y, num_encoders))(self.input_boards) # batch_size x board_x x board_y x num_encoders h_conv1 = Activation('relu')(BatchNormalization(axis=3)(Conv2D(CONFIG.nnet_args.num_channels, 3, padding='same', use_bias=False)(x_image))) # batch_size x board_x x board_y x num_channels h_conv2 = Activation('relu')(BatchNormalization(axis=3)(Conv2D(CONFIG.nnet_args.num_channels, 3, padding='same', use_bias=False)(h_conv1))) # batch_size x board_x x board_y x num_channels h_conv3 = Activation('relu')(BatchNormalization(axis=3)(Conv2D(CONFIG.nnet_args.num_channels, 3, padding='valid', use_bias=False)(h_conv2))) # batch_size x (board_x-2) x (board_y-2) x num_channels h_conv4 = Activation('relu')(BatchNormalization(axis=3)(Conv2D(CONFIG.nnet_args.num_channels, 3, padding='valid', use_bias=False)(h_conv3))) # batch_size x (board_x-4) x (board_y-4) x num_channels h_conv4_flat = Flatten()(h_conv4) s_fc1 = Dropout(CONFIG.nnet_args.dropout)(Activation('relu')(BatchNormalization(axis=1)(Dense(256, use_bias=False)(h_conv4_flat)))) # batch_size x 1024 s_fc2 = Dropout(CONFIG.nnet_args.dropout)(Activation('relu')(BatchNormalization(axis=1)(Dense(128, use_bias=False)(s_fc1)))) # batch_size x 1024 self.pi = Dense(self.action_size, activation='softmax', name='pi')(s_fc2) # batch_size x self.action_size self.v = Dense(1, activation='tanh', name='v')(s_fc2) # batch_size x 1 self.model = Model(inputs=self.input_boards, outputs=[self.pi, self.v]) self.model.compile(loss=['categorical_crossentropy', 'mean_squared_error'], optimizer=Adam(CONFIG.nnet_args.lr))
Example #11
Source File: test_utils.py From models with Apache License 2.0 | 5 votes |
def trivial_model(num_classes): """Trivial model for ImageNet dataset.""" input_shape = (224, 224, 3) img_input = layers.Input(shape=input_shape) x = layers.Lambda(lambda x: backend.reshape(x, [-1, 224 * 224 * 3]), name='reshape')(img_input) x = layers.Dense(1, name='fc1')(x) x = layers.Dense(num_classes, name='fc1000')(x) x = layers.Activation('softmax', dtype='float32')(x) return models.Model(img_input, x, name='trivial')
Example #12
Source File: a3c_cartpole.py From models with Apache License 2.0 | 5 votes |
def __init__(self, state_size, action_size): super(ActorCriticModel, self).__init__() self.state_size = state_size self.action_size = action_size self.dense1 = layers.Dense(100, activation='relu') self.policy_logits = layers.Dense(action_size) self.dense2 = layers.Dense(100, activation='relu') self.values = layers.Dense(1)
Example #13
Source File: a3c_cartpole.py From g-tensorflow-models with Apache License 2.0 | 5 votes |
def __init__(self, state_size, action_size): super(ActorCriticModel, self).__init__() self.state_size = state_size self.action_size = action_size self.dense1 = layers.Dense(100, activation='relu') self.policy_logits = layers.Dense(action_size) self.dense2 = layers.Dense(100, activation='relu') self.values = layers.Dense(1)
Example #14
Source File: core.py From pinn with MIT License | 5 votes |
def inputsSelection(inputs_shape, ndex): if not hasattr(ndex,'index'): ndex = list(ndex) input_mask = np.zeros([inputs_shape[-1], len(ndex)]) for i in range(inputs_shape[-1]): for v in ndex: if i == v: input_mask[i,ndex.index(v)] = 1 dL = Dense(len(ndex), activation = None, input_shape = inputs_shape, use_bias = False) dL.build(input_shape = inputs_shape) dL.set_weights([input_mask]) dL.trainable = False return dL
Example #15
Source File: core.py From pinn with MIT License | 5 votes |
def getScalingDenseLayer(input_location, input_scale): recip_input_scale = np.reciprocal(input_scale) waux = np.diag(recip_input_scale) baux = -input_location*recip_input_scale dL = Dense(input_location.shape[0], activation = None, input_shape = input_location.shape) dL.build(input_shape = input_location.shape) dL.set_weights([waux, baux]) dL.trainable = False return dL
Example #16
Source File: wdl.py From DeepCTR with Apache License 2.0 | 5 votes |
def WDL(linear_feature_columns, dnn_feature_columns, dnn_hidden_units=(128, 128), l2_reg_linear=1e-5, l2_reg_embedding=1e-5, l2_reg_dnn=0, seed=1024, dnn_dropout=0, dnn_activation='relu', task='binary'): """Instantiates the Wide&Deep Learning architecture. :param linear_feature_columns: An iterable containing all the features used by linear part of the model. :param dnn_feature_columns: An iterable containing all the features used by deep part of the model. :param dnn_hidden_units: list,list of positive integer or empty list, the layer number and units in each layer of DNN :param l2_reg_linear: float. L2 regularizer strength applied to wide part :param l2_reg_embedding: float. L2 regularizer strength applied to embedding vector :param l2_reg_dnn: float. L2 regularizer strength applied to DNN :param seed: integer ,to use as random seed. :param dnn_dropout: float in [0,1), the probability we will drop out a given DNN coordinate. :param dnn_activation: Activation function to use in DNN :param task: str, ``"binary"`` for binary logloss or ``"regression"`` for regression loss :return: A Keras model instance. """ features = build_input_features( linear_feature_columns + dnn_feature_columns) inputs_list = list(features.values()) linear_logit = get_linear_logit(features, linear_feature_columns, seed=seed, prefix='linear', l2_reg=l2_reg_linear) sparse_embedding_list, dense_value_list = input_from_feature_columns(features, dnn_feature_columns, l2_reg_embedding, seed) dnn_input = combined_dnn_input(sparse_embedding_list, dense_value_list) dnn_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout, False, seed)(dnn_input) dnn_logit = Dense( 1, use_bias=False, activation=None)(dnn_out) final_logit = add_func([dnn_logit, linear_logit]) output = PredictionLayer(task)(final_logit) model = Model(inputs=inputs_list, outputs=output) return model
Example #17
Source File: small_cnn.py From camera-trap-classifier with MIT License | 5 votes |
def architecture(inputs): """ Architecture of model """ conv1 = Conv2D(32, kernel_size=(3, 3), activation='relu')(inputs) max1 = MaxPooling2D(pool_size=(2, 2))(conv1) conv2 = Conv2D(32, (3, 3), activation='relu')(max1) max2 = MaxPooling2D(pool_size=(2, 2))(conv2) conv3 = Conv2D(64, (3, 3), activation='relu')(max2) max3 = MaxPooling2D(pool_size=(2, 2))(conv3) flat1 = Flatten()(max3) dense1 = Dense(64, activation='relu')(flat1) drop1 = Dropout(0.5)(dense1) return drop1
Example #18
Source File: test_tensorflow_autolog.py From mlflow with Apache License 2.0 | 5 votes |
def create_tf_keras_model(): model = tf.keras.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(32,))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(10, activation='softmax')) model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.002, epsilon=1e-08, name='Eve'), loss='categorical_crossentropy', metrics=['accuracy']) return model
Example #19
Source File: trivial_model.py From Live-feed-object-device-identification-using-Tensorflow-and-OpenCV with Apache License 2.0 | 5 votes |
def trivial_model(num_classes): """Trivial model for ImageNet dataset.""" input_shape = (224, 224, 3) img_input = layers.Input(shape=input_shape) x = layers.Lambda(lambda x: backend.reshape(x, [-1, 224 * 224 * 3]), name='reshape')(img_input) x = layers.Dense(1, name='fc1')(x) x = layers.Dense(num_classes, name='fc1000')(x) x = layers.Activation('softmax', dtype='float32')(x) return models.Model(img_input, x, name='trivial')
Example #20
Source File: mlp.py From cxplain with MIT License | 5 votes |
def build(self, input_layer): last_layer = input_layer for _ in range(self.num_layers): last_layer = Dense(self.num_units, activation=self.activation)(last_layer) if self.with_bn: last_layer = BatchNormalization()(last_layer) if not np.isclose(self.p_dropout, 0): last_layer = Dropout(self.p_dropout)(last_layer) return last_layer
Example #21
Source File: test_explanation_model.py From cxplain with MIT License | 5 votes |
def test_mnist_unet_with_shape_valid(self): num_subsamples = 100 (x_train, y_train), (x_test, y_test) = TestUtil.get_mnist(flattened=False, num_subsamples=num_subsamples) explained_model_builder = MLPModelBuilder(num_layers=2, num_units=64, activation="relu", p_dropout=0.2, verbose=0, batch_size=256, learning_rate=0.001, num_epochs=2, early_stopping_patience=128) input_shape = x_train.shape[1:] input_layer = Input(shape=input_shape) last_layer = Flatten()(input_layer) last_layer = explained_model_builder.build(last_layer) last_layer = Dense(y_train.shape[-1], activation="softmax")(last_layer) explained_model = Model(input_layer, last_layer) explained_model.compile(loss="categorical_crossentropy", optimizer="adam") explained_model.fit(x_train, y_train) masking_operation = ZeroMasking() loss = categorical_crossentropy downsample_factors = [(2, 2), (4, 4), (4, 7), (7, 4), (7, 7)] with_bns = [True if i % 2 == 0 else False for i in range(len(downsample_factors))] for downsample_factor, with_bn in zip(downsample_factors, with_bns): model_builder = UNetModelBuilder(downsample_factor, num_layers=2, num_units=64, activation="relu", p_dropout=0.2, verbose=0, batch_size=256, learning_rate=0.001, num_epochs=2, early_stopping_patience=128, with_bn=with_bn) explainer = CXPlain(explained_model, model_builder, masking_operation, loss, downsample_factors=downsample_factor) explainer.fit(x_train, y_train) eval_score = explainer.score(x_test, y_test) train_score = explainer.get_last_fit_score() median = explainer.predict(x_test) self.assertTrue(median.shape == x_test.shape)
Example #22
Source File: baisc.py From FATE with Apache License 2.0 | 5 votes |
def _build_dense(units, activation, use_bias=True, kernel_initializer="glorot_uniform", bias_initializer="zeros", kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, seed=None, **kwargs): return layers.Dense(units=units, activation=activation, use_bias=use_bias, kernel_initializer=_get_initializer(kernel_initializer, seed), bias_initializer=_get_initializer(bias_initializer, seed), kernel_regularizer=kernel_regularizer, bias_regularizer=bias_regularizer, activity_regularizer=activity_regularizer, kernel_constraint=kernel_constraint, bias_constraint=bias_constraint, **kwargs)
Example #23
Source File: wdl.py From DeepCTR with Apache License 2.0 | 4 votes |
def WDLEstimator(linear_feature_columns, dnn_feature_columns, dnn_hidden_units=(128, 128), l2_reg_linear=1e-5, l2_reg_embedding=1e-5, l2_reg_dnn=0, seed=1024, dnn_dropout=0, dnn_activation='relu', task='binary', model_dir=None, config=None, linear_optimizer='Ftrl', dnn_optimizer='Adagrad', training_chief_hooks=None): """Instantiates the Wide&Deep Learning architecture. :param linear_feature_columns: An iterable containing all the features used by linear part of the model. :param dnn_feature_columns: An iterable containing all the features used by deep part of the model. :param dnn_hidden_units: list,list of positive integer or empty list, the layer number and units in each layer of DNN :param l2_reg_linear: float. L2 regularizer strength applied to wide part :param l2_reg_embedding: float. L2 regularizer strength applied to embedding vector :param l2_reg_dnn: float. L2 regularizer strength applied to DNN :param seed: integer ,to use as random seed. :param dnn_dropout: float in [0,1), the probability we will drop out a given DNN coordinate. :param dnn_activation: Activation function to use in DNN :param task: str, ``"binary"`` for binary logloss or ``"regression"`` for regression loss :param model_dir: Directory to save model parameters, graph and etc. This can also be used to load checkpoints from the directory into a estimator to continue training a previously saved model. :param config: tf.RunConfig object to configure the runtime settings. :param linear_optimizer: An instance of `tf.Optimizer` used to apply gradients to the linear part of the model. Defaults to FTRL optimizer. :param dnn_optimizer: An instance of `tf.Optimizer` used to apply gradients to the deep part of the model. Defaults to Adagrad optimizer. :param training_chief_hooks: Iterable of `tf.train.SessionRunHook` objects to run on the chief worker during training. :return: A Tensorflow Estimator instance. """ def _model_fn(features, labels, mode, config): train_flag = (mode == tf.estimator.ModeKeys.TRAIN) linear_logits = get_linear_logit(features, linear_feature_columns, l2_reg_linear=l2_reg_linear) with variable_scope(DNN_SCOPE_NAME): sparse_embedding_list, dense_value_list = input_from_feature_columns(features, dnn_feature_columns, l2_reg_embedding=l2_reg_embedding) dnn_input = combined_dnn_input(sparse_embedding_list, dense_value_list) dnn_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout, False, seed)(dnn_input, training=train_flag) dnn_logits = Dense( 1, use_bias=False, activation=None)(dnn_out) logits = linear_logits + dnn_logits return deepctr_model_fn(features, mode, logits, labels, task, linear_optimizer, dnn_optimizer, training_chief_hooks=training_chief_hooks) return tf.estimator.Estimator(_model_fn, model_dir=model_dir, config=config)
Example #24
Source File: conv_network.py From mnist_digits_classification with MIT License | 4 votes |
def model(train_x, train_y, test_x, test_y, epoch): ''' :param train_x: train features :param train_y: train labels :param test_x: test features :param test_y: test labels :param epoch: no. of epochs :return: ''' conv_model = Sequential() # first layer with input shape (img_rows, img_cols, 1) and 12 filters conv_model.add(Conv2D(12, kernel_size=(3, 3), activation='relu', input_shape=(img_rows, img_cols, 1))) # second layer with 12 filters conv_model.add(Conv2D(12, kernel_size=(3, 3), activation='relu')) # third layer with 12 filers conv_model.add(Conv2D(12, kernel_size=(3, 3), activation='relu')) # flatten layer conv_model.add(Flatten()) # adding a Dense layer conv_model.add(Dense(100, activation='relu')) # adding the final Dense layer with softmax conv_model.add(Dense(num_classes, activation='softmax')) # compile the model conv_model.compile(optimizer=keras.optimizers.Adadelta(), loss='categorical_crossentropy', metrics=['accuracy']) print("\n Training the Convolution Neural Network on MNIST data\n") # fit the model conv_model.fit(train_x, train_y, batch_size=128, epochs=epoch, validation_split=0.1, verbose=2) predicted_train_y = conv_model.predict(train_x) train_accuracy = (sum(np.argmax(predicted_train_y, axis=1) == np.argmax(train_y, axis=1))/(float(len(train_y)))) print('Train accuracy : ', train_accuracy) predicted_test_y = conv_model.predict(test_x) test_accuracy = (sum(np.argmax(predicted_test_y, axis=1) == np.argmax(test_y, axis=1))/(float(len(test_y)))) print('Test accuracy : ', test_accuracy) CNN_accuracy = {'train_accuracy': train_accuracy, 'test_accuracy': test_accuracy, 'epoch': epoch} return conv_model, CNN_accuracy
Example #25
Source File: fibinet.py From DeepCTR with Apache License 2.0 | 4 votes |
def FiBiNET(linear_feature_columns, dnn_feature_columns, bilinear_type='interaction', reduction_ratio=3, dnn_hidden_units=(128, 128), l2_reg_linear=1e-5, l2_reg_embedding=1e-5, l2_reg_dnn=0, seed=1024, dnn_dropout=0, dnn_activation='relu', task='binary'): """Instantiates the Feature Importance and Bilinear feature Interaction NETwork architecture. :param linear_feature_columns: An iterable containing all the features used by linear part of the model. :param dnn_feature_columns: An iterable containing all the features used by deep part of the model. :param bilinear_type: str,bilinear function type used in Bilinear Interaction Layer,can be ``'all'`` , ``'each'`` or ``'interaction'`` :param reduction_ratio: integer in [1,inf), reduction ratio used in SENET Layer :param dnn_hidden_units: list,list of positive integer or empty list, the layer number and units in each layer of DNN :param l2_reg_linear: float. L2 regularizer strength applied to wide part :param l2_reg_embedding: float. L2 regularizer strength applied to embedding vector :param l2_reg_dnn: float. L2 regularizer strength applied to DNN :param seed: integer ,to use as random seed. :param dnn_dropout: float in [0,1), the probability we will drop out a given DNN coordinate. :param dnn_activation: Activation function to use in DNN :param task: str, ``"binary"`` for binary logloss or ``"regression"`` for regression loss :return: A Keras model instance. """ features = build_input_features(linear_feature_columns + dnn_feature_columns) inputs_list = list(features.values()) linear_logit = get_linear_logit(features, linear_feature_columns, seed=seed, prefix='linear', l2_reg=l2_reg_linear) sparse_embedding_list, dense_value_list = input_from_feature_columns(features, dnn_feature_columns, l2_reg_embedding, seed) senet_embedding_list = SENETLayer( reduction_ratio, seed)(sparse_embedding_list) senet_bilinear_out = BilinearInteraction( bilinear_type=bilinear_type, seed=seed)(senet_embedding_list) bilinear_out = BilinearInteraction( bilinear_type=bilinear_type, seed=seed)(sparse_embedding_list) dnn_input = combined_dnn_input( [Flatten()(concat_func([senet_bilinear_out, bilinear_out]))], dense_value_list) dnn_out = DNN(dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout, False, seed)(dnn_input) dnn_logit = Dense( 1, use_bias=False, activation=None)(dnn_out) final_logit = add_func([linear_logit, dnn_logit]) output = PredictionLayer(task)(final_logit) model = Model(inputs=inputs_list, outputs=output) return model
Example #26
Source File: model.py From attention_keras with MIT License | 4 votes |
def define_nmt(hidden_size, batch_size, en_timesteps, en_vsize, fr_timesteps, fr_vsize): """ Defining a NMT model """ # Define an input sequence and process it. if batch_size: encoder_inputs = Input(batch_shape=(batch_size, en_timesteps, en_vsize), name='encoder_inputs') decoder_inputs = Input(batch_shape=(batch_size, fr_timesteps - 1, fr_vsize), name='decoder_inputs') else: encoder_inputs = Input(shape=(en_timesteps, en_vsize), name='encoder_inputs') decoder_inputs = Input(shape=(fr_timesteps - 1, fr_vsize), name='decoder_inputs') # Encoder GRU encoder_gru = Bidirectional(GRU(hidden_size, return_sequences=True, return_state=True, name='encoder_gru'), name='bidirectional_encoder') encoder_out, encoder_fwd_state, encoder_back_state = encoder_gru(encoder_inputs) # Set up the decoder GRU, using `encoder_states` as initial state. decoder_gru = GRU(hidden_size*2, return_sequences=True, return_state=True, name='decoder_gru') decoder_out, decoder_state = decoder_gru( decoder_inputs, initial_state=Concatenate(axis=-1)([encoder_fwd_state, encoder_back_state]) ) # Attention layer attn_layer = AttentionLayer(name='attention_layer') attn_out, attn_states = attn_layer([encoder_out, decoder_out]) # Concat attention input and decoder GRU output decoder_concat_input = Concatenate(axis=-1, name='concat_layer')([decoder_out, attn_out]) # Dense layer dense = Dense(fr_vsize, activation='softmax', name='softmax_layer') dense_time = TimeDistributed(dense, name='time_distributed_layer') decoder_pred = dense_time(decoder_concat_input) # Full model full_model = Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_pred) full_model.compile(optimizer='adam', loss='categorical_crossentropy') full_model.summary() """ Inference model """ batch_size = 1 """ Encoder (Inference) model """ encoder_inf_inputs = Input(batch_shape=(batch_size, en_timesteps, en_vsize), name='encoder_inf_inputs') encoder_inf_out, encoder_inf_fwd_state, encoder_inf_back_state = encoder_gru(encoder_inf_inputs) encoder_model = Model(inputs=encoder_inf_inputs, outputs=[encoder_inf_out, encoder_inf_fwd_state, encoder_inf_back_state]) """ Decoder (Inference) model """ decoder_inf_inputs = Input(batch_shape=(batch_size, 1, fr_vsize), name='decoder_word_inputs') encoder_inf_states = Input(batch_shape=(batch_size, en_timesteps, 2*hidden_size), name='encoder_inf_states') decoder_init_state = Input(batch_shape=(batch_size, 2*hidden_size), name='decoder_init') decoder_inf_out, decoder_inf_state = decoder_gru( decoder_inf_inputs, initial_state=decoder_init_state) attn_inf_out, attn_inf_states = attn_layer([encoder_inf_states, decoder_inf_out]) decoder_inf_concat = Concatenate(axis=-1, name='concat')([decoder_inf_out, attn_inf_out]) decoder_inf_pred = TimeDistributed(dense)(decoder_inf_concat) decoder_model = Model(inputs=[encoder_inf_states, decoder_init_state, decoder_inf_inputs], outputs=[decoder_inf_pred, attn_inf_states, decoder_inf_state]) return full_model, encoder_model, decoder_model
Example #27
Source File: model.py From attention_keras with MIT License | 4 votes |
def define_nmt(hidden_size, batch_size, en_timesteps, en_vsize, fr_timesteps, fr_vsize): """ Defining a NMT model """ # Define an input sequence and process it. if batch_size: encoder_inputs = Input(batch_shape=(batch_size, en_timesteps, en_vsize), name='encoder_inputs') decoder_inputs = Input(batch_shape=(batch_size, fr_timesteps - 1, fr_vsize), name='decoder_inputs') else: encoder_inputs = Input(shape=(en_timesteps, en_vsize), name='encoder_inputs') if fr_timesteps: decoder_inputs = Input(shape=(fr_timesteps - 1, fr_vsize), name='decoder_inputs') else: decoder_inputs = Input(shape=(None, fr_vsize), name='decoder_inputs') # Encoder GRU encoder_gru = GRU(hidden_size, return_sequences=True, return_state=True, name='encoder_gru') encoder_out, encoder_state = encoder_gru(encoder_inputs) # Set up the decoder GRU, using `encoder_states` as initial state. decoder_gru = GRU(hidden_size, return_sequences=True, return_state=True, name='decoder_gru') decoder_out, decoder_state = decoder_gru(decoder_inputs, initial_state=encoder_state) # Attention layer attn_layer = AttentionLayer(name='attention_layer') attn_out, attn_states = attn_layer([encoder_out, decoder_out]) # Concat attention input and decoder GRU output decoder_concat_input = Concatenate(axis=-1, name='concat_layer')([decoder_out, attn_out]) # Dense layer dense = Dense(fr_vsize, activation='softmax', name='softmax_layer') dense_time = TimeDistributed(dense, name='time_distributed_layer') decoder_pred = dense_time(decoder_concat_input) # Full model full_model = Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_pred) full_model.compile(optimizer='adam', loss='categorical_crossentropy') full_model.summary() """ Inference model """ batch_size = 1 """ Encoder (Inference) model """ encoder_inf_inputs = Input(batch_shape=(batch_size, en_timesteps, en_vsize), name='encoder_inf_inputs') encoder_inf_out, encoder_inf_state = encoder_gru(encoder_inf_inputs) encoder_model = Model(inputs=encoder_inf_inputs, outputs=[encoder_inf_out, encoder_inf_state]) """ Decoder (Inference) model """ decoder_inf_inputs = Input(batch_shape=(batch_size, 1, fr_vsize), name='decoder_word_inputs') encoder_inf_states = Input(batch_shape=(batch_size, en_timesteps, hidden_size), name='encoder_inf_states') decoder_init_state = Input(batch_shape=(batch_size, hidden_size), name='decoder_init') decoder_inf_out, decoder_inf_state = decoder_gru(decoder_inf_inputs, initial_state=decoder_init_state) attn_inf_out, attn_inf_states = attn_layer([encoder_inf_states, decoder_inf_out]) decoder_inf_concat = Concatenate(axis=-1, name='concat')([decoder_inf_out, attn_inf_out]) decoder_inf_pred = TimeDistributed(dense)(decoder_inf_concat) decoder_model = Model(inputs=[encoder_inf_states, decoder_init_state, decoder_inf_inputs], outputs=[decoder_inf_pred, attn_inf_states, decoder_inf_state]) return full_model, encoder_model, decoder_model
Example #28
Source File: model.py From speaker-recognition-3d-cnn with MIT License | 4 votes |
def _3d_cnn_model(input_shape, num_classes): # Define Model inputs = Input(shape=input_shape, name="input-layer") # Conv 1 X = Conv3D(filters=16, kernel_size=(3, 1, 5), strides=(1, 1, 1), name="conv1-1")(inputs) X = PReLU(name="activation1-1")(X) X = Conv3D(filters=16, kernel_size=(3, 9, 1), strides=(1, 2, 1), name="conv1-2")(X) X = PReLU(name="activation1-2")(X) X = MaxPool3D(pool_size=(1, 1, 2), strides=(1, 1, 2), padding="valid", name="pool-1")(X) # X = Dropout(0.2)(X) # Conv 2 X = Conv3D(filters=32, kernel_size=(3, 1, 4), strides=(1, 1, 1), name="conv2-1")(X) X = PReLU(name="activation2-1")(X) X = Conv3D(filters=32, kernel_size=(3, 8, 1), strides=(1, 2, 1), name="conv2-2")(X) X = PReLU(name="activation2-2")(X) X = MaxPool3D(pool_size=(1, 1, 2), strides=(1, 1, 2), padding="valid", name="pool-2")(X) # X = Dropout(0.2)(X) # Conv 3 X = Conv3D(filters=64, kernel_size=(3, 1, 3), strides=(1, 1, 1), name="conv3-1")(X) X = PReLU(name="activation3-1")(X) X = Conv3D(filters=64, kernel_size=(3, 7, 1), strides=(1, 1, 1), name="conv3-2")(X) X = PReLU(name="activation3-2")(X) # X = Dropout(0.2)(X) # Conv 4 X = Conv3D(filters=128, kernel_size=(3, 1, 3), strides=(1, 1, 1), name="conv4-1")(X) X = PReLU(name="activation4-1")(X) X = Conv3D(filters=128, kernel_size=(3, 7, 1), strides=(1, 1, 1), name="conv4-2")(X) X = PReLU(name="activation4-2")(X) # X = Dropout(0.2)(X) # Flaten X = Flatten()(X) # FC X = Dense(units=128, name="fc", activation='relu')(X) # Final Activation X = Dense(units=num_classes, activation='softmax', name="ac_softmax")(X) model = Model(inputs=inputs, outputs=X) return model
Example #29
Source File: rnn.py From estimator with Apache License 2.0 | 4 votes |
def __init__(self, rnn_layer, units, sequence_feature_columns, context_feature_columns=None, activation=None, return_sequences=False, **kwargs): """Initializes a RNNModel instance. Args: rnn_layer: A Keras RNN layer. units: An int indicating the dimension of the logit layer, and of the model output. sequence_feature_columns: An iterable containing the `FeatureColumn`s that represent sequential input. All items in the set should either be sequence columns (e.g. `sequence_numeric_column`) or constructed from one (e.g. `embedding_column` with `sequence_categorical_column_*` as input). context_feature_columns: An iterable containing the `FeatureColumn`s for contextual input. The data represented by these columns will be replicated and given to the RNN at each timestep. These columns must be instances of classes derived from `DenseColumn` such as `numeric_column`, not the sequential variants. activation: Activation function to apply to the logit layer (for instance `tf.keras.activations.sigmoid`). If you don't specify anything, no activation is applied. return_sequences: A boolean indicating whether to return the last output in the output sequence, or the full sequence. **kwargs: Additional arguments. Raises: ValueError: If `units` is not an int. """ super(RNNModel, self).__init__(**kwargs) if not isinstance(units, int): raise ValueError('units must be an int. Given type: {}'.format( type(units))) self._return_sequences = return_sequences self._sequence_feature_columns = sequence_feature_columns self._context_feature_columns = context_feature_columns self._sequence_features_layer = fc.SequenceFeatures( sequence_feature_columns) self._dense_features_layer = None if context_feature_columns: self._dense_features_layer = tf.compat.v1.keras.layers.DenseFeatures( context_feature_columns) self._rnn_layer = rnn_layer self._logits_layer = keras_layers.Dense( units=units, activation=activation, name='logits')
Example #30
Source File: pbt_tune_cifar10_with_keras.py From ray with Apache License 2.0 | 4 votes |
def _build_model(self, input_shape): x = Input(shape=(32, 32, 3)) y = x y = Convolution2D( filters=64, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = Convolution2D( filters=64, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = MaxPooling2D(pool_size=2, strides=2, padding="same")(y) y = Convolution2D( filters=128, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = Convolution2D( filters=128, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = MaxPooling2D(pool_size=2, strides=2, padding="same")(y) y = Convolution2D( filters=256, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = Convolution2D( filters=256, kernel_size=3, strides=1, padding="same", activation="relu", kernel_initializer="he_normal")(y) y = MaxPooling2D(pool_size=2, strides=2, padding="same")(y) y = Flatten()(y) y = Dropout(self.config.get("dropout", 0.5))(y) y = Dense( units=10, activation="softmax", kernel_initializer="he_normal")(y) model = Model(inputs=x, outputs=y, name="model1") return model