def generate_seed_model(model_dimension='VGG11'): model = VGG(dimension=model_dimension) outfile_name = 'seed/' + model_dimension + '_keras.npz' weights = model.get_weights() helper = KerasHelper() if not os.path.exists('seed'): os.makedirs('seed') helper.save_model(weights, outfile_name)
def get_helper(helper_type): """ Return an instance of the helper class. :param helper_type (str): The helper type ('keras','pytorch') :return: """ if helper_type == 'numpyarray': from fedn.utils.numpyarrayhelper import NumpyArrayHelper return NumpyArrayHelper() elif helper_type == 'keras': from fedn.utils.kerashelper import KerasHelper return KerasHelper() elif helper_type == 'pytorch': from fedn.utils.pytorchhelper import PytorchHelper return PytorchHelper() else: return None
def train(model, filename, settings): print("-- RUNNING TRAINING --", flush=True) train_x, _, _ = read_data(filename) model.fit(train_x, train_x, batch_size=settings['batch_size'], epochs=settings['epochs']) return model if __name__ == '__main__': with open('settings.yaml', 'r') as fh: try: settings = dict(yaml.safe_load(fh)) except yaml.YAMLError as e: raise (e) from fedn.utils.kerashelper import KerasHelper from models.autocoder import create_seed_model helper = KerasHelper() weights = helper.load_model(sys.argv[1]) model = create_seed_model() model.set_weights(weights) model = train(model, '../data/train.csv', settings) helper.save_model(model.get_weights(), sys.argv[2])
from fedn.utils.kerashelper import KerasHelper from models.AMLmodel import construct_model if __name__ == '__main__': # Create a seed model and push to Minio model = construct_model() outfile_name = "initial_model.npz" weights = model.get_weights() helper = KerasHelper() helper.save_model(weights, outfile_name)
if __name__ == '__main__': with open('settings.yaml', 'r') as fh: try: settings = dict(yaml.safe_load(fh)) except yaml.YAMLError as e: raise (e) with open('/app/client_settings.yaml', 'r') as fh: try: client_settings = dict(yaml.safe_load(fh)) except yaml.YAMLError as e: raise (e) from fedn.utils.kerashelper import KerasHelper helper = KerasHelper() weights = helper.load_model(sys.argv[1]) model = VGG(dimension=settings['model_dimension']) opt = keras.optimizers.Adam(learning_rate=0.001) model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) model.set_weights(weights) report = validate(model, '/app/data', settings) with open(sys.argv[2], "w") as fh: fh.write(json.dumps(report))
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # File : init_model.py # Author : Sheetal Reddy <*****@*****.**> # Date : 08.03.2021 # Last Modified Date: 08.03.2021 # Last Modified By : Sheetal Reddy <*****@*****.**> import sys import os from client1_new import TrainingProcess, Model, TrainDataReader from fedn.utils.kerashelper import KerasHelper from kerasmodel import create_seed_model if __name__ == '__main__': outfile_name = '/seed/' + sys.argv[1] helper = KerasHelper() start_process = create_seed_model('/client/', pretrained=True) helper.save_model(start_process.local_model.get_weights(), path=outfile_name) print("seed model saved as: ", outfile_name)