Esempio n. 1
0
def gen_rndchk_models(raw_dataset_folder, random_dataset_folder, minimum,
                      maximum, result_dir):
    raw_dset = Dataset.new_from_folders(raw_dataset_folder)
    raw_dset = raw_dset.filter_min_max(minimum, maximum)

    rnd_dset = Dataset.new_from_folders(random_dataset_folder)
    rnd_dset = rnd_dset.filter_min_max(minimum, maximum)

    r = Reporter()
    for cat, tset, vset in datasets_X_random(raw_dset, rnd_dset):
        print(cat)
        model = models.C64_16_2pr_C32_4_2pr_C64_32_2pr_F_D(
            2, 8, 'softmax', 'categorical_crossentropy')
        result = Trainer(model).train(tset, vset)
        h5_path = os.path.join(result_dir, '%s_random.h5' % cat)
        tensorflow.keras.Model.save(model, h5_path)
        r.add(
            result,
            category=cat,
            **report.report_epochs(**result._asdict()),
            **report.report_elapsed(**result._asdict()),
            **report.report_metrics(**result._asdict()),
        )
    r.save_report(result_dir + "/experiments.tsv")