根据批次大小,哈希存储桶大小,CPU上的内存等来调整Tensorflow估算器?

时间:2019-03-16 01:58:32

标签: tensorflow tensorboard tensorflow-estimator

我们正在测试各种估计器,例如LinearEstimator,DNNClassifier等。目前,我们仅限于使用CPU进行训练,并且我们正在测试参数和杠杆,例如

  • CPU:8〜32 cpu's
  • 内存:16〜48 GB
  • 批处理/缓冲区大小(dataset.batch(n)):n = 128〜512
  • 哈希存储桶大小:10,000〜500,000
  • 线程数:默认为Tensorflow,应为逻辑核心数
  • Optimizer:GradientDescent,FtrlOptimizer

结果:每秒全局步数* batch_size约为20〜50

因此,我们通过Tensorboard每秒获得的全局步数* bucket_size约为20〜50,并且CPU和内存的增加有其局限性。

我们看到与Optimizer及其配置有关的类似结果。

我们在做错什么,还有其他可以利用的杠杆吗?您可以优化模型训练方法的数量是否有限制,我们应该继续使用GPU并利用其矩阵乘法效率吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Dataset API优化输入管道。考虑将您的数据转换为tfrecords,它可以带来实质性的改进。如果有多个CPU,则可以设置集群。但这全都取决于您拥有什么数据。看看

https://rextester.com/TWMLD53466

https://www.tensorflow.org/guide/performance/datasets