MCPcopy Index your code
hub / github.com/tensorpack/tensorpack / Conv2D

Function Conv2D

tensorpack/models/conv2d.py:23–141  ·  view source on GitHub ↗

Similar to `tf.layers.Conv2D`, but with some differences: 1. Default kernel initializer is variance_scaling_initializer(2.0). 2. Default padding is 'same'. 3. Support 'split' argument to do group convolution. Variable Names: * ``W``: weights * ``b``: bias

(
        inputs,
        filters,
        kernel_size,
        strides=(1, 1),
        padding='same',
        data_format='channels_last',
        dilation_rate=(1, 1),
        activation=None,
        use_bias=True,
        kernel_initializer=None,
        bias_initializer=tf.zeros_initializer(),
        kernel_regularizer=None,
        bias_regularizer=None,
        activity_regularizer=None,
        split=1)

Source from the content-addressed store, hash-verified

21 'stride': 'strides',
22 })
23def Conv2D(
24 inputs,
25 filters,
26 kernel_size,
27 strides=(1, 1),
28 padding='same',
29 data_format='channels_last',
30 dilation_rate=(1, 1),
31 activation=None,
32 use_bias=True,
33 kernel_initializer=None,
34 bias_initializer=tf.zeros_initializer(),
35 kernel_regularizer=None,
36 bias_regularizer=None,
37 activity_regularizer=None,
38 split=1):
39 """
40 Similar to `tf.layers.Conv2D`, but with some differences:
41
42 1. Default kernel initializer is variance_scaling_initializer(2.0).
43 2. Default padding is 'same'.
44 3. Support 'split' argument to do group convolution.
45
46 Variable Names:
47
48 * ``W``: weights
49 * ``b``: bias
50 """
51 if kernel_initializer is None:
52 if get_tf_version_tuple() <= (1, 12):
53 kernel_initializer = tf.contrib.layers.variance_scaling_initializer(2.0) # deprecated
54 else:
55 kernel_initializer = tf.keras.initializers.VarianceScaling(2.0, distribution='untruncated_normal')
56 dilation_rate = shape2d(dilation_rate)
57
58 if split == 1 and dilation_rate == [1, 1]:
59 # tf.layers.Conv2D has bugs with dilations (https://github.com/tensorflow/tensorflow/issues/26797)
60 with rename_get_variable({'kernel': 'W', 'bias': 'b'}):
61 layer = tf.layers.Conv2D(
62 filters,
63 kernel_size,
64 strides=strides,
65 padding=padding,
66 data_format=data_format,
67 dilation_rate=dilation_rate,
68 activation=activation,
69 use_bias=use_bias,
70 kernel_initializer=kernel_initializer,
71 bias_initializer=bias_initializer,
72 kernel_regularizer=kernel_regularizer,
73 bias_regularizer=bias_regularizer,
74 activity_regularizer=activity_regularizer,
75 _reuse=tf.get_variable_scope().reuse)
76 ret = layer.apply(inputs, scope=tf.get_variable_scope())
77 ret = tf.identity(ret, name='output')
78
79 ret.variables = VariableHolder(W=layer.kernel)
80 if use_bias:

Callers 15

resnet_shortcutFunction · 0.90
preact_basicblockFunction · 0.90
preact_bottleneckFunction · 0.90
resnet_basicblockFunction · 0.90
resnet_bottleneckFunction · 0.90
se_bottleneckFunction · 0.90
resnext32x4d_bottleneckFunction · 0.90
resnet_backboneFunction · 0.90
resnet_shortcutFunction · 0.90
preact_basicblockFunction · 0.90
preact_bottleneckFunction · 0.90
resnet_basicblockFunction · 0.90

Calls 9

get_tf_version_tupleFunction · 0.85
shape2dFunction · 0.85
rename_get_variableFunction · 0.85
VariableHolderClass · 0.85
get_data_formatFunction · 0.85
shape4dFunction · 0.85
log_onceFunction · 0.85
get_variableMethod · 0.80
applyMethod · 0.45

Tested by

no test coverage detected