首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在Google Cloud ML上训练的TensorFlow模型比在本地训练的模型更准确?

为什么在Google Cloud ML上训练的TensorFlow模型比在本地训练的模型更准确?
EN

Stack Overflow用户
提问于 2018-08-23 08:09:17
回答 1查看 343关注 0票数 0

我训练了一个对象检测API模型(使用动物园的COCO / Inception v2的Mask RCNN ),具有相同的配置,TensorFlow和模型版本,以及相同数量的步骤的相同(自定义)数据集。

在本地机器(1080TI上的tensorflow-gpu)上,我使用了object_object/Train.py,而在云上,我使用了调用object_detection.train模块的google ml-engine作业。两者使用相同的学习率。

云运行使用了5个工作进程,而本地运行只有1个GPU。它们都被设置为批处理大小为1。

为什么本地训练的模型的准确性要低得多?本地训练的模型往往比云训练的模型有更多的假阳性。

更重要的是,我可以做些什么来使我在本地机器上的训练达到云的水平?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 13:57:22

看起来你在云上使用了5个工作者,而你在本地只使用了一个GPU?那么,批处理大小就不同了。

有效批处理大小是您在命令行上设置的批处理大小除以工作进程数。而且看起来更小的批量在你的模型上工作得很好。因此,要获得更高的本地训练精度,请将批量大小减少到值的1/5。

此外,如果差异如此显著,您可以明显地看出云模型更好,那么也许您应该进行超参数调优,以找到更好的参数。在BASIC_GPU设置上执行此操作,以便云上的相同设置也将在本地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51976733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档