Keras fit_generator运行非常缓慢

耶伦克

我有一个声明为以下代码的Keras模型:

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.LSTM(units=50, activation="tanh", return_sequences=False, input_shape=(settings["past_size"], len(indicators_used))))
model.add(tf.keras.layers.Dense(3, activation="softmax"))

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
history = model.fit_generator(
    generator=batch_generator(train_x, train_y),
    steps_per_epoch=n_batches_per_epoch,
    epochs=settings["epochs"],
    workers=5,
    use_multiprocessing=True,
    max_queue_size=10000)

我尝试了workersuse_multiprocessingmax_queue_size设置,但无济于事。输入形状为(100000, 500, 27)

批处理生成器函数如下所示:

def batch_generator(x, y):
    while True:
        for i in range(n_batches_per_epoch):
            x_train = []
            y_train = []
            for j in range(settings["past_size"] + settings["batch_size"] * i, settings["past_size"] + (settings["batch_size"] * (i + 1))):
                x_train.append(x.iloc[j - past_size:j].to_numpy())
                y_train.append(y.iloc[j].to_numpy())
            return_x, return_y = np.array(x_train), np.array(y_train)
            yield return_x, return_y

执行时间:

  • 批次大小256: 767ms/step
  • 批次大小512: 1s/step
  • 批量大小1024: 2s/step

我现在面临的问题是Keras培训过程非常缓慢。一个纪元大约需要45分钟。我无法使用,model.fit()因为数据对于RAM而言太大。

我对batch_generator功能的理解是,该功能可以准备批并将其加载到GPU / TPU上,但事实并非如此。此代码与TPU运行时一起在Google Colab中运行。

用户名

在Google colab环境中,您需要将模型显式转换为TPU兼容版本。这是我上次与Google Colab合作时的错误。

TPU_WORKER = 'grpc://' + os.environ['COLAB_TPU_ADDR']
tpu_model = tf.contrib.tpu.keras_to_tpu_model(
    model,
    strategy=tf.contrib.tpu.TPUDistributionStrategy(
    tf.contrib.cluster_resolver.TPUClusterResolver(TPU_WORKER)))

tpu_model具有与相同的界面model

指南:https//medium.com/tensorflow/tf-keras-on-tpus-on-colab-674367932aa0

不幸的是,这似乎不适用于Sequentialapi。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras ---在fit_generator()期间冻结训练

来自分类Dev

使用.fit_generator()在keras中训练GAN

来自分类Dev

AsyncResult在tensorflow keras的fit_generator中意外挂起

来自分类Dev

Keras fit_generator(),这是正确的用法吗?

来自分类Dev

Keras `fit_generator` 的验证准确度低,而 `fit` 则不然

来自分类Dev

Keras:如何将fit_generator与不同类型的多个输出一起使用

来自分类Dev

Keras fit_generator()在Colab上不显示准确性

来自分类Dev

使用keras fit_generator的Tensorboard回调,``函数''没有属性``fetch_callbacks''

来自分类Dev

在Keras fit_generator中将shuffle设置为True时,精度会降低

来自分类Dev

Python无法将fit_generator应用于具有多个输入的keras模型

来自分类Dev

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

来自分类Dev

使用 fit_generator 时,Keras 模型的批量大小为 1

来自分类Dev

使用fit_generator拟合keras模型时如何修复“MemoryError”?

来自分类Dev

将keras fit_generator与max_queue_size,worker和use_multiprocessing一起使用

来自分类Dev

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

来自分类Dev

在图中运行keras.Models.fit()

来自分类Dev

Keras Generator 无故循环

来自分类Dev

class_weight='auto' for model.fit_generator keras

来自分类Dev

在Keras中多次调用“ fit”

来自分类Dev

fit_generator和fit的精度不同

来自分类Dev

在Keras中反向运行模型

来自分类Dev

在Keras中反向运行模型

来自分类Dev

在 Keras 中为 fit_generate() 创建自定义 data_generator

来自分类Dev

Keras model.fit_generator() 提供 0.0% 的验证准确度

来自分类Dev

VBA宏运行非常缓慢

来自分类Dev

句子解析运行非常缓慢

来自分类Dev

VBA宏运行非常缓慢

来自分类Dev

循环功能运行非常缓慢

来自分类Dev

Python Keras运行错误(语法无效)

Related 相关文章

  1. 1

    Keras ---在fit_generator()期间冻结训练

  2. 2

    使用.fit_generator()在keras中训练GAN

  3. 3

    AsyncResult在tensorflow keras的fit_generator中意外挂起

  4. 4

    Keras fit_generator(),这是正确的用法吗?

  5. 5

    Keras `fit_generator` 的验证准确度低,而 `fit` 则不然

  6. 6

    Keras:如何将fit_generator与不同类型的多个输出一起使用

  7. 7

    Keras fit_generator()在Colab上不显示准确性

  8. 8

    使用keras fit_generator的Tensorboard回调,``函数''没有属性``fetch_callbacks''

  9. 9

    在Keras fit_generator中将shuffle设置为True时,精度会降低

  10. 10

    Python无法将fit_generator应用于具有多个输入的keras模型

  11. 11

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

  12. 12

    使用 fit_generator 时,Keras 模型的批量大小为 1

  13. 13

    使用fit_generator拟合keras模型时如何修复“MemoryError”?

  14. 14

    将keras fit_generator与max_queue_size,worker和use_multiprocessing一起使用

  15. 15

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

  16. 16

    在图中运行keras.Models.fit()

  17. 17

    Keras Generator 无故循环

  18. 18

    class_weight='auto' for model.fit_generator keras

  19. 19

    在Keras中多次调用“ fit”

  20. 20

    fit_generator和fit的精度不同

  21. 21

    在Keras中反向运行模型

  22. 22

    在Keras中反向运行模型

  23. 23

    在 Keras 中为 fit_generate() 创建自定义 data_generator

  24. 24

    Keras model.fit_generator() 提供 0.0% 的验证准确度

  25. 25

    VBA宏运行非常缓慢

  26. 26

    句子解析运行非常缓慢

  27. 27

    VBA宏运行非常缓慢

  28. 28

    循环功能运行非常缓慢

  29. 29

    Python Keras运行错误(语法无效)

热门标签

归档