首页 > 其他 > 详细

TensorFlow分布式训练MNIST分类器

时间:2019-05-13 21:40:03      阅读:155      评论:0      收藏:0      [点我收藏+]

http://c.biancheng.net/view/2004.html

本节以分布式方式训练完整的 MNIST 分类器。

该案例受到下面博客文章的启发:http://ischlag.github.io/2016/06/12/async-distributed-tensorflow/,运行在 TensorFlow 1.2 上的代码可以在网址https://github.com/ischlag/distributed-tensorflow-example上找到。

注意,这个案例基于上一节,所以按顺序阅读可能会很方便。

具体做法

  1. 导入一些标准模块并定义运行计算的 TensorFlow 集群,然后为指定任务启动服务:

    技术分享图片
     
  2. 读取 MNIST 数据并定义用于训练的超参数:

    技术分享图片
     
  3. 检查角色是参数服务器还是 worker,如果是 worker 就定义一个简单的稠密神经网络,定义一个优化器以及用于评估分类器的度量(例如精确度):

    技术分享图片
     
  4. 启动一个监督器作为分布式设置的主机,主机是管理集群其余部分的机器。会话由主机维护,关键指令是 sv=tf.train.Supervisor(is_chief=(FLAGS.task_index==0))。另外,通过 prepare_or_wait_for_session(server.target),监督器将等待模型投入使用。请注意,每个 worker 将处理不同的批量模型,然后将最终的模型提供给主机:

    技术分享图片

这个案例描述了一个分布式 MNIST 分类器的示例,在这个例子中,TensorFlow 允许定义一个三台机器的集群,一个用作参数服务器,另外两个用作独立批量训练数据的 worker。

TensorFlow分布式训练MNIST分类器

原文:https://www.cnblogs.com/DjangoBlog/p/10858972.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!