Python keras.backend.placeholder() Examples
The following are 30 code examples for showing how to use keras.backend.placeholder(). These examples are extracted from open source projects. 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 check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
keras.backend
, or try the search function
.
Example 1
Project: gandlf Author: codekansas File: reversing_gan.py License: MIT License | 6 votes |
def reverse_generator(generator, X_sample, y_sample, title): """Gradient descent to map images back to their latent vectors.""" latent_vec = np.random.normal(size=(1, 100)) # Function for figuring out how to bump the input. target = K.placeholder() loss = K.sum(K.square(generator.outputs[0] - target)) grad = K.gradients(loss, generator.inputs[0])[0] update_fn = K.function(generator.inputs + [target], [grad]) # Repeatedly apply the update rule. xs = [] for i in range(60): print('%d: latent_vec mean=%f, std=%f' % (i, np.mean(latent_vec), np.std(latent_vec))) xs.append(generator.predict_on_batch([latent_vec, y_sample])) for _ in range(10): update_vec = update_fn([latent_vec, y_sample, X_sample])[0] latent_vec -= update_vec * update_rate # Plots the samples. xs = np.concatenate(xs, axis=0) plot_as_gif(xs, X_sample, title)
Example 2
Project: reinforcement-learning-kr Author: rlcode File: breakout_dqn.py License: MIT License | 6 votes |
def optimizer(self): a = K.placeholder(shape=(None,), dtype='int32') y = K.placeholder(shape=(None,), dtype='float32') prediction = self.model.output a_one_hot = K.one_hot(a, self.action_size) q_value = K.sum(prediction * a_one_hot, axis=1) error = K.abs(y - q_value) quadratic_part = K.clip(error, 0.0, 1.0) linear_part = error - quadratic_part loss = K.mean(0.5 * K.square(quadratic_part) + linear_part) optimizer = RMSprop(lr=0.00025, epsilon=0.01) updates = optimizer.get_updates(self.model.trainable_weights, [], loss) train = K.function([self.model.input, a, y], [loss], updates=updates) return train # 상태가 입력, 큐함수가 출력인 인공신경망 생성
Example 3
Project: reinforcement-learning-kr Author: rlcode File: breakout_dqn.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) episode_avg_loss = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Q/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) tf.summary.scalar('Average Loss/Episode', episode_avg_loss) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration, episode_avg_loss] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # 학습속도를 높이기 위해 흑백화면으로 전처리
Example 4
Project: reinforcement-learning-kr Author: rlcode File: breakout_a3c.py License: MIT License | 6 votes |
def actor_optimizer(self): action = K.placeholder(shape=[None, self.action_size]) advantages = K.placeholder(shape=[None, ]) policy = self.actor.output # 정책 크로스 엔트로피 오류함수 action_prob = K.sum(action * policy, axis=1) cross_entropy = K.log(action_prob + 1e-10) * advantages cross_entropy = -K.sum(cross_entropy) # 탐색을 지속적으로 하기 위한 엔트로피 오류 entropy = K.sum(policy * K.log(policy + 1e-10), axis=1) entropy = K.sum(entropy) # 두 오류함수를 더해 최종 오류함수를 만듬 loss = cross_entropy + 0.01 * entropy optimizer = RMSprop(lr=self.actor_lr, rho=0.99, epsilon=0.01) updates = optimizer.get_updates(self.actor.trainable_weights, [],loss) train = K.function([self.actor.input, action, advantages], [loss], updates=updates) return train # 가치신경망을 업데이트하는 함수
Example 5
Project: reinforcement-learning-kr Author: rlcode File: breakout_a3c.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Prob/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # 액터러너 클래스(쓰레드)
Example 6
Project: multi-object-tracking Author: jguoaj File: yolo.py License: GNU General Public License v3.0 | 6 votes |
def generate(self): model_path = os.path.expanduser(self.model_path) assert model_path.endswith('.h5'), 'Keras model must be a .h5 file.' self.yolo_model = load_model(model_path, compile=False) print('{} model, anchors, and classes loaded.'.format(model_path)) # Generate colors for drawing bounding boxes. hsv_tuples = [(x / len(self.class_names), 1., 1.) for x in range(len(self.class_names))] self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples)) self.colors = list( map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)), self.colors)) random.seed(10101) # Fixed seed for consistent colors across runs. random.shuffle(self.colors) # Shuffle colors to decorrelate adjacent classes. random.seed(None) # Reset seed to default. # Generate output tensor targets for filtered bounding boxes. self.input_image_shape = K.placeholder(shape=(2, )) boxes, scores, classes = yolo_eval(self.yolo_model.output, self.anchors, len(self.class_names), self.input_image_shape, score_threshold=self.score, iou_threshold=self.iou) return boxes, scores, classes
Example 7
Project: reinforcement-learning Author: rlcode File: breakout_ddqn.py License: MIT License | 6 votes |
def optimizer(self): a = K.placeholder(shape=(None, ), dtype='int32') y = K.placeholder(shape=(None, ), dtype='float32') py_x = self.model.output a_one_hot = K.one_hot(a, self.action_size) q_value = K.sum(py_x * a_one_hot, axis=1) error = K.abs(y - q_value) quadratic_part = K.clip(error, 0.0, 1.0) linear_part = error - quadratic_part loss = K.mean(0.5 * K.square(quadratic_part) + linear_part) optimizer = RMSprop(lr=0.00025, epsilon=0.01) updates = optimizer.get_updates(self.model.trainable_weights, [], loss) train = K.function([self.model.input, a, y], [loss], updates=updates) return train # approximate Q function using Convolution Neural Network # state is input and Q Value of each action is output of network
Example 8
Project: reinforcement-learning Author: rlcode File: breakout_ddqn.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) episode_avg_loss = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Q/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) tf.summary.scalar('Average Loss/Episode', episode_avg_loss) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration, episode_avg_loss] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # 210*160*3(color) --> 84*84(mono) # float --> integer (to reduce the size of replay memory)
Example 9
Project: reinforcement-learning Author: rlcode File: breakout_dqn.py License: MIT License | 6 votes |
def optimizer(self): a = K.placeholder(shape=(None,), dtype='int32') y = K.placeholder(shape=(None,), dtype='float32') py_x = self.model.output a_one_hot = K.one_hot(a, self.action_size) q_value = K.sum(py_x * a_one_hot, axis=1) error = K.abs(y - q_value) quadratic_part = K.clip(error, 0.0, 1.0) linear_part = error - quadratic_part loss = K.mean(0.5 * K.square(quadratic_part) + linear_part) optimizer = RMSprop(lr=0.00025, epsilon=0.01) updates = optimizer.get_updates(self.model.trainable_weights, [], loss) train = K.function([self.model.input, a, y], [loss], updates=updates) return train # approximate Q function using Convolution Neural Network # state is input and Q Value of each action is output of network
Example 10
Project: reinforcement-learning Author: rlcode File: breakout_dqn.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) episode_avg_loss = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Q/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) tf.summary.scalar('Average Loss/Episode', episode_avg_loss) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration, episode_avg_loss] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # 210*160*3(color) --> 84*84(mono) # float --> integer (to reduce the size of replay memory)
Example 11
Project: reinforcement-learning Author: rlcode File: breakout_a3c.py License: MIT License | 6 votes |
def actor_optimizer(self): action = K.placeholder(shape=[None, self.action_size]) advantages = K.placeholder(shape=[None, ]) policy = self.actor.output good_prob = K.sum(action * policy, axis=1) eligibility = K.log(good_prob + 1e-10) * advantages actor_loss = -K.sum(eligibility) entropy = K.sum(policy * K.log(policy + 1e-10), axis=1) entropy = K.sum(entropy) loss = actor_loss + 0.01*entropy optimizer = RMSprop(lr=self.actor_lr, rho=0.99, epsilon=0.01) updates = optimizer.get_updates(self.actor.trainable_weights, [], loss) train = K.function([self.actor.input, action, advantages], [loss], updates=updates) return train # make loss function for Value approximation
Example 12
Project: reinforcement-learning Author: rlcode File: breakout_a3c.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Prob/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # make agents(local) and start training
Example 13
Project: reinforcement-learning Author: rlcode File: breakout_dueling_ddqn.py License: MIT License | 6 votes |
def optimizer(self): a = K.placeholder(shape=(None, ), dtype='int32') y = K.placeholder(shape=(None, ), dtype='float32') py_x = self.model.output a_one_hot = K.one_hot(a, self.action_size) q_value = K.sum(py_x * a_one_hot, axis=1) error = K.abs(y - q_value) quadratic_part = K.clip(error, 0.0, 1.0) linear_part = error - quadratic_part loss = K.mean(0.5 * K.square(quadratic_part) + linear_part) optimizer = RMSprop(lr=0.00025, epsilon=0.01) updates = optimizer.get_updates(self.model.trainable_weights, [], loss) train = K.function([self.model.input, a, y], [loss], updates=updates) return train # approximate Q function using Convolution Neural Network # state is input and Q Value of each action is output of network # dueling network's Q Value is sum of advantages and state value
Example 14
Project: reinforcement-learning Author: rlcode File: breakout_dueling_ddqn.py License: MIT License | 6 votes |
def setup_summary(self): episode_total_reward = tf.Variable(0.) episode_avg_max_q = tf.Variable(0.) episode_duration = tf.Variable(0.) episode_avg_loss = tf.Variable(0.) tf.summary.scalar('Total Reward/Episode', episode_total_reward) tf.summary.scalar('Average Max Q/Episode', episode_avg_max_q) tf.summary.scalar('Duration/Episode', episode_duration) tf.summary.scalar('Average Loss/Episode', episode_avg_loss) summary_vars = [episode_total_reward, episode_avg_max_q, episode_duration, episode_avg_loss] summary_placeholders = [tf.placeholder(tf.float32) for _ in range(len(summary_vars))] update_ops = [summary_vars[i].assign(summary_placeholders[i]) for i in range(len(summary_vars))] summary_op = tf.summary.merge_all() return summary_placeholders, update_ops, summary_op # 210*160*3(color) --> 84*84(mono) # float --> integer (to reduce the size of replay memory)
Example 15
Project: reinforcement-learning Author: rlcode File: reinforce_agent.py License: MIT License | 6 votes |
def optimizer(self): action = K.placeholder(shape=[None, 5]) discounted_rewards = K.placeholder(shape=[None, ]) # Calculate cross entropy error function action_prob = K.sum(action * self.model.output, axis=1) cross_entropy = K.log(action_prob) * discounted_rewards loss = -K.sum(cross_entropy) # create training function optimizer = Adam(lr=self.learning_rate) updates = optimizer.get_updates(self.model.trainable_weights, [], loss) train = K.function([self.model.input, action, discounted_rewards], [], updates=updates) return train # get action from policy network
Example 16
Project: reinforcement-learning Author: rlcode File: cartpole_a3c.py License: MIT License | 6 votes |
def actor_optimizer(self): action = K.placeholder(shape=(None, self.action_size)) advantages = K.placeholder(shape=(None, )) policy = self.actor.output good_prob = K.sum(action * policy, axis=1) eligibility = K.log(good_prob + 1e-10) * K.stop_gradient(advantages) loss = -K.sum(eligibility) entropy = K.sum(policy * K.log(policy + 1e-10), axis=1) actor_loss = loss + 0.01*entropy optimizer = Adam(lr=self.actor_lr) updates = optimizer.get_updates(self.actor.trainable_weights, [], actor_loss) train = K.function([self.actor.input, action, advantages], [], updates=updates) return train # make loss function for Value approximation
Example 17
Project: 2019-OSS-Summer-RL Author: utilForever File: reinforce_agent.py License: MIT License | 6 votes |
def optimizer(self): action = K.placeholder(shape=[None, 5]) discounted_rewards = K.placeholder(shape=[None, ]) # 크로스 엔트로피 오류함수 계산 action_prob = K.sum(action * self.model.output, axis=1) cross_entropy = K.log(action_prob) * discounted_rewards loss = -K.sum(cross_entropy) # 정책신경망을 업데이트하는 훈련함수 생성 optimizer = Adam(lr=self.learning_rate) updates = optimizer.get_updates(self.model.trainable_weights,[], loss) train = K.function([self.model.input, action, discounted_rewards], [], updates=updates) return train # 정책신경망으로 행동 선택
Example 18
Project: keras_bn_library Author: bnsnapper File: callbacks.py License: MIT License | 6 votes |
def __init__(self, X_train, X_test, loss, verbose=1, batch_size = 1, label='loss', every_n_epochs=1, display_delta=True): super(UnsupervisedLoss2Logger, self).__init__() self.X_train = X_train self.X_test = X_test self.loss = loss self.verbose = verbose self.label = label self.every_n_epochs = every_n_epochs self.display_delta = display_delta self.prev_loss = None self.batch_size = batch_size input_train = K.placeholder(shape=self.X_train.shape) input_test = K.placeholder(shape=self.X_test.shape) loss = self.loss(input_train, input_test) ins = [input_train, input_test] self.loss_function = K.function(ins, loss)
Example 19
Project: YOLO-3D-Box Author: scutan90 File: yolo.py License: MIT License | 6 votes |
def generate(self): model_path = os.path.expanduser(self.model_path) assert model_path.endswith('.h5'), 'Keras model must be a .h5 file.' self.yolo_model = load_model(model_path, compile=False) print('{} model, anchors, and classes loaded.'.format(model_path)) # Generate colors for drawing bounding boxes. hsv_tuples = [(x / len(self.class_names), 1., 1.) for x in range(len(self.class_names))] self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples)) self.colors = list( map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)), self.colors)) random.seed(10101) # Fixed seed for consistent colors across runs. random.shuffle(self.colors) # Shuffle colors to decorrelate adjacent classes. random.seed(None) # Reset seed to default. # Generate output tensor targets for filtered bounding boxes. self.input_image_shape = K.placeholder(shape=(2, )) boxes, scores, classes = yolo_eval(self.yolo_model.output, self.anchors, len(self.class_names), self.input_image_shape, score_threshold=self.score, iou_threshold=self.iou) return boxes, scores, classes
Example 20
Project: squeezedet-keras Author: omni-us File: squeezeDet.py License: MIT License | 6 votes |
def _pad(self, input): """ pads the network output so y_pred and y_true have the same dimensions :param input: previous layer :return: layer, last dimensions padded for 4 """ #pad = K.placeholder( (None,self.config.ANCHORS, 4)) #pad = np.zeros ((self.config.BATCH_SIZE,self.config.ANCHORS, 4)) #return K.concatenate( [input, pad], axis=-1) padding = np.zeros((3,2)) padding[2,1] = 4 return tf.pad(input, padding ,"CONSTANT") #loss function to optimize
Example 21
Project: deep_sort_yolov3 Author: Qidian213 File: yolo.py License: GNU General Public License v3.0 | 6 votes |
def generate(self): model_path = os.path.expanduser(self.model_path) assert model_path.endswith('.h5'), 'Keras model must be a .h5 file.' self.yolo_model = load_model(model_path, compile=False) print('{} model, anchors, and classes loaded.'.format(model_path)) # Generate colors for drawing bounding boxes. hsv_tuples = [(x / len(self.class_names), 1., 1.) for x in range(len(self.class_names))] self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples)) self.colors = list( map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)), self.colors)) random.seed(10101) # Fixed seed for consistent colors across runs. random.shuffle(self.colors) # Shuffle colors to decorrelate adjacent classes. random.seed(None) # Reset seed to default. # Generate output tensor targets for filtered bounding boxes. self.input_image_shape = K.placeholder(shape=(2, )) boxes, scores, classes = yolo_eval(self.yolo_model.output, self.anchors, len(self.class_names), self.input_image_shape, score_threshold=self.score, iou_threshold=self.iou) return boxes, scores, classes
Example 22
Project: Vehicle-Detection-and-Tracking-Usig-YOLO-and-Deep-Sort-with-Keras-and-Tensorflow Author: Akhtar303 File: yolo.py License: MIT License | 6 votes |
def generate(self): model_path = os.path.expanduser(self.model_path) assert model_path.endswith('.h5'), 'Keras model must be a .h5 file.' self.yolo_model = load_model(model_path, compile=False) print('{} model, anchors, and classes loaded.'.format(model_path)) # Generate colors for drawing bounding boxes. hsv_tuples = [(x / len(self.class_names), 1., 1.) for x in range(len(self.class_names))] self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples)) self.colors = list( map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)), self.colors)) random.seed(10101) # Fixed seed for consistent colors across runs. random.shuffle(self.colors) # Shuffle colors to decorrelate adjacent classes. random.seed(None) # Reset seed to default. # Generate output tensor targets for filtered bounding boxes. self.input_image_shape = K.placeholder(shape=(2, )) boxes, scores, classes = yolo_eval(self.yolo_model.output, self.anchors, len(self.class_names), self.input_image_shape, score_threshold=self.score, iou_threshold=self.iou) return boxes, scores, classes
Example 23
Project: conv_qsar_fast Author: connorcoley File: GraphEmbedding_sumAfter.py License: MIT License | 6 votes |
def __init__(self, output_dim, inner_dim, depth = 2, init_output='uniform', activation_output='softmax', init_inner='identity', activation_inner='linear', scale_output=0.01, padding=False, **kwargs): if depth < 1: quit('Cannot use GraphFP with depth zero') self.init_output = initializations.get(init_output) self.activation_output = activations.get(activation_output) self.init_inner = initializations.get(init_inner) self.activation_inner = activations.get(activation_inner) self.output_dim = output_dim self.inner_dim = inner_dim self.depth = depth self.scale_output = scale_output self.padding = padding self.initial_weights = None self.input_dim = 4 # each entry is a 3D N_atom x N_atom x N_feature tensor if self.input_dim: kwargs['input_shape'] = (None, None, None,) # 3D tensor for each input #self.input = K.placeholder(ndim = 4) super(GraphFP, self).__init__(**kwargs)
Example 24
Project: conv_qsar_fast Author: connorcoley File: GraphEmbedding.py License: MIT License | 6 votes |
def __init__(self, output_dim, inner_dim, depth = 2, init_output='uniform', activation_output='softmax', init_inner='identity', activation_inner='linear', scale_output=0.01, padding=False, **kwargs): if depth < 1: quit('Cannot use GraphFP with depth zero') self.init_output = initializations.get(init_output) self.activation_output = activations.get(activation_output) self.init_inner = initializations.get(init_inner) self.activation_inner = activations.get(activation_inner) self.output_dim = output_dim self.inner_dim = inner_dim self.depth = depth self.scale_output = scale_output self.padding = padding self.initial_weights = None self.input_dim = 4 # each entry is a 3D N_atom x N_atom x N_feature tensor if self.input_dim: kwargs['input_shape'] = (None, None, None,) # 3D tensor for each input #self.input = K.placeholder(ndim = 4) super(GraphFP, self).__init__(**kwargs)
Example 25
Project: qlearning4k Author: farizrahman4u File: memory.py License: MIT License | 6 votes |
def set_batch_function(self, model, input_shape, batch_size, nb_actions, gamma): input_dim = np.prod(input_shape) samples = K.placeholder(shape=(batch_size, input_dim * 2 + 3)) S = samples[:, 0 : input_dim] a = samples[:, input_dim] r = samples[:, input_dim + 1] S_prime = samples[:, input_dim + 2 : 2 * input_dim + 2] game_over = samples[:, 2 * input_dim + 2 : 2 * input_dim + 3] r = K.reshape(r, (batch_size, 1)) r = K.repeat(r, nb_actions) r = K.reshape(r, (batch_size, nb_actions)) game_over = K.repeat(game_over, nb_actions) game_over = K.reshape(game_over, (batch_size, nb_actions)) S = K.reshape(S, (batch_size, ) + input_shape) S_prime = K.reshape(S_prime, (batch_size, ) + input_shape) X = K.concatenate([S, S_prime], axis=0) Y = model(X) Qsa = K.max(Y[batch_size:], axis=1) Qsa = K.reshape(Qsa, (batch_size, 1)) Qsa = K.repeat(Qsa, nb_actions) Qsa = K.reshape(Qsa, (batch_size, nb_actions)) delta = K.reshape(self.one_hot(a, nb_actions), (batch_size, nb_actions)) targets = (1 - delta) * Y[:batch_size] + delta * (r + gamma * (1 - game_over) * Qsa) self.batch_function = K.function(inputs=[samples], outputs=[S, targets])
Example 26
Project: Deconvnet-keras Author: jalused File: Deconvnet-keras.py License: MIT License | 6 votes |
def __init__(self, layer, linear = False): ''' # Arguments layer: an instance of Activation layer, whose configuration will be used to initiate DActivation(input_shape, output_shape, weights) ''' self.layer = layer self.linear = linear self.activation = layer.activation input = K.placeholder(shape = layer.output_shape) output = self.activation(input) # According to the original paper, # In forward pass and backward pass, do the same activation(relu) self.up_func = K.function( [input, K.learning_phase()], output) self.down_func = K.function( [input, K.learning_phase()], output) # Compute activation in forward pass
Example 27
Project: DeepLearning_Wavelet-LSTM Author: hello-sea File: activations_test.py License: MIT License | 6 votes |
def test_hard_sigmoid(): """Test using a reference hard sigmoid implementation. """ def ref_hard_sigmoid(x): x = (x * 0.2) + 0.5 z = 0.0 if x <= 0 else (1.0 if x >= 1 else x) return z hard_sigmoid = np.vectorize(ref_hard_sigmoid) x = K.placeholder(ndim=2) f = K.function([x], [activations.hard_sigmoid(x)]) test_values = get_standard_values() result = f([test_values])[0] expected = hard_sigmoid(test_values) assert_allclose(result, expected, rtol=1e-05)
Example 28
Project: DeepLearning_Wavelet-LSTM Author: hello-sea File: activations_test.py License: MIT License | 6 votes |
def test_selu(): x = K.placeholder(ndim=2) f = K.function([x], [activations.selu(x)]) alpha = 1.6732632423543772848170429916717 scale = 1.0507009873554804934193349852946 positive_values = get_standard_values() result = f([positive_values])[0] assert_allclose(result, positive_values * scale, rtol=1e-05) negative_values = np.array([[-1, -2]], dtype=K.floatx()) result = f([negative_values])[0] true_result = (np.exp(negative_values) - 1) * scale * alpha assert_allclose(result, true_result)
Example 29
Project: DeepLearning_Wavelet-LSTM Author: hello-sea File: backend_test.py License: MIT License | 6 votes |
def test_repeat_elements(self): reps = 3 for ndims in [1, 2, 3]: shape = np.arange(2, 2 + ndims) arr = np.arange(np.prod(shape)).reshape(shape) for rep_axis in range(ndims): np_rep = np.repeat(arr, reps, axis=rep_axis) check_single_tensor_operation('repeat_elements', arr, BACKENDS, rep=reps, axis=rep_axis, assert_value_with_ref=np_rep) if K.backend() != 'cntk': shape = list(shape) shape[rep_axis] = None x = K.placeholder(shape=shape) y = K.repeat_elements(x, reps, axis=rep_axis) assert y._keras_shape == tuple(shape) assert y._keras_shape == K.int_shape(y)
Example 30
Project: DeepLearning_Wavelet-LSTM Author: hello-sea File: backend_test.py License: MIT License | 6 votes |
def test_tile(self): shape = (3, 4) arr = np.arange(np.prod(shape)).reshape(shape) check_single_tensor_operation('tile', arr, BACKENDS, n=[2, 1]) check_single_tensor_operation('tile', (2, 5), BACKENDS, n=[5, 2]) # test theano shape inference when # input shape has None entries if K.backend() == 'theano': x = K.placeholder(shape=(None, 4)) n = 2 y = K.tile(x, n) assert y._keras_shape == (None, 8) n = (4, 3) y = K.tile(x, n) assert y._keras_shape == (None, 12)