Beispiel #1
0
    def algorithm_topology_id(cls, opts):
        """
        generator of part of the id related to the topology of the network
        Args:
            opts:

        Returns:

        """

        first_net_option = opts["network_architecture"][0]
        topology_id = "-"
        if isinstance(first_net_option, str):
            topology_id += first_net_option
        else:
            topology_id += '_'.join(
                get_method_id(layer_tuple)
                for layer_tuple in opts["network_architecture"]
                if layer_tuple[0] is not 'flatten')

        topology_id += '-wi' + get_method_id(opts["weights_init"]) + \
                      '-bi' + get_method_id(opts["bias_init"]) + \
                      '-a' + opts["activation"]

        return topology_id
Beispiel #2
0
    def create_id(self):

        encoder_layers_ids = filter(None, [
            utils.get_method_id(layer_tuple)
            for layer_tuple in self._opts["network_architecture"]["encoder"]
        ])

        decoder_layers_ids = filter(None, [
            utils.get_method_id(layer_tuple)
            for layer_tuple in self._opts["network_architecture"]["decoder"]
        ])

        _id = '-ne_' + "_".join(encoder_layers_ids) + \
              '-nd_' + "_".join(decoder_layers_ids)

        super_id = super().create_id()

        _id += super_id
        return _id
Beispiel #3
0
    def create_id(self):

        layers_ids = [
            utils.get_method_id(layer_tuple)
            for layer_tuple in self._opts["network_architecture"]
        ]

        _id = '-n' + "_".join(filter(None, layers_ids))

        super_id = super().create_id()

        _id += super_id
        return _id
Beispiel #4
0
    def create_id(self):

        encoder_layers_ids = filter(None, [
            utils.get_method_id(layer_tuple)
            for layer_tuple in self._opts["network_architecture"]["encoder"]
        ])

        decoder_layers_ids = filter(None, [
            utils.get_method_id(layer_tuple)
            for layer_tuple in self._opts["network_architecture"]["decoder"]
        ])

        _id = '-ne_' + "_".join(encoder_layers_ids) +\
              '-vq_' + "e{:}".format(self._opts["network_architecture"]["vq"]["embedding_dim"]) + \
              "_p" + self._opts["network_architecture"]["vq"]["pre"][0] + \
              "_lc{:}".format(self._opts["network_architecture"]["vq"]["latent_channels"]) + \
              "_c{:}".format(self._opts["network_architecture"]["vq"]["commitment_cost"]) + \
              "_pr" + self._opts["network_architecture"]["vq"]["prior"][0].upper() + \
              '-nd_' + "_".join(decoder_layers_ids)

        super_id = super().create_id()

        _id += super_id
        return _id
Beispiel #5
0
    def create_id(self):

        _id = self.launchable_name

        # add to the ID the information of the cost function
        _id += '-c' + self._cost_function.create_id(
            self._opts["cost_function"][1])

        #str_type = get_short_dtype(opts["dtype"])
        preproc_tuple = self._opts.get("preprocess", None)
        if preproc_tuple is not None:
            _id += '-p' + get_method_id(preproc_tuple)

        super_id = super().create_id()
        network_id = self._network.create_id()

        _id += super_id + network_id
        if len(self._opts["regularizers"].keys()) > 0:
            _id += '-cr' + self.create_custom_regularizers_id()

        return _id