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。

最新文章

  1. 实现代理设置proxy
  2. 获取linux服务器基本信息脚本
  3. Oracle数据库备份与还原操作具体步骤
  4. [C] tcharall(让所有平台支持TCHAR)v1.1。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
  5. [设计模式] javascript 之 适配器模式
  6. Jquery中的 height(), innerHeight() outerHeight()区别
  7. 约瑟夫问题 java
  8. jquery学习全面总结
  9. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程01: 资源导入》
  10. python版本简历
  11. SMO(Sequential Minimal Optimization) 伪代码(注释)
  12. [Google Code Jam (Round 1A 2008) ] A. Minimum Scalar Product
  13. iOS开发获取缓存文件的大小并清除缓存
  14. sublime中css输入分号后自动提示的烦恼
  15. linux 查看网卡流量:sar
  16. 【BZOJ4391】[Usaco2015 dec]High Card Low Card(贪心)
  17. 【Unity笔记】用代码动态修改Animator状态机的状态
  18. Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化
  19. 观 浅谈HTTP中Get与Post的区别
  20. json和jsonp的区别(转)

热门文章

  1. SourceTree 免登录
  2. [转载].NET Core 轻量级模板引擎 Mustachio
  3. 9、VUE过渡和动画
  4. MySQL UNION 操作符
  5. C# 调用打印机打印文件
  6. 整理:C#常用字符串操作,常用数值类型转换
  7. 2019 上海轻轻java面试笔试题 (含面试题解析)
  8. File类---Day28
  9. C# 实体对象作为参数统一去除空格
  10. Objective-C的self.用法