您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Keras的预测时间不一致

Keras的预测时间不一致

在我遇到的几个实例中,TF2通常表现出较差且类似错误的内存管理-在此处此处进行简要说明。特别是对预测而言,最有效的喂养方法model(x)直接通过- 参见此处及其相关链接的讨论。

概括地说:model(x)通过其它的作用__call__方法(其从继承base_layer.Layer),而predict()predict_classes()等经由涉及专用回路功能_select_training_loop(); 每种工具都利用了适合不同用例的不同数据预处理和后处理方法,并且model(x)在2.1版中专门针对产生最快的小模型/小批量(可能是任意大小)性能(在2.0版中仍然最快)进行了设计。

链接的讨论中引用TensorFlow开发人员:

您可以使用模型调用而不是模型预测来预测输出,即,model(x)由于没有“转换为数据集”部分,并且直接调用cached ,因此调用会更快tf.function

注意 :在2.1,尤其是2.2中,这应该不是一个大问题- 但无论如何都要测试每种方法。我也意识到这并不能直接回答您关于时间高峰的问题;我怀疑这是关系到渴望缓存机制,但确定最可靠的方法是通过TF Profiler,这是2.1。

:关于尖峰的 增加 ,GPU可能的节流;您已完成约1000次迭代,请尝试10,000次-最终,应停止增加。正如您在评论中指出的那样,这不会发生model(x);之所以有意义,是因为它减少了一个GPU步骤(“转换为数据集”)。

:如果您遇到此问题,可以在这里与开发人员联系。大部分是我在那里唱歌

其他 2022/1/1 18:33:26 有388人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶