【问题标题】:How i can extracte x_train and y_train from train_generator?我如何从 train_generator 中提取 x_train 和 y_train?
【发布时间】:2020-04-28 03:53:14
【问题描述】:

在我的 CNN 模型中,我想从 train_generator 中提取 X_trainy_train。我想使用集成学习、装袋和提升来评估模型。主要挑战是如何使用 python 语言从train_generator 中提取X_trainy_train

 history=model.fit_generator(train_generator, 
                             steps_per_epoch=num_of_train_samples // batch_size,
                             epochs=10, validation_data=validation_generator, 
                             validation_steps=num_of_val_samples // batch_size, 
                             callbacks=callbacks)

【问题讨论】:

    标签: python-3.x machine-learning deep-learning cross-validation


    【解决方案1】:

    嗯,首先你没有编写声明这个 train_generator 的那段代码。

    由于它似乎是 keras 方式的生成器,因此您应该通过循环 train_generator 来访问 X_train 和 y_train。

    这意味着 train_generator[0] 将为您提供第一批 X_train/y_train 对。

    x_train = []
    y_train = []
    for x, y in train_generator:
        x_train.append(x)
        y_train.append(y)
    

    【讨论】:

    • train_generator = train_datagen.flow_from_directory(train_data_path, target_size=(img_rows, img_cols), batch_size=batch_size, class_mode='categorical', shuffle=False)
    • 直接来自文档:train_generator id "A DirectoryIterator 产生 (x, y) 的元组,其中 x 是一个 numpy 数组,包含一批形状为 (batch_size, *target_size, channels) 的图像,y 是对应标签的 numpy 数组。”。我正在编辑我的答案,以便您可以粘贴它
    • 我用这段代码打印了数组,但是输出没有!!! x_train = [] y_train = [] for x, y in train_generator: print(x_train.append(x)) print(y_train.append(y))
    • 你正在打印函数的输出,显然它不能完全粘贴代码,在 for 循环之后你可以 print(x_ttain) 和 print(y_train)
    • 非常感谢 faucozo,,,我尝试使用 CNN 实现集成学习,这就是为什么我需要 x_train 和 y_train ...如果你知道集成示例,请告诉我。B.Regards
    猜你喜欢
    • 2021-05-06
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多