Python tensorflow.contrib() Examples
The following are 30
code examples of tensorflow.contrib().
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
, or try the search function
.
Example #1
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 6 votes |
def depthwise_separable_conv2d(name, x, w_depthwise=None, w_pointwise=None, width_multiplier=1.0, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, biases=(0.0, 0.0), activation=None, batchnorm_enabled=True, is_training=True): total_num_filters = int(round(num_filters * width_multiplier)) with tf.variable_scope(name) as scope: conv_a = depthwise_conv2d('depthwise', x=x, w=w_depthwise, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=biases[0], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) conv_o = conv2d('pointwise', x=conv_a, w=w_pointwise, num_filters=total_num_filters, kernel_size=(1, 1), initializer=initializer, l2_strength=l2_strength, bias=biases[1], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) return conv_o
Example #2
Source File: layers.py From MobileNet with Apache License 2.0 | 6 votes |
def __depthwise_conv2d_p(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], 1] with tf.name_scope('layer_weights'): if w is None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [x.shape[-1]], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.depthwise_conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #3
Source File: layers.py From MobileNet with Apache License 2.0 | 6 votes |
def depthwise_conv2d(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, is_training=True): """Implementation of depthwise 2D convolution wrapper""" with tf.variable_scope(name) as scope: conv_o_b = __depthwise_conv2d_p(name=scope, x=x, w=w, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=bias) if batchnorm_enabled: conv_o_bn = tf.layers.batch_normalization(conv_o_b, training=is_training) if not activation: conv_a = conv_o_bn else: conv_a = activation(conv_o_bn) else: if not activation: conv_a = conv_o_b else: conv_a = activation(conv_o_b) return conv_a
Example #4
Source File: layers.py From MobileNet with Apache License 2.0 | 6 votes |
def depthwise_separable_conv2d(name, x, w_depthwise=None, w_pointwise=None, width_multiplier=1.0, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, biases=(0.0, 0.0), activation=None, batchnorm_enabled=True, is_training=True): """Implementation of depthwise separable 2D convolution operator as in MobileNet paper""" total_num_filters = int(round(num_filters * width_multiplier)) with tf.variable_scope(name) as scope: conv_a = depthwise_conv2d('depthwise', x=x, w=w_depthwise, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=biases[0], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) conv_o = conv2d('pointwise', x=conv_a, w=w_pointwise, num_filters=total_num_filters, kernel_size=(1, 1), initializer=initializer, l2_strength=l2_strength, bias=biases[1], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) return conv_a, conv_o ############################################################################################################ # Fully Connected layer Methods
Example #5
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 6 votes |
def depthwise_conv2d(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1),dilation_factor=1, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, is_training=True): with tf.variable_scope(name) as scope: if dilation_factor>1: conv_o_b = __depthwise_conv2d_atrous_p(name=scope, x=x, w=w, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=bias, dilation_factor= dilation_factor) else: conv_o_b = __depthwise_conv2d_p(name=scope, x=x, w=w, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=bias) if batchnorm_enabled: conv_o_bn = tf.layers.batch_normalization(conv_o_b, training=is_training) if not activation: conv_a = conv_o_bn else: conv_a = activation(conv_o_bn) else: if not activation: conv_a = conv_o_b else: conv_a = activation(conv_o_b) return conv_a
Example #6
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 6 votes |
def __depthwise_conv2d_atrous_p(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, dilation_factor= 1): with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], 1] with tf.name_scope('layer_weights'): if w == None: w = variable_with_weight_decay(kernel_shape, initializer, l2_strength) variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [x.shape[-1]], initializer=tf.constant_initializer(bias)) variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.depthwise_conv2d(x, w, stride, padding, [dilation_factor, dilation_factor]) out = tf.nn.bias_add(conv, bias) return out
Example #7
Source File: layers.py From face-antispoofing-using-mobileNet with Apache License 2.0 | 6 votes |
def depthwise_separable_conv2d(name, x, w_depthwise=None, w_pointwise=None, width_multiplier=1.0, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, biases=(0.0, 0.0), activation=None, batchnorm_enabled=True, is_training=True): """Implementation of depthwise separable 2D convolution operator as in MobileNet paper""" total_num_filters = int(round(num_filters * width_multiplier)) with tf.variable_scope(name) as scope: conv_a = depthwise_conv2d('depthwise', x=x, w=w_depthwise, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=biases[0], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) conv_o = conv2d('pointwise', x=conv_a, w=w_pointwise, num_filters=total_num_filters, kernel_size=(1, 1), initializer=initializer, l2_strength=l2_strength, bias=biases[1], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) return conv_a, conv_o ############################################################################################################ # Fully Connected layer Methods
Example #8
Source File: layers.py From face-antispoofing-using-mobileNet with Apache License 2.0 | 6 votes |
def depthwise_conv2d(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, is_training=True): """Implementation of depthwise 2D convolution wrapper""" with tf.variable_scope(name) as scope: conv_o_b = __depthwise_conv2d_p(name=scope, x=x, w=w, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=bias) if batchnorm_enabled: conv_o_bn = tf.layers.batch_normalization(conv_o_b, training=is_training) if not activation: conv_a = conv_o_bn else: conv_a = activation(conv_o_bn) else: if not activation: conv_a = conv_o_b else: conv_a = activation(conv_o_b) return conv_a
Example #9
Source File: layers.py From face-antispoofing-using-mobileNet with Apache License 2.0 | 6 votes |
def __depthwise_conv2d_p(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], 1] with tf.name_scope('layer_weights'): if w is None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [x.shape[-1]], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.depthwise_conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #10
Source File: dense.py From TFSegmentation with Apache License 2.0 | 6 votes |
def dense_p(name, x, w=None, output_dim=128, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Fully connected layer :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, D). :param output_dim: (integer) It specifies H, the output second dimension of the fully connected layer [ie:(N, H)] :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H) """ n_in = x.get_shape()[-1].value with tf.variable_scope(name): if w == None: w = variable_with_weight_decay([n_in, output_dim], initializer, l2_strength) variable_summaries(w) if isinstance(bias, float): bias = tf.get_variable("layer_biases", [output_dim], tf.float32, tf.constant_initializer(bias)) variable_summaries(bias) output = tf.nn.bias_add(tf.matmul(x, w), bias) return output
Example #11
Source File: GAN.py From VideoSuperResolution with MIT License | 6 votes |
def inception_score(images, num_batches=None): """IS function from tf.contrib Args: images: must be 4-D tensor, ranges from [0, 255] num_batches: Number of batches to split `generated_images` in to in order to efficiently run them through the classifier network. """ batches = images.shape[0] if not num_batches: num_batches = (batches + _INCEPTION_BATCH - 1) // _INCEPTION_BATCH graph = _TFGAN.get_graph_def_from_url_tarball( 'http://download.tensorflow.org/models/frozen_inception_v1_2015_12_05.tar.gz', 'inceptionv1_for_inception_score.pb', '/tmp/frozen_inception_v1_2015_12_05.tar.gz') return _TFGAN.classifier_score( images=images, classifier_fn=partial(_run_inception, layer_name='logits:0', inception_graph=graph), num_batches=num_batches)
Example #12
Source File: layers.py From A2C with Apache License 2.0 | 6 votes |
def dense_p(name, x, w=None, output_dim=128, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Fully connected layer :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, D). :param output_dim: (integer) It specifies H, the output second dimension of the fully connected layer [ie:(N, H)] :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H) """ n_in = x.get_shape()[-1].value with tf.variable_scope(name): if w == None: w = variable_with_weight_decay([n_in, output_dim], initializer, l2_strength) variable_summaries(w) if isinstance(bias, float): bias = tf.get_variable("layer_biases", [output_dim], tf.float32, tf.constant_initializer(bias)) variable_summaries(bias) output = tf.nn.bias_add(tf.matmul(x, w), bias) return output
Example #13
Source File: layers.py From ShuffleNet with Apache License 2.0 | 6 votes |
def __depthwise_conv2d_p(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], 1] with tf.name_scope('layer_weights'): if w is None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [x.shape[-1]], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.depthwise_conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #14
Source File: layers.py From ShuffleNet with Apache License 2.0 | 6 votes |
def depthwise_conv2d(name, x, w=None, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, is_training=True): with tf.variable_scope(name) as scope: conv_o_b = __depthwise_conv2d_p(name='conv', x=x, w=w, kernel_size=kernel_size, padding=padding, stride=stride, initializer=initializer, l2_strength=l2_strength, bias=bias) if batchnorm_enabled: conv_o_bn = tf.layers.batch_normalization(conv_o_b, training=is_training, epsilon=1e-5) if not activation: conv_a = conv_o_bn else: conv_a = activation(conv_o_bn) else: if not activation: conv_a = conv_o_b else: conv_a = activation(conv_o_b) return conv_a ############################################################################################################ # ShuffleNet unit methods
Example #15
Source File: layers.py From A2C with Apache License 2.0 | 5 votes |
def atrous_conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', dilation_rate=1, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Atrous Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param dilation_rate: (integer) The amount of dilation required. If equals 1, it means normal convolution. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = variable_with_weight_decay(kernel_shape, initializer, l2_strength) variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) variable_summaries(bias) with tf.name_scope('layer_atrous_conv2d'): conv = tf.nn.atrous_conv2d(x, w, dilation_rate, padding) out = tf.nn.bias_add(conv, bias) return out
Example #16
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 5 votes |
def depthwise_separable_atrous_conv2d(name, x, w_depthwise=None, w_pointwise=None, width_multiplier=1.0, num_filters=16, kernel_size=(3, 3), dilation_factor=1, padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, biases=(0.0, 0.0), activation=None, batchnorm_enabled=True, is_training=True): total_num_filters = int(round(num_filters * width_multiplier)) with tf.variable_scope(name) as scope: conv_a = depthwise_conv2d('depthwise', x=x, w=w_depthwise, kernel_size=kernel_size, padding=padding, stride=stride, dilation_factor=filation_factor, initializer=initializer, l2_strength=l2_strength, bias=biases[0], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) conv_o = conv2d('pointwise', x=conv_a, w=w_pointwise, num_filters=total_num_filters, kernel_size=(1, 1), initializer=initializer, l2_strength=l2_strength, bias=biases[1], activation=activation, batchnorm_enabled=batchnorm_enabled, is_training=is_training) return conv_o # ShuffleNet layer methods ############################################################################################################ # ShuffleNet unit methods
Example #17
Source File: layers.py From ShuffleNet with Apache License 2.0 | 5 votes |
def grouped_conv2d(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), num_groups=1, l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, dropout_keep_prob=-1, is_training=True): with tf.variable_scope(name) as scope: sz = x.get_shape()[3].value // num_groups conv_side_layers = [ conv2d(name + "_" + str(i), x[:, :, :, i * sz:i * sz + sz], w, num_filters // num_groups, kernel_size, padding, stride, initializer, l2_strength, bias, activation=None, batchnorm_enabled=False, max_pool_enabled=False, dropout_keep_prob=dropout_keep_prob, is_training=is_training) for i in range(num_groups)] conv_g = tf.concat(conv_side_layers, axis=-1) if batchnorm_enabled: conv_o_bn = tf.layers.batch_normalization(conv_g, training=is_training, epsilon=1e-5) if not activation: conv_a = conv_o_bn else: conv_a = activation(conv_o_bn) else: if not activation: conv_a = conv_g else: conv_a = activation(conv_g) return conv_a
Example #18
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 5 votes |
def __conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights (if None, it means no pretrained weights) :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param stride: (integer tuple) The stride required. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = variable_with_weight_decay(kernel_shape, initializer, l2_strength) variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #19
Source File: convolution.py From TFSegmentation with Apache License 2.0 | 5 votes |
def __atrous_conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', dilation_rate=1, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Atrous Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param dilation_rate: (integer) The amount of dilation required. If equals 1, it means normal convolution. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = variable_with_weight_decay(kernel_shape, initializer, l2_strength) variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) variable_summaries(bias) with tf.name_scope('layer_atrous_conv2d'): conv = tf.nn.atrous_conv2d(x, w, dilation_rate, padding) out = tf.nn.bias_add(conv, bias) return out
Example #20
Source File: layers.py From ShuffleNet with Apache License 2.0 | 5 votes |
def __conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights (if None, it means no pretrained weights) :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param stride: (integer tuple) The stride required. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #21
Source File: layers.py From A2C with Apache License 2.0 | 5 votes |
def conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights (if None, it means no pretrained weights) :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param stride: (integer tuple) The stride required. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = variable_with_weight_decay(kernel_shape, initializer, l2_strength) variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #22
Source File: layers.py From face-antispoofing-using-mobileNet with Apache License 2.0 | 5 votes |
def __conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights (if None, it means no pretrained weights) :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param stride: (integer tuple) The stride required. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #23
Source File: entrypoint.py From nmt-wizard-docker with MIT License | 5 votes |
def serve(self, config, model_path, gpuid=0): v1_export_dir = os.path.join(model_path, _V1_SAVED_MODEL_DIR) if os.path.exists(v1_export_dir): raise ValueError('SavedModel exported with OpenNMT-tf 1.x are no longer supported. ' 'They include ops from tf.contrib which is not included in ' 'TensorFlow 2.x binaries. To upgrade automatically, you can release ' 'or serve from a OpenNMT-tf 1.x training checkpoint.') export_dir = os.path.join(model_path, _SAVED_MODEL_DIR) translate_fn = tf.saved_model.load(export_dir).signatures['serving_default'] return None, translate_fn
Example #24
Source File: contrib_test.py From deep_image_model with Apache License 2.0 | 5 votes |
def testLinearOptimizer(self): # pylint: disable=g-import-not-at-top import tensorflow as tf assert inspect.ismodule(tf.contrib.linear_optimizer)
Example #25
Source File: contrib_test.py From deep_image_model with Apache License 2.0 | 5 votes |
def testLayers(self): # pylint: disable=g-import-not-at-top import tensorflow as tf assert inspect.ismodule(tf.contrib.layers)
Example #26
Source File: contrib_test.py From deep_image_model with Apache License 2.0 | 5 votes |
def testContrib(self): # pylint: disable=g-import-not-at-top import tensorflow as tf _ = tf.contrib.layers # `tf.contrib` is loaded lazily on first use. assert inspect.ismodule(tf.contrib)
Example #27
Source File: test_forward.py From incubator-tvm with Apache License 2.0 | 5 votes |
def test_forward_lstm(): '''test LSTM block cell''' if package_version.parse(tf.VERSION) < package_version.parse('2.0.0'): #in 2.0, tf.contrib.rnn.LSTMBlockCell is removed _test_lstm_cell(1, 2, 1, 0.5, 'float32') ####################################################################### # Pack # ---
Example #28
Source File: layers.py From MobileNet with Apache License 2.0 | 5 votes |
def __conv2d_p(name, x, w=None, num_filters=16, kernel_size=(3, 3), padding='SAME', stride=(1, 1), initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0): """ Convolution 2D Wrapper :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, H, W, C). :param w: (tf.tensor) pretrained weights (if None, it means no pretrained weights) :param num_filters: (integer) No. of filters (This is the output depth) :param kernel_size: (integer tuple) The size of the convolving kernel. :param padding: (string) The amount of padding required. :param stride: (integer tuple) The stride required. :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. (if not float, it means pretrained bias) :return out: The output of the layer. (N, H', W', num_filters) """ with tf.variable_scope(name): stride = [1, stride[0], stride[1], 1] kernel_shape = [kernel_size[0], kernel_size[1], x.shape[-1], num_filters] with tf.name_scope('layer_weights'): if w == None: w = __variable_with_weight_decay(kernel_shape, initializer, l2_strength) __variable_summaries(w) with tf.name_scope('layer_biases'): if isinstance(bias, float): bias = tf.get_variable('biases', [num_filters], initializer=tf.constant_initializer(bias)) __variable_summaries(bias) with tf.name_scope('layer_conv2d'): conv = tf.nn.conv2d(x, w, stride, padding) out = tf.nn.bias_add(conv, bias) return out
Example #29
Source File: layers.py From ShuffleNet with Apache License 2.0 | 4 votes |
def dense(name, x, w=None, output_dim=128, initializer=tf.contrib.layers.xavier_initializer(), l2_strength=0.0, bias=0.0, activation=None, batchnorm_enabled=False, dropout_keep_prob=-1, is_training=True ): """ This block is responsible for a fully connected followed by optional (non-linearity, dropout, max-pooling). Note that: "is_training" should be passed by a correct value based on being in either training or testing. :param name: (string) The name scope provided by the upper tf.name_scope('name') as scope. :param x: (tf.tensor) The input to the layer (N, D). :param output_dim: (integer) It specifies H, the output second dimension of the fully connected layer [ie:(N, H)] :param initializer: (tf.contrib initializer) The initialization scheme, He et al. normal or Xavier normal are recommended. :param l2_strength:(weight decay) (float) L2 regularization parameter. :param bias: (float) Amount of bias. :param activation: (tf.graph operator) The activation function applied after the convolution operation. If None, linear is applied. :param batchnorm_enabled: (boolean) for enabling batch normalization. :param dropout_keep_prob: (float) for the probability of keeping neurons. If equals -1, it means no dropout :param is_training: (boolean) to diff. between training and testing (important for batch normalization and dropout) :return out: The output of the layer. (N, H) """ with tf.variable_scope(name) as scope: dense_o_b = __dense_p(name='dense', x=x, w=w, output_dim=output_dim, initializer=initializer, l2_strength=l2_strength, bias=bias) if batchnorm_enabled: dense_o_bn = tf.layers.batch_normalization(dense_o_b, training=is_training, epsilon=1e-5) if not activation: dense_a = dense_o_bn else: dense_a = activation(dense_o_bn) else: if not activation: dense_a = dense_o_b else: dense_a = activation(dense_o_b) def dropout_with_keep(): return tf.nn.dropout(dense_a, dropout_keep_prob) def dropout_no_keep(): return tf.nn.dropout(dense_a, 1.0) if dropout_keep_prob != -1: dense_o_dr = tf.cond(is_training, dropout_with_keep, dropout_no_keep) else: dense_o_dr = dense_a dense_o = dense_o_dr return dense_o
Example #30
Source File: GAN.py From VideoSuperResolution with MIT License | 4 votes |
def fid_score(real_image, gen_image, num_batches=None): """FID function from tf.contrib Args: real_image: must be 4-D tensor, ranges from [0, 255] gen_image: must be 4-D tensor, ranges from [0, 255] num_batches: Number of batches to split `generated_images` in to in order to efficiently run them through the classifier network. """ batches = real_image.shape[0] assert gen_image.shape[0] == batches, \ f'Batch mis-match: {batches} != {gen_image.shape[0]}' assert isinstance(real_image, np.ndarray) assert isinstance(gen_image, np.ndarray) if not num_batches: num_batches = (batches + _INCEPTION_BATCH - 1) // _INCEPTION_BATCH graph = _TFGAN.get_graph_def_from_url_tarball( 'http://download.tensorflow.org/models/frozen_inception_v1_2015_12_05.tar.gz', 'inceptionv1_for_inception_score.pb', '/tmp/frozen_inception_v1_2015_12_05.tar.gz') # make tensor batches real_ph = tf.placeholder(tf.float32, [_INCEPTION_BATCH, *real_image.shape[1:]]) gen_ph = tf.placeholder(tf.float32, [_INCEPTION_BATCH, *gen_image.shape[1:]]) real_features = _run_inception(real_ph, 'pool_3:0', graph) gen_features = _run_inception(gen_ph, 'pool_3:0', graph) sess = tf.get_default_session() real_feature_np = [] gen_feature_np = [] real_image = np.split(real_image, num_batches) gen_image = np.split(gen_image, num_batches) for i in range(num_batches): r, g = sess.run( [real_features, gen_features], feed_dict={real_ph: real_image[i], gen_ph: gen_image[i]}) real_feature_np.append(r) gen_feature_np.append(g) real_feature_np = np.concatenate(real_feature_np) gen_feature_np = np.concatenate(gen_feature_np) fid_tensor = _TFGAN.frechet_classifier_distance( classifier_fn=tf.identity, real_images=real_feature_np, generated_images=gen_feature_np, num_batches=num_batches) return fid_tensor