Python keras.activations.softmax() Examples
The following are 30
code examples of keras.activations.softmax().
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
keras.activations
, or try the search function
.
Example #1
Source File: ntm.py From ntm_keras with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _get_weight_vector(self, M, w_tm1, k, beta, g, s, gamma): # M = tf.Print(M, [M, w_tm1, k], message='get weights beg1: ') # M = tf.Print(M, [beta, g, s, gamma], message='get weights beg2: ') # Content adressing, see Chapter 3.3.1: num = beta * _cosine_distance(M, k) w_c = K.softmax(num) # It turns out that equation (5) is just softmax. # Location adressing, see Chapter 3.3.2: # Equation 7: w_g = (g * w_c) + (1-g)*w_tm1 # C_s is the circular convolution #C_w = K.sum((self.C[None, :, :, :] * w_g[:, None, None, :]),axis=3) # Equation 8: # TODO: Explain C_s = K.sum(K.repeat_elements(self.C[None, :, :, :], self.batch_size, axis=0) * s[:,:,None,None], axis=1) w_tilda = K.batch_dot(C_s, w_g) # Equation 9: w_out = _renorm(w_tilda ** gamma) return w_out
Example #2
Source File: motion_all_CNN2D_multiscale.py From CNNArt with Apache License 2.0 | 6 votes |
def createModel(patchSize, patchSize_down=None, ScaleFactor=1, learningRate=1e-3, optimizer='SGD', dr_rate=0.0, input_dr_rate=0.0, max_norm=5, iPReLU=0, l2_reg=1e-6): # Total params: 453,570 input_orig = Input(shape=(1, int(patchSize[0]), int(patchSize[1]))) path_orig_output = fConveBlock(input_orig) input_down = Input(shape=(1, int(patchSize_down[0]), int(patchSize_down[1]))) path_down = fConveBlock(input_down) path_down_output = fUpSample(path_down, ScaleFactor) multi_scale_connect = fconcatenate(path_orig_output, path_down_output) # fully connect layer as dense flat_out = Flatten()(multi_scale_connect) dropout_out = Dropout(dr_rate)(flat_out) dense_out = Dense(units=2, kernel_initializer='normal', kernel_regularizer=l2(l2_reg))(dropout_out) # Fully connected layer as convo with 1X1 ? output_fc1 = Activation('softmax')(dense_out) output_fc2 = Activation('softmax')(dense_out) output_p1 = Lambda(sliceP1,name='path1_output',output_shape=(None,2))(output_fc1) output_p2 = Lambda(sliceP2,name='path2_output',output_shape=(None,2))(output_fc2) cnn_ms = Model(inputs=[input_orig, input_down], outputs=[output_p1,output_p2]) return cnn_ms
Example #3
Source File: models.py From EEG_classification with Apache License 2.0 | 6 votes |
def get_model_lstm(): nclass = 5 seq_input = Input(shape=(None, 3000, 1)) base_model = get_base_model() for layer in base_model.layers: layer.trainable = False encoded_sequence = TimeDistributed(base_model)(seq_input) encoded_sequence = Bidirectional(LSTM(100, return_sequences=True))(encoded_sequence) encoded_sequence = Dropout(rate=0.5)(encoded_sequence) encoded_sequence = Bidirectional(LSTM(100, return_sequences=True))(encoded_sequence) #out = TimeDistributed(Dense(nclass, activation="softmax"))(encoded_sequence) out = Convolution1D(nclass, kernel_size=1, activation="softmax", padding="same")(encoded_sequence) model = models.Model(seq_input, out) model.compile(optimizers.Adam(0.001), losses.sparse_categorical_crossentropy, metrics=['acc']) model.summary() return model
Example #4
Source File: params.py From talos with MIT License | 6 votes |
def iris(): from keras.optimizers import Adam, Nadam from keras.losses import logcosh, categorical_crossentropy from keras.activations import relu, elu, softmax # here use a standard 2d dictionary for inputting the param boundaries p = {'lr': (0.5, 5, 10), 'first_neuron': [4, 8, 16, 32, 64], 'hidden_layers': [0, 1, 2, 3, 4], 'batch_size': (2, 30, 10), 'epochs': [2], 'dropout': (0, 0.5, 5), 'weight_regulizer': [None], 'emb_output_dims': [None], 'shapes': ['brick', 'triangle', 0.2], 'optimizer': [Adam, Nadam], 'losses': [logcosh, categorical_crossentropy], 'activation': [relu, elu], 'last_activation': [softmax]} return p
Example #5
Source File: attention_decoder.py From keras-monotonic-attention with GNU Affero General Public License v3.0 | 6 votes |
def _compute_probabilities(self, energy, previous_attention=None): if self.is_monotonic: # add presigmoid noise to encourage discreteness sigmoid_noise = K.in_train_phase(1., 0.) noise = K.random_normal(K.shape(energy), mean=0.0, stddev=sigmoid_noise) # encourage discreteness in train energy = K.in_train_phase(energy + noise, energy) p = K.in_train_phase(K.sigmoid(energy), K.cast(energy > 0, energy.dtype)) p = K.squeeze(p, -1) p_prev = K.squeeze(previous_attention, -1) # monotonic attention function from tensorflow at = K.in_train_phase( tf.contrib.seq2seq.monotonic_attention(p, p_prev, 'parallel'), tf.contrib.seq2seq.monotonic_attention(p, p_prev, 'hard')) at = K.expand_dims(at, -1) else: # softmax at = keras.activations.softmax(energy, axis=1) return at
Example #6
Source File: region.py From keras-yolo with MIT License | 6 votes |
def _process_input(self, x): """Apply logistic and softmax activations to input tensor """ logistic_activate = lambda x: 1.0/(1.0 + K.exp(-x)) (batch, w, h, channels) = x.get_shape() x_temp = K.permute_dimensions(x, (3, 0, 1, 2)) x_t = [] for i in range(self.num): k = self._entry_index(i, 0) x_t.extend([ logistic_activate(K.gather(x_temp, (k, k + 1))), # 0 K.gather(x_temp, (k + 2, k + 3))]) if self.background: x_t.append(K.gather(x_temp, (k + 4,))) else: x_t.append(logistic_activate(K.gather(x_temp, (k + 4,)))) x_t.append( softmax( K.gather(x_temp, tuple(range(k + 5, k + self.coords + self.classes + 1))), axis=0)) x_t = K.concatenate(x_t, axis=0) return K.permute_dimensions(x_t, (1, 2, 3, 0))
Example #7
Source File: region.py From keras-yolo with MIT License | 6 votes |
def __init__(self, coords=4, classes=20, num=1, log=0, sqrt=0, softmax=0, background=0, max=30, jitter=0.2, rescore = 0, thresh=0.5, classfix=0, absolute=0, random=0, coord_scale=1, object_scale=1, noobject_scale=1, class_scale=1, bias_match=0, tree=None,#tree_file for softmax_tree - not used now map_filename=None, # file name for map_file - not used anchors=None, **kwargs ): super(Region, self).__init__(**kwargs) self.coords = coords self.classes = classes self.num = num self.background = background print(coords, classes) self.c = (self.coords+self.classes+1)*num if anchors: self.biases = list(map(float, anchors)) pass
Example #8
Source File: HandWritingRecognition.py From Jtyoui with MIT License | 6 votes |
def nn_model(): (x_train, y_train), _ = mnist.load_data() # 归一化 x_train = x_train.reshape(x_train.shape[0], -1) / 255. # one-hot y_train = np_utils.to_categorical(y=y_train, num_classes=10) # constant(value=1.)自定义常数,constant(value=1.)===one() # 创建模型:输入784个神经元,输出10个神经元 model = Sequential([ Dense(units=200, input_dim=784, bias_initializer=constant(value=1.), activation=tanh), Dense(units=100, bias_initializer=one(), activation=tanh), Dense(units=10, bias_initializer=one(), activation=softmax), ]) opt = SGD(lr=0.2, clipnorm=1.) # 优化器 model.compile(optimizer=opt, loss=categorical_crossentropy, metrics=['acc', 'mae']) # 编译 model.fit(x_train, y_train, batch_size=64, epochs=20, callbacks=[RemoteMonitor()]) model_save(model, './model.h5')
Example #9
Source File: PointerLSTM.py From pointer-networks-experiments with BSD 2-Clause "Simplified" License | 6 votes |
def step(self, x_input, states): #print "x_input:", x_input, x_input.shape # <TensorType(float32, matrix)> input_shape = self.input_spec[0].shape en_seq = states[-1] _, [h, c] = super(PointerLSTM, self).step(x_input, states[:-1]) # vt*tanh(W1*e+W2*d) dec_seq = K.repeat(h, input_shape[1]) Eij = time_distributed_dense(en_seq, self.W1, output_dim=1) Dij = time_distributed_dense(dec_seq, self.W2, output_dim=1) U = self.vt * tanh(Eij + Dij) U = K.squeeze(U, 2) # make probability tensor pointer = softmax(U) return pointer, [h, c]
Example #10
Source File: test_activations.py From CAPTCHA-breaking with MIT License | 6 votes |
def test_softmax(): from keras.activations import softmax as s # Test using a reference implementation of softmax def softmax(values): m = max(values) values = numpy.array(values) e = numpy.exp(values - m) dist = list(e / numpy.sum(e)) return dist x = T.vector() exp = s(x) f = theano.function([x], exp) test_values=get_standard_values() result = f(test_values) expected = softmax(test_values) print(str(result)) print(str(expected)) list_assert_equal(result, expected)
Example #11
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_serialization(): all_activations = ['softmax', 'relu', 'elu', 'tanh', 'sigmoid', 'hard_sigmoid', 'linear', 'softplus', 'softsign', 'selu'] for name in all_activations: fn = activations.get(name) ref_fn = getattr(activations, name) assert fn == ref_fn config = activations.serialize(fn) fn = activations.deserialize(config) assert fn == ref_fn
Example #12
Source File: models.py From EEG_classification with Apache License 2.0 | 5 votes |
def get_model_cnn(): nclass = 5 seq_input = Input(shape=(None, 3000, 1)) base_model = get_base_model() # for layer in base_model.layers: # layer.trainable = False encoded_sequence = TimeDistributed(base_model)(seq_input) encoded_sequence = SpatialDropout1D(rate=0.01)(Convolution1D(128, kernel_size=3, activation="relu", padding="same")(encoded_sequence)) encoded_sequence = Dropout(rate=0.05)(Convolution1D(128, kernel_size=3, activation="relu", padding="same")(encoded_sequence)) #out = TimeDistributed(Dense(nclass, activation="softmax"))(encoded_sequence) out = Convolution1D(nclass, kernel_size=3, activation="softmax", padding="same")(encoded_sequence) model = models.Model(seq_input, out) model.compile(optimizers.Adam(0.001), losses.sparse_categorical_crossentropy, metrics=['acc']) model.summary() return model
Example #13
Source File: models.py From EEG_classification with Apache License 2.0 | 5 votes |
def get_model(): nclass = 5 inp = Input(shape=(3000, 1)) img_1 = Convolution1D(16, kernel_size=5, activation=activations.relu, padding="valid")(inp) img_1 = Convolution1D(16, kernel_size=5, activation=activations.relu, padding="valid")(img_1) img_1 = MaxPool1D(pool_size=2)(img_1) img_1 = SpatialDropout1D(rate=0.01)(img_1) img_1 = Convolution1D(32, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = Convolution1D(32, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = MaxPool1D(pool_size=2)(img_1) img_1 = SpatialDropout1D(rate=0.01)(img_1) img_1 = Convolution1D(32, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = Convolution1D(32, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = MaxPool1D(pool_size=2)(img_1) img_1 = SpatialDropout1D(rate=0.01)(img_1) img_1 = Convolution1D(256, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = Convolution1D(256, kernel_size=3, activation=activations.relu, padding="valid")(img_1) img_1 = GlobalMaxPool1D()(img_1) img_1 = Dropout(rate=0.01)(img_1) dense_1 = Dropout(rate=0.01)(Dense(64, activation=activations.relu, name="dense_1")(img_1)) dense_1 = Dropout(rate=0.05)(Dense(64, activation=activations.relu, name="dense_2")(dense_1)) dense_1 = Dense(nclass, activation=activations.softmax, name="dense_3")(dense_1) model = models.Model(inputs=inp, outputs=dense_1) opt = optimizers.Adam(0.001) model.compile(optimizer=opt, loss=losses.sparse_categorical_crossentropy, metrics=['acc']) model.summary() return model
Example #14
Source File: models.py From EEG_classification with Apache License 2.0 | 5 votes |
def get_model_cnn_crf(lr=0.001): nclass = 5 seq_input = Input(shape=(None, 3000, 1)) base_model = get_base_model() # for layer in base_model.layers: # layer.trainable = False encoded_sequence = TimeDistributed(base_model)(seq_input) encoded_sequence = SpatialDropout1D(rate=0.01)(Convolution1D(128, kernel_size=3, activation="relu", padding="same")(encoded_sequence)) encoded_sequence = Dropout(rate=0.05)(Convolution1D(128, kernel_size=3, activation="linear", padding="same")(encoded_sequence)) #out = TimeDistributed(Dense(nclass, activation="softmax"))(encoded_sequence) # out = Convolution1D(nclass, kernel_size=3, activation="linear", padding="same")(encoded_sequence) crf = CRF(nclass, sparse_target=True) out = crf(encoded_sequence) model = models.Model(seq_input, out) model.compile(optimizers.Adam(lr), crf.loss_function, metrics=[crf.accuracy]) model.summary() return model
Example #15
Source File: utils.py From CIKM-AnalytiCup-2018 with Apache License 2.0 | 5 votes |
def __call__(self, q, k, v, mask): attn = Lambda(lambda x:K.batch_dot(x[0],x[1],axes=[2,2])/self.temper)([q, k]) if mask is not None: mmask = Lambda(lambda x:(-1e+10)*(1-x))(mask) attn = Add()([attn, mmask]) attn = Activation('softmax')(attn) attn = self.dropout(attn) output = Lambda(lambda x:K.batch_dot(x[0], x[1]))([attn, v]) return output, attn
Example #16
Source File: utils.py From CIKM-AnalytiCup-2018 with Apache License 2.0 | 5 votes |
def soft_attention_alignment(input_1, input_2): "Align text representation with neural soft attention" attention = Dot(axes=-1)([input_1, input_2]) w_att_1 = Lambda(lambda x: softmax(x, axis=1), output_shape=unchanged_shape)(attention) w_att_2 = Permute((2, 1))(Lambda(lambda x: softmax(x, axis=2), output_shape=unchanged_shape)(attention)) in1_aligned = Dot(axes=1)([w_att_1, input_1]) in2_aligned = Dot(axes=1)([w_att_2, input_2]) return in1_aligned, in2_aligned
Example #17
Source File: PointerLSTM.py From pointer-networks with MIT License | 5 votes |
def step(self, x_input, states): input_shape = self.input_spec[0].shape en_seq = states[-1] _, [h, c] = super(PointerLSTM, self).step(x_input, states[:-1]) # vt*tanh(W1*e+W2*d) dec_seq = K.repeat(h, input_shape[1]) Eij = time_distributed_dense(en_seq, self.W1, output_dim=1) Dij = time_distributed_dense(dec_seq, self.W2, output_dim=1) U = self.vt * tanh(Eij + Dij) U = K.squeeze(U, 2) # make probability tensor pointer = softmax(U) return pointer, [h, c]
Example #18
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_time_distributed_softmax(): x = K.placeholder(shape=(1, 1, 5)) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() test_values = np.reshape(test_values, (1, 1, np.size(test_values))) f([test_values])[0]
Example #19
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_invalid(): """Test for the expected exception behaviour on invalid input """ x = K.placeholder(ndim=1) # One dimensional arrays are supposed to raise a value error with pytest.raises(ValueError): f = K.function([x], [activations.softmax(x)])
Example #20
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_time_distributed_softmax(): x = K.placeholder(shape=(1, 1, 5)) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() test_values = np.reshape(test_values, (1, 1, np.size(test_values))) f([test_values])[0]
Example #21
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_valid(): """Test using a reference implementation of softmax. """ def softmax(values): m = np.max(values) e = np.exp(values - m) return e / np.sum(e) x = K.placeholder(ndim=2) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() result = f([test_values])[0] expected = softmax(test_values) assert_allclose(result, expected, rtol=1e-05)
Example #22
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_serialization(): all_activations = ['softmax', 'relu', 'elu', 'tanh', 'sigmoid', 'hard_sigmoid', 'linear', 'softplus', 'softsign', 'selu'] for name in all_activations: fn = activations.get(name) ref_fn = getattr(activations, name) assert fn == ref_fn config = activations.serialize(fn) fn = activations.deserialize(config) assert fn == ref_fn
Example #23
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_time_distributed_softmax(): x = K.placeholder(shape=(1, 1, 5)) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() test_values = np.reshape(test_values, (1, 1, np.size(test_values))) f([test_values])[0]
Example #24
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_invalid(): """Test for the expected exception behaviour on invalid input """ x = K.placeholder(ndim=1) # One dimensional arrays are supposed to raise a value error with pytest.raises(ValueError): f = K.function([x], [activations.softmax(x)])
Example #25
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_serialization(): all_activations = ['softmax', 'relu', 'elu', 'tanh', 'sigmoid', 'hard_sigmoid', 'linear', 'softplus', 'softsign', 'selu'] for name in all_activations: fn = activations.get(name) ref_fn = getattr(activations, name) assert fn == ref_fn config = activations.serialize(fn) fn = activations.deserialize(config) assert fn == ref_fn
Example #26
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_time_distributed_softmax(): x = K.placeholder(shape=(1, 1, 5)) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() test_values = np.reshape(test_values, (1, 1, np.size(test_values))) f([test_values])[0]
Example #27
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_invalid(): """Test for the expected exception behaviour on invalid input """ x = K.placeholder(ndim=1) # One dimensional arrays are supposed to raise a value error with pytest.raises(ValueError): f = K.function([x], [activations.softmax(x)])
Example #28
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_valid(): """Test using a reference implementation of softmax. """ def softmax(values): m = np.max(values) e = np.exp(values - m) return e / np.sum(e) x = K.placeholder(ndim=2) f = K.function([x], [activations.softmax(x)]) test_values = get_standard_values() result = f([test_values])[0] expected = softmax(test_values) assert_allclose(result, expected, rtol=1e-05)
Example #29
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_serialization(): all_activations = ['softmax', 'relu', 'elu', 'tanh', 'sigmoid', 'hard_sigmoid', 'linear', 'softplus', 'softsign', 'selu'] for name in all_activations: fn = activations.get(name) ref_fn = getattr(activations, name) assert fn == ref_fn config = activations.serialize(fn) fn = activations.deserialize(config) assert fn == ref_fn
Example #30
Source File: activations_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_softmax_invalid(): """Test for the expected exception behaviour on invalid input """ x = K.placeholder(ndim=1) # One dimensional arrays are supposed to raise a value error with pytest.raises(ValueError): f = K.function([x], [activations.softmax(x)])