【发布时间】:2018-09-04 15:28:18
【问题描述】:
我正在尝试从低层次的角度开发一个 seq2seq 模型(由我自己创建所需的所有张量)。我试图为模型提供一系列向量作为二维张量,但是,我无法迭代张量的一维以逐个向量提取向量。有谁知道我可以做些什么来喂一批向量,然后一个接一个地得到它们?
这是我的代码:
batch_size = 100
hidden_dim = 5
input_dim = embedding_dim
time_size = 5
input_sentence = tf.placeholder(dtype=tf.float64, shape=[embedding_dim,None], name='input')
output_sentence = tf.placeholder(dtype=tf.float64, shape=[embedding_dim,None], name='output')
input_array = np.asarray(input_sentence)
output_array = np.asarray(output_sentence)
gru_layer1 = GRU(input_array, input_dim, hidden_dim) #This is a class created by myself
for i in range(input_array.shape[-1]):
word = input_array[:,i]
previous_state = gru_encoder.h_t
gru_layer1.forward_pass(previous_state,word)
这是我得到的错误
TypeError: Expected binary or unicode string, got <tf.Tensor 'input_7:0' shape=(10, ?) dtype=float64>
【问题讨论】:
-
只是一个猜测,但我认为 tensorflow 使用 numpy 数组来做这种事情,所以我会查看 numpy 文档。
-
您能否在an example 上发布您所拥有的以及您想获得的确切信息?
-
我虽然也一样,但这根本行不通。我之前尝试通过
np.asarray传递张量,但它无法将张量识别为数组
标签: python tensorflow