tf.layers.conv2d use_bias=True to use nn.bias_add

PiperOrigin-RevId: 158326493
This commit is contained in:
Toby Boyd 2017-06-07 15:28:20 -07:00 committed by TensorFlower Gardener
parent 379aa9911f
commit b94540e6f7

View File

@ -159,14 +159,12 @@ class _Conv(base.Layer):
if self.bias is not None:
if self.data_format == 'channels_first':
# bias_add only supports NHWC.
# TODO(fchollet): remove this when `bias_add` is feature-complete.
if self.rank == 1:
# nn.bias_add does not accept a 1D input tensor.
bias = array_ops.reshape(self.bias, (1, self.filters, 1))
outputs += bias
if self.rank == 2:
bias = array_ops.reshape(self.bias, (1, self.filters, 1, 1))
outputs += bias
outputs = nn.bias_add(outputs, self.bias, data_format='NCHW')
if self.rank == 3:
# As of Mar 2017, direct addition is significantly slower than
# bias_add when computing gradients. To use bias_add, we collapse Z