Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def compute_regression_loss(target, output, output_scores):
condition = keras.backend.not_equal(output_scores, -1)
indices = keras_rcnn.backend.where(condition)
output = keras_rcnn.backend.gather_nd(output, indices)
target = keras_rcnn.backend.gather_nd(target, indices)
output_scores = keras_rcnn.backend.gather_nd(output_scores, indices)
condition = keras.backend.greater(output_scores, 0)
x = keras.backend.zeros_like(output_scores) + 1
y = keras.backend.zeros_like(output_scores)
p_star_i = keras_rcnn.backend.where(condition, x, y)
p_star_i = keras.backend.expand_dims(p_star_i, 0)
def repeat(w):
n = 1
if self.h == 'C4':
n *= 4
elif self.h == 'D4':
n *= 8
elif self.h == 'Z2':
n *= 1
else:
raise ValueError('Wrong h: %s' % self.h)
return K.reshape(
K.tile(
K.expand_dims(w, -1), [1, n]), [-1])
def gram_matrix(x):
assert K.ndim(x) == 3
if K.image_data_format() == "channels_first":
features = K.batch_flatten(x)
else:
features = K.batch_flatten(K.permute_dimensions(x, (2, 0, 1)))
gram = K.dot(features - 1, K.transpose(features - 1))
return gram
for node in nodes:
# This is always a single layer, never a list.
layer = node.outbound_layer
reference_input_tensors = node.input_tensors
reference_output_tensors = node.output_tensors
# If all previous input tensors are available in tensor_map,
# then call node.inbound_layer on them.
computed_data = [] # List of tuples (input, mask).
for x in reference_input_tensors:
if str(id(x)) in tensor_map:
computed_data.append(tensor_map[str(id(x))])
if len(computed_data) == len(reference_input_tensors):
# call layer
with K.name_scope(layer.name):
if node.arguments:
kwargs = node.arguments
else:
kwargs = {}
if len(computed_data) == 1:
computed_tensor, computed_mask = computed_data[0]
if has_arg(layer.call, 'mask'):
if 'mask' not in kwargs:
kwargs['mask'] = computed_mask
output_tensors = to_list(
layer.call(computed_tensor, **kwargs))
output_masks = layer.compute_mask(computed_tensor,
computed_mask)
if output_masks is None:
output_masks = [None for _ in output_tensors]
else:
"""
# Squeeze last dim to simplify
rpn_match = tf.squeeze(rpn_match, -1)
# Get anchor classes. Convert the -1/+1 match to 0/1 values.
anchor_class = K.cast(K.equal(rpn_match, 1), tf.int32)
# Positive and Negative anchors contribute to the loss,
# but neutral anchors (match value = 0) don't.
indices = tf.where(K.not_equal(rpn_match, 0))
# Pick rows that contribute to the loss and filter out the rest.
rpn_class_logits = tf.gather_nd(rpn_class_logits, indices)
anchor_class = tf.gather_nd(anchor_class, indices)
# Crossentropy loss
loss = K.sparse_categorical_crossentropy(target=anchor_class,
output=rpn_class_logits,
from_logits=True)
loss = K.switch(tf.size(loss) > 0, K.mean(loss), tf.constant(0.0))
return loss
if load_dims:
img_WIDTH = img.shape[0]
img_HEIGHT = img.shape[1]
aspect_ratio = img_HEIGHT / img_WIDTH
img = imresize(img, (img_width, img_height)).astype('float32')
# RGB -> BGR
img = img[:, :, ::-1]
img[:, :, 0] -= 103.939
img[:, :, 1] -= 116.779
img[:, :, 2] -= 123.68
if K.image_dim_ordering() == "th":
img = img.transpose((2, 0, 1)).astype('float32')
img = np.expand_dims(img, axis=0)
return img
L2_distance = lambda x: K.sqrt(K.sum(K.square(x[0] - x[1]), axis=1, keepdims=True))
both = merge([encoded_l,encoded_r], mode = L1_distance, output_shape=lambda x: x[0])
def vae_cdr3_loss(io_encoder, io_decoder):
"""
The loss function is the sum of the cross-entropy and KL divergence. KL
gets a weight of beta.
"""
# Here we multiply by the number of sites, so that we have a
# total loss across the sites rather than a mean loss.
xent_loss = params['max_cdr3_len'] * K.mean(objectives.categorical_crossentropy(io_encoder, io_decoder))
kl_loss = -0.5 * K.sum(1 + z_log_var - K.square(z_mean) - K.exp(z_log_var), axis=-1)
kl_loss *= beta
return (xent_loss + kl_loss)
},
{
'page': 'optimizers.md',
'all_module_classes': [optimizers],
},
{
'page': 'callbacks.md',
'all_module_classes': [callbacks],
},
{
'page': 'activations.md',
'all_module_functions': [activations],
},
{
'page': 'backend.md',
'all_module_functions': [backend],
},
{
'page': 'constraints.md',
'all_module_classes': [constraints],
},
{
'page': 'utils.md',
'functions': [utils.to_categorical,
utils.normalize,
utils.get_file,
utils.print_summary,
utils.plot_model,
utils.multi_gpu_model],
'classes': [utils.CustomObjectScope,
utils.HDF5Matrix,
utils.Sequence],
def call(self,inputs,**kwargs):
if type(inputs) is list:
assert len(inputs) == 2
inputs,mask = inputs
else:
x = inputs
# enlarge range of values in x by mapping max(new_x) = 1, others
x = (x - K.max(x,1,True)) / K.epsilon() + 1
mask = K.clip(x,self.clip_value[0],self.clip_value[1]) # clip value beween 0 and 1
masked_input = K.batch_dot(inputs, mask, [1,1])
return masked_input