Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tensorflow feed_dict具有数组而不是单个值_Python_Tensorflow - Fatal编程技术网

Python tensorflow feed_dict具有数组而不是单个值

Python tensorflow feed_dict具有数组而不是单个值,python,tensorflow,Python,Tensorflow,我目前正在尝试使用tensorflow来训练一个用于回归目的的神经网络,这样我就可以将输入映射到输出。输入由一个经过采样和加帧的音频场组成,每个帧都有一定的输出 存储输入(音频帧)(例如,实际数据非常大): 输出存储为: [array([[ 4.53255900e+01, -9.82247700e+00, -1.22920200e+00, -6.81728800e+00, -8.23808400e+00, -1.42367900e+01, -4.64

我目前正在尝试使用tensorflow来训练一个用于回归目的的神经网络,这样我就可以将输入映射到输出。输入由一个经过采样和加帧的音频场组成,每个帧都有一定的输出

存储输入(音频帧)(例如,实际数据非常大):

输出存储为:

[array([[  4.53255900e+01,  -9.82247700e+00,  -1.22920200e+00,
         -6.81728800e+00,  -8.23808400e+00,  -1.42367900e+01,
         -4.64904100e+00,  -1.49673100e+01,  -4.75058700e+00,
         -7.54071600e+00,   5.11365500e+00,   9.80618400e+00,
         -6.03554700e-01],....,[...]])]
这是我的代码:

number_of_examples = len(train_data)/2
train_set_data = train_data[:number_of_examples]
train_set_output = train_output_data[:number_of_examples]

test_set_data = train_data[number_of_examples:]
test_set_output = train_output_data[number_of_examples:]
############################# Training setup ##################################
# Parameters
learning_rate = 0.01
training_epochs = 1000
display_step = 50

# tf Graph Input
X = tf.placeholder("float")
Y = tf.placeholder("float")
n_samples = train_set_data[0].shape[0]

# Set model weights
W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")


# Construct a linear model
pred = tf.add(tf.mul(X, W), b)


# Mean squared error
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
# Gradient descent
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)


# Initializing the variables
init = tf.initialize_all_variables()

# Launch the graph
with tf.Session() as sess:
    sess.run(init)

    # Fit all training data
    for epoch in range(training_epochs):
        for i in range(len(train_set_data)):
            for (x, y) in (train_set_data[i], train_set_output[i]):
                sess.run(optimizer, feed_dict={X: x, Y: y})

            #Display logs per epoch step
            if (epoch+1) % display_step == 0:
                c = sess.run(cost, feed_dict={X: train_set_data, Y:train_set_output})
                print "Epoch:", '%04d' % (epoch+1), "cost=", "{:.9f}".format(c), \
                    "W=", sess.run(W), "b=", sess.run(b)

        print "Optimization Finished!"
        training_cost = sess.run(cost, feed_dict={X: train_set_data, Y: train_set_output})
        print "Training cost=", training_cost, "W=", sess.run(W), "b=", sess.run(b), '\n'
问题是我收到了一条错误消息

File "tensorflow_datapreprocess_mfcc_extraction_rnn.py", line 191, in <module>
    for (x, y) in (train_set_data[i], train_set_output[i]):
ValueError: too many values to unpack
文件“tensorflow\u datapreprocess\u mfcc\u extraction\u rnn.py”,第191行,在
对于(x,y)in(列集合数据[i],列集合输出[i]):
ValueError:要解压缩的值太多
我不确定我是否理解错误消息,它是说我不能传递数组还是我必须传递单个值

for (x, y) in (train_set_data[i], train_set_output[i])
可能没有做你认为它正在做的事情。你是想用zip()吗


可能没有做你认为它正在做的事情。你是想用zip()吗

该脚本没有做您想做的事情,要做您想使用的事情:

   ...
   for epoch in range(training_epochs):
       for (x, y) in zip(train_set_data, train_set_output):
           sess.run(optimizer, feed_dict={X: x, Y: y})
     ...

该脚本不是在做您想做的事情,而是在做您想使用的事情:

   ...
   for epoch in range(training_epochs):
       for (x, y) in zip(train_set_data, train_set_output):
           sess.run(optimizer, feed_dict={X: x, Y: y})
     ...

不我打算每次将一个数组作为输入馈送到tensorflow,而不输出任何其他内容。那么在给定([1,2,3,4],[5,6,7,8])的情况下,您希望x,y取什么值呢。在我的情况下,我有两个清单如上所述。我想要x=[1,2,3,…,2048]和y=[1,2,3,…,13]我没有在任何地方指定输入的长度?
train\u set\u data
train\u set\u output
都有特定的数据表示。。我不确定把它们拉在一起会有什么结果不。。。我打算每次将一个数组作为输入馈送到tensorflow,而不输出任何其他内容。那么在给定([1,2,3,4],[5,6,7,8])的情况下,您希望x,y取什么值呢。在我的情况下,我有两个清单如上所述。我想要x=[1,2,3,…,2048]和y=[1,2,3,…,13]我没有在任何地方指定输入的长度?
train\u set\u data
train\u set\u output
都有特定的数据表示。。我不确定将它们压缩在一起会产生什么结果严格来说,他的语法很好,语义是错误的:)但我已经告诉他使用zip()。这里有点混乱。严格地说,他的语法是好的,语义是错误的:)但我已经告诉他使用zip()。这里有点混乱。