def __init__(self, field, blocks, north_pins, south_pins, east_pins, west_pins): BaseOptimizer.__init__(self, field) # flags self.group_connected_to_parent_neighbor_set_parent_size = True self.groups = [] self.blocks = blocks self.wide_search_index = 0 self.wide_search_queue = [] self.pins_east = east_pins self.pins_west = west_pins self.pins_north = north_pins self.pins_south = south_pins # dictionary with pin.net_name as key and a block list as value self.dictionary_net_blocks = {} self.dictionary_vdd_blocks = {} self.dictionary_out_blocks = {} self.dictionary_gnd_blocks = {} self.dictionary_inp_blocks = {} self.dictionary_bia_blocks = {} self.bias_nets = set() self.group_east = Group([OUT_GRP]) self.group_south = Group([GND_GRP]) self.group_north = Group([VCC_GRP]) self.group_west = Group([-5]) self.group_main = Group([MAIN_GRP]) self.group_east.neighbor_west.append(self.group_main) self.group_main.neighbor_east.append(self.group_east) self.group_west.neighbor_east.append(self.group_main) self.group_main.neighbor_west.append(self.group_west) self.group_north.neighbor_south.append(self.group_main) self.group_main.neighbor_north.append(self.group_north) self.group_main.neighbor_south.append(self.group_south) self.group_south.neighbor_north.append(self.group_main) # static block positions self.static_blocks = {}
def __init__(self, learning_rate, decay, momentum): BaseOptimizer.__init__(self, learning_rate, decay, momentum)
def __init__(self, field): BaseOptimizer.__init__(self, field)
def __init__(self, learning_rate, decay, momentum): BaseOptimizer.__init__(self, learning_rate, decay, momentum) self.beta1 = 0.9 self.beta2 = 0.99 self._smooth_gradients = {}