def init_federated(): # clients list clients = [] # load configs parser = Parser() parser.parse() config = parser.config # generate clients for i in range(config.num_of_clients): clients.append(Client(id=i, config=config)) # generate server server = Server(id=0, config=config) # foo server.generator_A2B.apply(weights_init_normal) server.generator_B2A.apply(weights_init_normal) server.discriminator_A.apply(weights_init_normal) server.discriminator_B.apply(weights_init_normal) if (os.path.exists(server.model_dir + server.generator_name_A2B) and os.path.exists(server.model_dir + server.generator_name_B2A) and os.path.exists(server.model_dir + server.discriminator_name_A) and os.path.exists(server.model_dir + server.discriminator_name_B)): server.load_model() print("Global model saved on the server has been restored!") elif not (os.path.exists(server.model_dir + server.generator_name_A2B) and os.path.exists(server.model_dir + server.generator_name_B2A) and os.path.exists(server.model_dir + server.discriminator_name_A) and os.path.exists(server.model_dir + server.discriminator_name_B)): print("Global model has been created!") else: raise EOFError # load datasets # This method is detached from the init part # load_datasets(clients=clients, config=config) # load models for client in clients: client.load_model(generator_A2B=server.generator_A2B, generator_B2A=server.generator_B2A, discriminator_A=server.discriminator_A, discriminator_B=server.discriminator_B) print("Client {}'s model has been updated from the server".format( client.id)) return clients, server, config
from utils import ResultWriter, Parser, get_args, Algorithm if __name__ == "__main__": alg, input_file, output_file = get_args() item_class = Item if alg == Algorithm.GREEDY: algorithm = GreedyAlgorithm elif alg == Algorithm.DYNAMIC: algorithm = DynamicProgramingAlgorithm elif alg == Algorithm.DYNAMIC_OPTIMAL: algorithm = DynamicProgramingOptimizedAlgorithm item_class = ItemWithSlots else: raise ValueError("Algorithm can be one of: {}, {}, {}".format( Algorithm.GREEDY, Algorithm.DYNAMIC, Algorithm.DYNAMIC_OPTIMAL)) investor, items = Parser.parse(input_file, item_class) start_time = time.time() algorithm(investor, items).calculate() duration = time.time() - start_time print('Duration is {:.2f} ms'.format(duration * 1000)) print('Memory usage: {} KB'.format( resource.getrusage(resource.RUSAGE_SELF).ru_maxrss)) ResultWriter.write(investor, output_file)
try: canteen.addMeal(date, category=location_tag.string, name=title_tag.string, prices=price_tag.string) except ValueError as e: print('Error adding meal "{}": {}'.format(meal_item, e)) def parse_url(url, today=False): canteen = LazyBuilder() canteen.setAdditionalCharges('student', {}) parse_week(url, canteen) return canteen.toXMLFeed() parser = Parser( 'darmstadt', handler=parse_url, shared_prefix= 'http://studierendenwerkdarmstadt.de/hochschulgastronomie/speisekarten/') parser.define('stadtmitte', suffix='stadtmitte/') parser.define('lichtwiese', suffix='lichtwiese/') parser.define('schoefferstrasse', suffix='schoefferstrasse/') parser.define('dieburg', suffix='dieburg/') parser.define('haardtring', suffix='haardtring/') # for debugging / testing if __name__ == "__main__": print(parser.parse("darmstadt", "stadtmitte", None))
price_tag = meal_item.find("span", {"class": "fmc-item-price"}) try: canteen.addMeal(date, category=location_tag.string, name=title_tag.string, prices=price_tag.string) except ValueError as e: print('Error adding meal "{}": {}'.format(meal_item, e)) def parse_url(url, today=False): canteen = LazyBuilder() canteen.setAdditionalCharges("student", {}) parse_week(url, canteen) return canteen.toXMLFeed() parser = Parser( "darmstadt", handler=parse_url, shared_prefix="http://studierendenwerkdarmstadt.de/hochschulgastronomie/speisekarten/", ) parser.define("stadtmitte", suffix="stadtmitte/") parser.define("lichtwiese", suffix="lichtwiese/") parser.define("schoefferstrasse", suffix="schoefferstrasse/") parser.define("dieburg", suffix="dieburg/") parser.define("haardtring", suffix="haardtring/") # for debugging / testing if __name__ == "__main__": print(parser.parse("darmstadt", "stadtmitte", None))