# Path: selfsup/multi/methods/base.py
# class Method:
#     def __init__(self, name, batch_size):
#         self.name = name
#         self.batch_size = batch_size
# 
#     def input_size(self):
#         return 0
# 
#     def batch_loader(self):
#         raise NotImplemented("Abstract base class")
# 
#     def build_network(network, y, phase_test):
#         raise NotImplemented("Abstract base class")
# 
#     @property
#     def basenet_settings():
#         return {}
# 
#     def make_path(self, name, ext, iteration):
#         return f'img/{self.name}_{name}_{iteration}.png'


import tensorflow as tf
import os
import selfsup
            import ipdb; ipdb.set_trace()
        import vzlog
from .base import Method
from collections import OrderedDict


class Autoencoder(Method):
    def __init__(self, name, basenet, loader, embedding_size=1024, method='gustav'):
        self.name = name
        self.basenet = basenet
        self._loader = loader
        self._embedding_size = embedding_size
        self._method = method

    @property
    def basenet_settings(self):

# Path: selfsup/multi/methods/base.py
# class Method:
#     def __init__(self, name, batch_size):
#         self.name = name
#         self.batch_size = batch_size
# 
#     def input_size(self):
#         return 0
# 
#     def batch_loader(self):
#         raise NotImplemented("Abstract base class")
# 
#     def build_network(network, y, phase_test):
#         raise NotImplemented("Abstract base class")
# 
#     @property
#     def basenet_settings():
#         return {}
# 
#     def make_path(self, name, ext, iteration):
#         return f'img/{self.name}_{name}_{iteration}.png'


# Path: selfsup/multi/methods/autoencoder.py
import tensorflow as tf
import os
import selfsup
            import ipdb; ipdb.set_trace()
        import vzlog
from .base import Method
from collections import OrderedDict



class Autoencoder(Method):
    def __init__(self, name, basenet, loader, embedding_size=1024, method='gustav'):
        self.name = name
        self.basenet = basenet
        self._loader = loader
        self._embedding_size = embedding_size
        self._method = method

    @property
    def basenet_settings(self):

        return {'convolutional': False}