首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >use_locking=True在TensorFlow优化器中做什么?

use_locking=True在TensorFlow优化器中做什么?
EN

Stack Overflow用户
提问于 2016-09-27 04:21:02
回答 1查看 5.2K关注 0票数 10

它是否只对异步更新进行保护,还是也会导致其他对变量的访问等待更新?我同时使用相同的模型进行训练和推理,并希望确保推理总是在一致的模型上进行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 04:39:32

在创建TensorFlow 优化器或变量分配 op时传递优化器将导致在对该变量进行相关更新时获取锁。使用use_locking=True创建的同一变量上的其他优化器/赋值也将被序列化。

但是,在使用此选项时,应该记住的两个注意事项

  • 对变量的读取不是在锁下执行的,因此可以看到中间状态和部分应用的更新。序列化读取需要额外的协调,如tf.train.SyncReplicasOptimizer提供的协调。
  • 使用use_locking=False向同一个变量写入(优化器/赋值)仍然是可能的,并且不会获得锁。程序员负责确保这些写入不会发生。
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39715915

复制
相关文章

相似问题

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