# Path: selfsup/multi/basenets/basenet.py
# class BaseNet:
#     def __init__(self):
#         pass
# 
#     @property
#     def name(self):
#         raise NotImplemented('Abstract base class')
# 
#     @property
#     def canonical_input_size(self):
#         raise NotImplemented('Abstract base class')
# 
#     @property
#     def hypercolumn_layers(self):
#         """Suggested hypercolumn layers"""
#         return []
# 
#     @property
#     def layers(self):
#         return [name for name, _ in self.hypercolumn_layers]
# 
#     def build(self):
#         raise NotImplemented('Abstract base class')
# 
#     def save_caffemodel(self, path, session, verbose=False):
#         raise NotImplemented('Abstract base class')
# 
# Path: selfsup/util.py
# class DummyDict(object):
#     def __init__(self):
#         pass
#     def __getitem__(self, item):
#         return DummyDict()
#     def __setitem__(self, item, value):
#         return DummyDict()
#     def get(self, item, default=None):
#         if default is None:
#             return DummyDict()
#         else:
#             return default


from .basenet import BaseNet
from selfsup.util import DummyDict
import selfsup
import selfsup.alex_bn2
import selfsup.model.alex
import selfsup.model.alex_bn
import selfsup.model.alex_bn2
import selfsup.model.alex_transposed
            z = selfsup.model.alex_bn2.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    global_step=global_step,
                    phase_test=phase_test)
        elif self._use_batch_norm:
            z = selfsup.model.alex_bn.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    global_step=global_step,
                    phase_test=phase_test)
        else:
            z = selfsup.model.alex.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    phase_test=phase_test)

        info['activations']['x01'] = x01
        info['activations']['x'] = x
        info['activations']['top'] = z
        info['weights']['firstconv:weights'] = info['weights']['conv1:weights']
        info['weights']['firstconv:biases'] = info['weights']['conv1:biases']
        return info


# Path: selfsup/multi/basenets/basenet.py
# class BaseNet:
#     def __init__(self):
#         pass
# 
#     @property
#     def name(self):
#         raise NotImplemented('Abstract base class')
# 
#     @property
#     def canonical_input_size(self):
#         raise NotImplemented('Abstract base class')
# 
#     @property
#     def hypercolumn_layers(self):
#         """Suggested hypercolumn layers"""
#         return []
# 
#     @property
#     def layers(self):
#         return [name for name, _ in self.hypercolumn_layers]
# 
#     def build(self):
#         raise NotImplemented('Abstract base class')
# 
#     def save_caffemodel(self, path, session, verbose=False):
#         raise NotImplemented('Abstract base class')
# 
# Path: selfsup/util.py
# class DummyDict(object):
#     def __init__(self):
#         pass
#     def __getitem__(self, item):
#         return DummyDict()
#     def __setitem__(self, item, value):
#         return DummyDict()
#     def get(self, item, default=None):
#         if default is None:
#             return DummyDict()
#         else:
#             return default


# Path: selfsup/multi/basenets/alex.py
from .basenet import BaseNet
from selfsup.util import DummyDict
import selfsup
import selfsup.alex_bn2
import selfsup.model.alex
import selfsup.model.alex_bn
import selfsup.model.alex_bn2
import selfsup.model.alex_transposed

            z = selfsup.model.alex_bn2.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    global_step=global_step,
                    phase_test=phase_test)
        elif self._use_batch_norm:
            z = selfsup.model.alex_bn.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    global_step=global_step,
                    phase_test=phase_test)
        else:
            z = selfsup.model.alex.build_network(x, info=info,
                    convolutional=settings.get('convolutional', False),
                    final_layer=False,
                    well_behaved_size=False,
                    use_lrn=self._use_lrn,
                    phase_test=phase_test)

        info['activations']['x01'] = x01
        info['activations']['x'] = x
        info['activations']['top'] = z
        info['weights']['firstconv:weights'] = info['weights']['conv1:weights']
        info['weights']['firstconv:biases'] = info['weights']['conv1:biases']
        return info


    def decoder(self, z, channels=1, multiple=4, from_name=None, settings=DummyDict(), info=DummyDict()):