MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / __init__

Method __init__

tensorflow/python/ops/nn_ops.py:167–226  ·  view source on GitHub ↗
(
      self,
      input_shape,
      filter_shape,  # pylint: disable=redefined-builtin
      padding,
      data_format=None,
      strides=None,
      dilation_rate=None,
      name=None)

Source from the content-addressed store, hash-verified

165 """
166
167 def __init__(
168 self,
169 input_shape,
170 filter_shape, # pylint: disable=redefined-builtin
171 padding,
172 data_format=None,
173 strides=None,
174 dilation_rate=None,
175 name=None):
176 filter_shape = filter_shape.with_rank(input_shape.ndims)
177 self.padding = padding
178 self.name = name
179 input_shape = input_shape.with_rank(filter_shape.ndims)
180 if input_shape.ndims is None:
181 raise ValueError("Rank of convolution must be known")
182 if input_shape.ndims < 3 or input_shape.ndims > 5:
183 raise ValueError(
184 "`input` and `filter` must have rank at least 3 and at most 5")
185 conv_dims = input_shape.ndims - 2
186 if strides is None:
187 strides = [1] * conv_dims
188 elif len(strides) != conv_dims:
189 raise ValueError("len(strides)=%d, but should be %d" % (len(strides),
190 conv_dims))
191 self.dilations = dilation_rate
192
193 if conv_dims == 1:
194 # conv1d uses the 2-d data format names
195 if data_format is None:
196 data_format = "NWC"
197 elif data_format not in {"NCW", "NWC", "NCHW", "NHWC"}:
198 raise ValueError("data_format must be \"NWC\" or \"NCW\".")
199 self.strides = strides[0]
200 self.data_format = data_format
201 self.conv_op = self._conv1d
202 elif conv_dims == 2:
203 if data_format is None or data_format == "NHWC":
204 data_format = "NHWC"
205 strides = [1] + list(strides) + [1]
206 elif data_format == "NCHW":
207 strides = [1, 1] + list(strides)
208 else:
209 raise ValueError("data_format must be \"NHWC\" or \"NCHW\".")
210 self.strides = strides
211 self.data_format = data_format
212 self.conv_op = conv2d
213 elif conv_dims == 3:
214 if data_format is None or data_format == "NDHWC":
215 strides = [1] + list(strides) + [1]
216 elif data_format == "NCDHW":
217 strides = [1, 1] + list(strides)
218 else:
219 raise ValueError("data_format must be \"NDHWC\" or \"NCDHW\". Have: %s"
220 % data_format)
221 channel_index = 1 if data_format.startswith("NC") else 4
222 self.dilations = _get_sequence(dilation_rate, 3, channel_index,
223 "dilations")
224 self.strides = strides

Callers

nothing calls this directly

Calls 2

with_rankMethod · 0.80
_get_sequenceFunction · 0.70

Tested by

no test coverage detected