当前位置: 首页 > 面试题库 >

TypeError:'Tensor'对象不支持TensorFlow中的项目分配

邵正雅
2023-03-14
问题内容

我尝试运行以下代码:

outputs, states = rnn.rnn(lstm_cell, x, initial_state=initial_state, sequence_length=real_length)

tensor_shape = outputs.get_shape()
for step_index in range(tensor_shape[0]):
    word_index = self.x[:, step_index]
    word_index = tf.reshape(word_index, [-1,1])
    index_weight = tf.gather(word_weight, word_index)
    outputs[step_index,  :,  :]=tf.mul(outputs[step_index,  :,  :] , index_weight)

但是我在最后一行出现错误: TypeError: 'Tensor' object does not support item assignment
似乎我无法分配张量,如何解决?


问题答案:

通常,TensorFlow张量对象不可分配*,因此您不能在分配的左侧使用它。

做您想做的事情的最简单方法是构建张量的Python列表,并tf.stack()循环结束时将它们在一起:

outputs, states = rnn.rnn(lstm_cell, x, initial_state=initial_state,
                          sequence_length=real_length)

output_list = []

tensor_shape = outputs.get_shape()
for step_index in range(tensor_shape[0]):
    word_index = self.x[:, step_index]
    word_index = tf.reshape(word_index, [-1,1])
    index_weight = tf.gather(word_weight, word_index)
    output_list.append(tf.mul(outputs[step_index, :, :] , index_weight))

outputs = tf.stack(output_list)

*除tf.Variable对象外,使用Variable.assign()etc.方法。但是,rnn.rnn()可能返回tf.Tensor不支持此方法的对象。



 类似资料:
  • 问题内容: 我正在查看一些代码,并尝试将其翻译为,但是我仍然停留在本节中。任何人都可以澄清出什么问题吗? 这是给出的错误: 问题答案: 在Python 3中,返回一个惰性序列对象-它不返回列表。无法重新排列范围对象中的元素,因此不能重新排列它。 改组之前将其转换为列表。

  • 问题内容: 我在python中编写一个简单的排序程序,遇到此错误。我想交换列表元素,但返回错误。我在下面附上错误和相关程序。 码: 问题答案: 计算“ 1,2,3”的结果为。正如您所发现的,元组是不可变的。处理前转换为列表。

  • 问题内容: 当我运行该函数时,它会引发以下错误,这是为什么呢? 问题答案: 显然,您正在传递给函数。可能是用python2.x编写的(返回列表时)。使用python3.x时,返回一个行为更像a而不是a的对象。因此,无法对其进行索引。 解决方案是将(或简单地)传递给。

  • 问题内容: 我有这个查询: 我收到以下错误: some_id是一个整数,但我想选择具有some_id = 1的指标(或任何我决定放入变量的#)。 问题答案: 这会将参数转换为可索引的列表。假设您的方法像我想的那样工作,这应该工作。 发生错误是因为该方法中的某个地方,它可能试图遍历该输入或直接对其进行索引。可能是这样的: 通过使其成为列表(或可迭代的),您就可以像这样将其索引到第一个元素中。 您还可

  • 问题内容: 我一直在使用中矩阵乘法的入门示例。 当我打印产品时,它显示为一个对象: 但是我怎么知道价值呢? 以下内容无济于事: 我知道图形可以继续运行,但是没有任何方法可以在不运行图形的情况下检查对象的输出吗? 问题答案: 评估对象实际值的最简单方法[A]Tensor是将其传递给方法,或者在有默认会话时(即在一个:块中,或参阅下文)调用该方法。通常[B],如果不在会话中运行某些代码,就无法打印张量

  • 我正在开发一个多类分类问题(4类)的模型使用Keras和Tensorflow后端。的值具有二维格式: -----------------------------------------------------------------------------------------------------------------------------------------------------