train.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:Deep-Learning-para-diagnostico-a-partir-de-imagenes-Biomedicas 作者: pacocp 项目源码 文件源码
def train_model_CV_generator(images,labels,model,train_datagen):
    '''
    Training model using cross-validation

    Parameters
    ----------

    '''
    train_datagen = ImageDataGenerator(horizontal_flip=True)
    images,labels = reorderRandomly(images,labels)

    for i in range(len(labels)):
        if labels[i] == "AD":
            labels[i] = 0
        else:
            labels[i] = 1

    slices_images = [images[i::5] for i in range(5)]
    slices_labels = [labels[i::5] for i in range(5)]

    models = {}
    histories = {}
    values_acc = []
    for i in range(5):
        model = create_model()
        X_test = slices_images[i]
        Y_test = slices_labels[i]
        X_train = [item
                    for s in slices_images if s is not X_test
                    for item in s]
        Y_train = [item
                    for s in slices_labels if s is not Y_test
                    for item in s]

        X_train = np.array(X_train)
        Y_train = np.array(Y_train)
        X_test = np.array(X_test)
        Y_test = np.array(Y_test)
        from keras.utils.np_utils import to_categorical
        Y_train = to_categorical(Y_train)
        Y_test = to_categorical(Y_test)
        history = model.fit_generator(train_datagen.flow(X_train,Y_train,batch_size = 5),
        epochs=70,steps_per_epoch= len(X_train)//5)
        models['model'+str(i)] = model
        test_loss = model.evaluate(X_test,Y_test)
        print("Loss and accuracy in the test set: Loss %g, Accuracy %g"%(test_loss[0],test_loss[1]))
        histories['test_acc'+str(i)] = test_loss
        values_acc.append(test_loss[1])

    mean = calculate_mean(values_acc)
    print("The mean of all the test values is: %g"%mean)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号