1

我在 TensorFlow 中有一组变量,假设x1, x2,..., x9
我试图以这样一种方式转移变量的数据,这种方式x(i+1)转移x(i)并最终x1丢失并且x9是相同的。我尝试的是创建一个移位操作字典 using tf.assign(),它有效但速度很慢。

我正在考虑的一种方法是制作一个 a 数组,Variable然后使用数组本身移动tf.gather()tf.scatter_update()但由于需要进行大量操作,这将再次变得一团糟。

我想知道在 TensorFlow 中是否有一种很好的简洁方法。我想的另一种方法是重命名我认为不可能的变量。

初始代码:

    #some tf.Variables are defined from n1 to n9 and assigned some values.
    k={}
    for i in range(1,10):             
        k[i]=tf.assign(n[i],n[i+1])   
    tf.initialize_all_variables().run()
    for j in range(1,10):
        sess.run(k[j]) 
4

1 回答 1

1

您是否考虑过将代码重写为一系列切片操作?一般来说,如果您可以将您需要做的事情表达为对不可变对象的一系列操作,而不是更改变量,那么 TensorFlow 效果最好。你会做一些事情,比如tf.slice(n0, [1], [-1])提取重复的序列。

于 2016-06-14T01:34:41.860 回答