コード例 #1
0
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)
コード例 #2
0
ファイル: helpers.py プロジェクト: scaleoutsystems/fedn
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
コード例 #3
0

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])
コード例 #4
0
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)
コード例 #5
0
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))
コード例 #6
0
ファイル: init_model.py プロジェクト: aidotse/fedbird
#!/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)