我有一个模型,在这个模型中,我需要为权重(可训练变量)分配新的外部值,每N次迭代。
我可以想出几种解决方案:
在编写代码之前,我觉得问一问是个好主意?建议如何有效地为变量分配新的外部值(内存/时间)?
发布于 2017-04-24 10:56:38
在最近版本的Tensorflow中,Variable类有load方法。它能做你想做的事。
发布于 2017-04-23 20:08:45
你的第三选择听起来是最好的选择。
您可以将值提供给不是占位符的张量。
TensorFlow的提要机制允许您将数据注入计算图中的任意张量。因此,python计算可以将数据直接输入图形。
任何可喂食的张量都可以喂食。若要检查张量是否可喂食,请使用:tf.Graph.is_feedable(tensor)。
发布于 2017-04-23 15:55:10
您可以对占位符使用“分配”操作。
我将被迫在每个feed_dict中考虑这些占位符,并在每次运行图形中的任何操作时传递虚拟值。 此外,我将使用更多的内存,而不是必要的。
不是的。您只需要在运行赋值操作时将值提供给占位符。不要将赋值操作作为培训图的一部分,只在需要分配新值时才运行它们。
如果分配结果是一个瓶颈(对于小N,它可能会减慢您的程序),您可以考虑将数据输入到其他方法中。
https://stackoverflow.com/questions/43572545
复制相似问题