2016-09-27 186 views

回答

5

当创建TensorFlow optimizer或变量assignment op时,通过use_locking=True会导致在变量的相关更新周围获取锁定。将使用use_locking=True创建的同一变量上的其他优化器/赋值将被序列化。

然而,有两个警告,你应该考虑使用该选项时承担:

  • 读取到下锁不执行变量,因此可以看到中间状态和部分应用的更新。序列化读取需要额外的协调,例如由tf.train.SyncReplicasOptimizer提供的协调。

  • 写入(优化器/赋值)与use_locking=False相同的变量仍然是可能的,并且不会获取该锁。程序员负责确保不会发生这些写操作。

相关问题