flowers_tf_lite.ipynb-训练模型

时间:2020-04-07 11:14:58

标签: tensorflow google-colaboratory

我在flowers_tf_lite.ipynb测试了示例笔记本,但是当我进入训练单元时,它没有运行。

似乎总是无穷远

Train the model - Unknown

2 个答案:

答案 0 :(得分:0)

它实际上正在运行,您看到的Unknown是因为fit_generator似乎无法弄清楚数据集中有多少批次。我尝试在steps_in_epoch中使用fit_from_generator参数,这引发了与库有关的其他问题。

一种解决方法是,当您认为性能足够好时,手动停止培训,然后继续笔记本的其余部分。您可以通过按单元格左上方或“运行时菜单”中的“停止”按钮来停止当前执行。

答案 1 :(得分:0)

@Pedro Asseiro实际上,迭代器可以动态生成数据。因此,数据集迭代器的长度是未知的,直到您对其进行至少一次迭代。您可以将steps_per_epoch参数传递到model.fit_generator,如下所示。然后,它会按预期打印。

with tf.device("/device:GPU:0"):
  history = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
                    epochs=epochs, 
                    validation_data=val_generator,validation_steps=len(val_generator))

编辑1:

@Pedro Asseiro @gokul_uf我会根据您的评论更新上述代码。您需要添加steps_per_epochvalidation_steps。我进行的另一项更改是在GPU下运行model.fit。而且,在微调部分,我对model.fit做了完全相同的事情。

with tf.device("/device:GPU:0"):
  history_fine = model.fit_generator(train_generator, steps_per_epoch=len(train_generator),
                         epochs=5,
                         validation_data=val_generator,validation_steps=len(val_generator))

请检查GitHub gist here。谢谢!

请让我知道是否有任何故障。谢谢!