MCPcopy Create free account
hub / github.com/pytorch/pytorch / add_layer

Method add_layer

caffe2/python/layer_model_helper.py:365–395  ·  view source on GitHub ↗
(self, layer)

Source from the content-addressed store, hash-verified

363 return name
364
365 def add_layer(self, layer):
366 self._layers.append(layer)
367 for param in layer.get_parameters():
368 assert isinstance(param.parameter, core.BlobReference)
369
370 self.param_to_optim[str(param.parameter)] = \
371 param.optimizer or self.default_optimizer
372
373 self.params.append(param.parameter)
374 if isinstance(param, layers.LayerParameter):
375 logger.info("Add parameter regularizer {0}".format(param.parameter))
376 self.param_to_reg[param.parameter] = param.regularizer
377 elif isinstance(param, ParameterInfo):
378 # TODO:
379 # Currently, LSTM and RNNcells, which use ModelHelper instead of
380 # LayerModelHelper as super class, are called in pooling_methods
381 # In ModelHelper, regularization is not supported in create_param
382 # We will unify the way of create_param of ModelHelper and
383 # LayerModelHelper in the future.
384 logger.info('regularization is unsupported for ParameterInfo object')
385 else:
386 raise ValueError(
387 'unknown object type besides ParameterInfo and LayerParameter: {}'
388 .format(param)
389 )
390
391 # The primary value of adding everything to self.net - generation of the
392 # operators right away, i.e. if error happens it'll be detected
393 # immediately. Other than this - create_x_net should be called.
394 layer.add_operators(self.net, self.param_init_net)
395 return layer.output_schema
396
397 def get_parameter_blobs(self):
398 param_blobs = []

Callers 1

wrapperMethod · 0.95

Calls 6

isinstanceFunction · 0.85
get_parametersMethod · 0.80
infoMethod · 0.80
add_operatorsMethod · 0.80
appendMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected