Beispiel #1
0
 def make_search_space(self):
   """Creates both the edge and operation search space definitions."""
   self.make_all_possible_edges()
   self.boolean_mask = pg.List(
       [pg.oneof([0, 1]) for edge in self.all_possible_edges])
   self.search_space = pg.Dict(boolean_mask=self.boolean_mask)
   self.template = pg.template(self.search_space)
Beispiel #2
0
  def make_search_space(self):
    self.search_space = pg.Dict()

    for sector_pair in self.sectors:
      sector_before, sector_after = sector_pair
      for a in sector_before:
        for b in sector_after:
          edge_key = str((a, b))
          self.search_space[edge_key] = pg.one_of(
              list(range(self.num_partitions)))

    self.template = pg.template(self.search_space)
Beispiel #3
0
  def make_search_space(self):
    """Creates both the edge and operation search space definitions."""
    self.make_all_possible_edges()
    self.edge_search_space = pg.sublist_of(
        self.num_edges,
        candidates=self.all_possible_edges,
        choices_sorted=False,
        choices_distinct=True)
    # Every node is allowed an operation over it, after matrix multiplication.
    self.op_search_space = pg.List(
        [pg.one_of(self.nonlinearity_ops) for i in range(self.total_nb_nodes)])

    self.search_space = pg.Dict(
        edge_search_space=self.edge_search_space,
        op_search_space=self.op_search_space)

    self.template = pg.template(self.search_space)