Python sonnet.AbstractModule() Examples
The following are 6
code examples of sonnet.AbstractModule().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sonnet
, or try the search function
.
Example #1
Source File: verifiable_wrapper.py From interval-bound-propagation with Apache License 2.0 | 5 votes |
def __str__(self): if isinstance(self._module, tf.Tensor): return str(self._module) if isinstance(self._module, types.LambdaType): return self._module.__name__ if isinstance(self._module, snt.AbstractModule): return self._module.module_name if hasattr(self._module, '__class__'): return self._module.__class__.__name__ return str(self._module)
Example #2
Source File: _base.py From graph_nets with Apache License 2.0 | 5 votes |
def __init__(self, *args, **kwargs): super(AbstractModule, self).__init__(*args, **kwargs) self.__call__.__func__.__doc__ = self._build.__doc__ # In snt2 calls to `_enter_variable_scope` are ignored.
Example #3
Source File: utils.py From Gun-Detector with Apache License 2.0 | 4 votes |
def create_variables_in_class_scope(method): """Force the variables constructed in this class to live in the sonnet module. Wraps a method on a sonnet module. For example the following will create two different variables. ``` class Mod(snt.AbstractModule): @create_variables_in_class_scope def dynamic_thing(self, input, name): return snt.Linear(name)(input) mod.dynamic_thing(x, name="module_nameA") mod.dynamic_thing(x, name="module_nameB") # reuse mod.dynamic_thing(y, name="module_nameA") ``` """ @functools.wraps(method) def wrapper(obj, *args, **kwargs): def default_context_manager(reuse=None): variable_scope = obj.variable_scope return tf.variable_scope(variable_scope, reuse=reuse) variable_scope_context_manager = getattr(obj, "_enter_variable_scope", default_context_manager) graph = tf.get_default_graph() # Temporarily enter the variable scope to capture it with variable_scope_context_manager() as tmp_variable_scope: variable_scope = tmp_variable_scope with variable_scope_ops._pure_variable_scope( variable_scope, reuse=tf.AUTO_REUSE) as pure_variable_scope: name_scope = variable_scope.original_name_scope if name_scope[-1] != "/": name_scope += "/" with tf.name_scope(name_scope): sub_scope = snt_util.to_snake_case(method.__name__) with tf.name_scope(sub_scope) as scope: out_ops = method(obj, *args, **kwargs) return out_ops return wrapper
Example #4
Source File: utils.py From g-tensorflow-models with Apache License 2.0 | 4 votes |
def create_variables_in_class_scope(method): """Force the variables constructed in this class to live in the sonnet module. Wraps a method on a sonnet module. For example the following will create two different variables. ``` class Mod(snt.AbstractModule): @create_variables_in_class_scope def dynamic_thing(self, input, name): return snt.Linear(name)(input) mod.dynamic_thing(x, name="module_nameA") mod.dynamic_thing(x, name="module_nameB") # reuse mod.dynamic_thing(y, name="module_nameA") ``` """ @functools.wraps(method) def wrapper(obj, *args, **kwargs): def default_context_manager(reuse=None): variable_scope = obj.variable_scope return tf.variable_scope(variable_scope, reuse=reuse) variable_scope_context_manager = getattr(obj, "_enter_variable_scope", default_context_manager) graph = tf.get_default_graph() # Temporarily enter the variable scope to capture it with variable_scope_context_manager() as tmp_variable_scope: variable_scope = tmp_variable_scope with variable_scope_ops._pure_variable_scope( variable_scope, reuse=tf.AUTO_REUSE) as pure_variable_scope: name_scope = variable_scope.original_name_scope if name_scope[-1] != "/": name_scope += "/" with tf.name_scope(name_scope): sub_scope = snt_util.to_snake_case(method.__name__) with tf.name_scope(sub_scope) as scope: out_ops = method(obj, *args, **kwargs) return out_ops return wrapper
Example #5
Source File: utils.py From models with Apache License 2.0 | 4 votes |
def create_variables_in_class_scope(method): """Force the variables constructed in this class to live in the sonnet module. Wraps a method on a sonnet module. For example the following will create two different variables. ``` class Mod(snt.AbstractModule): @create_variables_in_class_scope def dynamic_thing(self, input, name): return snt.Linear(name)(input) mod.dynamic_thing(x, name="module_nameA") mod.dynamic_thing(x, name="module_nameB") # reuse mod.dynamic_thing(y, name="module_nameA") ``` """ @functools.wraps(method) def wrapper(obj, *args, **kwargs): def default_context_manager(reuse=None): variable_scope = obj.variable_scope return tf.variable_scope(variable_scope, reuse=reuse) variable_scope_context_manager = getattr(obj, "_enter_variable_scope", default_context_manager) graph = tf.get_default_graph() # Temporarily enter the variable scope to capture it with variable_scope_context_manager() as tmp_variable_scope: variable_scope = tmp_variable_scope with variable_scope_ops._pure_variable_scope( variable_scope, reuse=tf.AUTO_REUSE) as pure_variable_scope: name_scope = variable_scope.original_name_scope if name_scope[-1] != "/": name_scope += "/" with tf.name_scope(name_scope): sub_scope = snt_util.to_snake_case(method.__name__) with tf.name_scope(sub_scope) as scope: out_ops = method(obj, *args, **kwargs) return out_ops return wrapper
Example #6
Source File: utils.py From multilabel-image-classification-tensorflow with MIT License | 4 votes |
def create_variables_in_class_scope(method): """Force the variables constructed in this class to live in the sonnet module. Wraps a method on a sonnet module. For example the following will create two different variables. ``` class Mod(snt.AbstractModule): @create_variables_in_class_scope def dynamic_thing(self, input, name): return snt.Linear(name)(input) mod.dynamic_thing(x, name="module_nameA") mod.dynamic_thing(x, name="module_nameB") # reuse mod.dynamic_thing(y, name="module_nameA") ``` """ @functools.wraps(method) def wrapper(obj, *args, **kwargs): def default_context_manager(reuse=None): variable_scope = obj.variable_scope return tf.variable_scope(variable_scope, reuse=reuse) variable_scope_context_manager = getattr(obj, "_enter_variable_scope", default_context_manager) graph = tf.get_default_graph() # Temporarily enter the variable scope to capture it with variable_scope_context_manager() as tmp_variable_scope: variable_scope = tmp_variable_scope with variable_scope_ops._pure_variable_scope( variable_scope, reuse=tf.AUTO_REUSE) as pure_variable_scope: name_scope = variable_scope.original_name_scope if name_scope[-1] != "/": name_scope += "/" with tf.name_scope(name_scope): sub_scope = snt_util.to_snake_case(method.__name__) with tf.name_scope(sub_scope) as scope: out_ops = method(obj, *args, **kwargs) return out_ops return wrapper