Пример #1
0
print("INFO : Epochs: {}".format(epoches))
print("INFO : Batch Size: {}".format(batch_size))


# Fit model exactly the same way as when you trained it (omit any optional params though)
if train_type == 'trialwise':
    print(model.fit(train_set.X, train_set.y, epochs=epoches, batch_size=batch_size, scheduler='cosine',
            validation_data=(valid_set.X, valid_set.y),))
else: # cropped 
    input_time_length = 450
    print(model.fit(train_set.X, train_set.y, epochs=epoches, batch_size=batch_size, scheduler='cosine',
            input_time_length=input_time_length,
            validation_data=(valid_set.X, valid_set.y),))

print(model.epochs_df)
np.save("DataForRestoration\\CrossSubject\\{}-{}-{}epoches".format(model_type, train_type, epoches), model.epochs_df.iloc[:])

# Evaluation
test_set = SignalAndTarget(singleTestData, y=singleTestLabels)

eval = model.evaluate(test_set.X, test_set.y)
print(eval)
print(eval['misclass'])
torch.save(model, "crossModels\\{}-{}-cross-{}epoches-torch-model".format(model_type, train_type, epoches))

np.save("DataForRestoration\\CrossSubject\\{}-{}-{}epoches-testSetMisclass".format(model_type, train_type, epoches), eval['misclass'])
y_pred = model.predict_classes(test_set.X)

plot('accuracy', 'Plots\\CrossSubject\\', model, test_set, y_pred, model_type, train_type, epoches, 0)
plot('confusionMatrix', 'Plots\\CrossSubject\\', model, test_set, y_pred, model_type, train_type, epoches, 0)
Пример #2
0
        validation_data=(valid_set.X, valid_set.y),
    )

    # model.epochs_df

    ###########################################################################
    ### (7) Evaluation ########################################################
    ###########################################################################
    MovWind_Start = np.arange(0, 1900, 100)
    MovWind_End = MovWind_Start + 200
    PredictedLabels = np.zeros((test_index.shape[0], 19))
    for temp_movSteps in range(0, 19):
        X_test = X[test_index, :,
                   MovWind_Start[temp_movSteps]:MovWind_End[temp_movSteps]]
        y_test = y[test_index]
        test_set = SignalAndTarget(X_test, y_test)

        #scores = model.evaluate(test_set.X, test_set.y)

        #Acc = (1 - scores['misclass']) * 100

        PredictedLabels[:, temp_movSteps] = model.predict_classes(test_set.X)

    del optimizer, model, input_time_length, in_chans, n_classes, X_train, X_test, y_train, y_test, train_set, valid_set, test_set

    os.chdir(result_path)
    #io.savemat(file_name='sub_' + str(temp_subNum) + '_Day1_Result_labels_200508.mat', mdict={'PredictedLabels': (PredictedLabels)})
    os.chdir(default_path)

    del PredictedLabels