当通过“fit_generator”函数训练模型时,如何通过数据生成器生成验证数据?

塔哈06

我正在通过data generator下面添加的a 生成我的图像字幕模型的训练数据此模型基于此处提供的模型如何在训练期间以类似的方式生成和设置验证数据?我确实有验证图像及其标题的功能。

数据生成器:

def data_generator(all_train_captions, train_features, wordtoix, max_length, num_photos_per_batch, vocab_size):
    X1, X2, y = list(), list(), list()
    n = 0
    # loop for ever over images
    while True:
        for image_id, desc in all_train_captions.items():
            image_id = image_id.strip()

            n += 1
            # retrieve the photo feature
            photo = train_features[image_id]
            # encode the sequence
            seq = [wordtoix[word] for word in desc.split(' ') if word in wordtoix]
            # split one sequence into multiple X, y pairs
            for i in range(1, len(seq)):
                # split into input and output pair
                in_seq, out_seq = seq[:i], seq[i]
                # pad input sequence
                in_seq = pad_sequences([in_seq], maxlen=max_length)[0]
                # encode output sequence
                out_seq = to_categorical([out_seq], num_classes=vocab_size)[0]
                # store
                X1.append(photo)
                X2.append(in_seq)
                y.append(out_seq)
            # yield the batch data
            if n == num_photos_per_batch:
                yield [[array(X1), array(X2)], array(y)]
                X1, X2, y = list(), list(), list()
                n = 0

模型训练

generator = data_generator(all_train_captions, encoding_train, wordtoix, max_caption_length,
                           number_pics_per_bath, vocab_size)
history = model.fit_generator(generator, epochs=epochs, steps_per_epoch=steps, callbacks=callbacks, verbose=1)

psKerasTensorFlow后端用作深度学习库。

丹尼尔·默勒

你需要另一个发电机。

一种用于训练,一种用于验证。只需创建两个生成器,一个使用训练数据,另一个使用验证数据。

train_generator = data_generator(all_train_captions, encoding_train, wordtoix, max_caption_length, 
                                 number_pics_per_bath, vocab_size)
val_generator = data_generator(all_val_captions, encoding_val, wordtoix, max_caption_length, 
                               number_pics_per_bath, vocab_size)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用支持生成器的Model.fit(在fit_generator弃用之后)

在Keras中训练GAN时,是否需要多次通过才能优化生成器和鉴别器?

通过注释生成器在Zend Framework 2表单中填充关系数据

Keras:文本数据上带有fit_generator()的令牌生成器

Keras中的fit_generator是否应该在每个时期后重置生成器?

当训练数据对于fit()太大时,如何知道何时在keras中使用fit_generator()?

在训练keras模型时,如何使用数据生成器更快地生成数据?

将自定义R生成器函数与fit_generator(Keras,R)结合使用

使用数据集生成器的Tensorflow model.fit()

关于在Keras fit_generator中使用的python中的数据生成器的困惑

通过Tensorflow数据集生成器迭代批次

将验证数据传递给Keras Sequential中的.fit时无法识别生成器

使用图像数据生成器评估keras模型

如何在tensorflow中使用keras.utils.Sequence数据生成器和tf.distribute.MirroredStrategy进行多GPU模型训练?

ValueError:使用Fit_generator时,生成器的输出应为元组`(x,y,sample_weight)`或`(x,y)`。

如何提高数据生成器的效率?

如何将数据框添加到通过熊猫生成器创建的另一个数据框

如何将自定义数据生成器输入到model.fit中,该生成器生成X,y和一个附加数组到tensorflow.keras模型中?

通过数据绑定到ItemsControl自动生成内容

如何获得模型的空生成器?

报表生成器-执行`Sum()`函数时防止重复数据

Keras fit_generator 使用输入和输出图像生成器“ndim”错误

Keras fit_generator 一次训练一个样本,而我从生成器中输出不止一个样本

使用 fit_generator 批量训练模型

如何使用生成器或其他方式设置 TF 2.4 训练数据

如何通过查看 AST 从生成器中分辨出正常的 Python 函数?

报表生成器聚合函数与 power bi 数据集

如何映射从数据生成器 (flow_from_directories) 构建的 keras 模型的预测输出

如何使用数据生成器来训练自动编码器?