gpt4 book ai didi

callback - 凯拉斯 2.0.0 : how to access and modify the training data in the callback function "on_epoch_end()"?

转载 作者:行者123 更新时间:2023-12-01 05:58:09 25 4
gpt4 key购买 nike

我在 Theano 中使用 Keras 2.0.0。

我想更新每个时期之间的训练数据。我可以使用 nb_epochs=1 在 for 循环中完成它,但使用 on_epoch_end 回调会更优雅。

这是我的暂定代码,基于 Keras 1 示例( blog post ):

class callback_change_X_train(keras.callbacks.Callback):

def on_epoch_end(self, epoch, logs={}):
X_train = my_function_to_update_X_train(...)
self.model.training_data[0] = X_train

不幸的是,似乎 self.model.training_data 不再存在。

非常感谢任何帮助!

最佳答案

刚刚自己遇到了这个问题并使用 model.fit_generator 解决了它方法而不是标准 fit方法。您可以通过这种方式对每个时期的数据进行一些修改。我不确定您是否可以访问 model以这种方式对象本身,但对于我的问题,我只需要沿内轴之一对数据进行洗牌。
示例代码:

def shuffle_gen(x_train, y_train):
while True:
shuffle_inner_axis(x_train, y_train)
for b_i in range(steps_per_epoch):
yield(x_train[b_i * batch_size:(b_i + 1) * batch_size],
y_train[b_i * batch_size:(b_i + 1) * batch_size])
return

model.fit_generator(shuffle_gen(x_train, y_train), steps_per_epoch, n_epochs)

关于callback - 凯拉斯 2.0.0 : how to access and modify the training data in the callback function "on_epoch_end()"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48103562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com