TensorFlow分布式训练MNIST分类器
2024-08-28 18:27:48
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上找到。
注意,这个案例基于上一节,所以按顺序阅读可能会很方便。
具体做法
- 导入一些标准模块并定义运行计算的 TensorFlow 集群,然后为指定任务启动服务:
- 读取 MNIST 数据并定义用于训练的超参数:
- 检查角色是参数服务器还是 worker,如果是 worker 就定义一个简单的稠密神经网络,定义一个优化器以及用于评估分类器的度量(例如精确度):
- 启动一个监督器作为分布式设置的主机,主机是管理集群其余部分的机器。会话由主机维护,关键指令是 sv=tf.train.Supervisor(is_chief=(FLAGS.task_index==0))。另外,通过 prepare_or_wait_for_session(server.target),监督器将等待模型投入使用。请注意,每个 worker 将处理不同的批量模型,然后将最终的模型提供给主机:
这个案例描述了一个分布式 MNIST 分类器的示例,在这个例子中,TensorFlow 允许定义一个三台机器的集群,一个用作参数服务器,另外两个用作独立批量训练数据的 worker。
最新文章
- 实现代理设置proxy
- 获取linux服务器基本信息脚本
- Oracle数据库备份与还原操作具体步骤
- [C] tcharall(让所有平台支持TCHAR)v1.1。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释
- [设计模式] javascript 之 适配器模式
- Jquery中的 height(), innerHeight() outerHeight()区别
- 约瑟夫问题 java
- jquery学习全面总结
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程01: 资源导入》
- python版本简历
- SMO(Sequential Minimal Optimization) 伪代码(注释)
- [Google Code Jam (Round 1A 2008) ] A. Minimum Scalar Product
- iOS开发获取缓存文件的大小并清除缓存
- sublime中css输入分号后自动提示的烦恼
- linux 查看网卡流量:sar
- 【BZOJ4391】[Usaco2015 dec]High Card Low Card(贪心)
- 【Unity笔记】用代码动态修改Animator状态机的状态
- Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化
- 观 浅谈HTTP中Get与Post的区别
- json和jsonp的区别(转)