def __init__(self, num_internals=0, scope='layer', summary_labels=None):
self.num_internals = num_internals
self.summary_labels = set(summary_labels or ())
self.named_tensors = dict()
self.variables = dict()
self.all_variables = dict()
self.summaries = list()
def custom_getter(getter, name, registered=False, **kwargs):
variable = getter(name=name, registered=True, **kwargs)
if not registered:
self.all_variables[name] = variable
if kwargs.get('trainable', True) and not name.startswith('optimization'):
self.variables[name] = variable
if 'variables' in self.summary_labels:
summary = tf.summary.histogram(name=name, values=variable)
self.summaries.append(summary)
return variable
self.apply = tf.make_template(
name_=(scope + '/apply'),
func_=self.tf_apply,
custom_getter_=custom_getter
)
self.regularization_loss = tf.make_template(
name_=(scope + '/regularization-loss'),
func_=self.tf_regularization_loss,
custom_getter_=custom_getter
)
评论列表
文章目录