Exemplo n.º 1
0
Arquivo: main.py Projeto: mirismr/TFG
def fineTuneMobilenet():
    mobilenet = classes.ComplexModel(baseModels.Mobilenet(), (299, 299),
                                     "mobilenet/")
    data, labels, numClasses = mobilenet.loadAndPreprocessData(
        destPathSelected, log=True)
    numberSplits = classes.obtainNumSplitKFold(len(labels), 20)

    folds = list(
        StratifiedKFold(n_splits=numberSplits,
                        shuffle=True).split(data, labels))
    informationBestModel = classes.obtainBestModel("mobilenet/topModel/")
    print(
        '\n*************************Fine Tune Mobilenet*****************************'
    )
    for fold, (trainIdx, validIdx) in enumerate(folds):
        print('\n[INFO] Executing fold ', fold)
        trainData = data[trainIdx]
        trainLabels = labels[trainIdx]
        validData = data[validIdx]
        validLabels = labels[validIdx]

        trainingTime, historyGenerated = mobilenet.fineTune(
            trainData, trainLabels, validData, validLabels, 76,
            informationBestModel[1], informationBestModel[0], fold)
        mobilenet.testFineTuneModel(validData, validLabels, trainingTime,
                                    historyGenerated, fold, 15)
        print('\n************END ' + str(fold) + '***************')
Exemplo n.º 2
0
Arquivo: main.py Projeto: mirismr/TFG
def trainTopModelMobilenet():
    print(
        '\n*************************Train top models Mobilenet*****************************'
    )
    mobilenet = classes.ComplexModel(baseModels.Mobilenet(), (299, 299),
                                     "mobilenet/")
    data, labels, numClasses = mobilenet.loadAndPreprocessData(
        destPathSelected, log=True)
    numberSplits = classes.obtainNumSplitKFold(len(labels), 20)
    folds = list(
        StratifiedKFold(n_splits=numberSplits,
                        shuffle=True).split(data, labels))

    for fold, (trainIdx, validIdx) in enumerate(folds):
        print('\n[INFO] Executing fold ', fold)
        trainData = data[trainIdx]
        trainLabels = labels[trainIdx]
        validData = data[validIdx]
        validLabels = labels[validIdx]

        mobilenet.buildTopModel(classes.modelType.typeA)
        trainingTime, historyGenerated = mobilenet.trainTopModel(
            trainData, trainLabels, validData, validLabels, fold)
        mobilenet.testTopModel(validData, validLabels, trainingTime,
                               historyGenerated, fold)

        print('\n************END ' + str(fold) + '***************')