我有data
这是一个包含不同维度的特征和目标的ndarray。这似乎给出了张量流问题。
如果我有一个功能:
def cost(self,data):
return self.sess.run(self.cost_function, feed_dict={self.input:data[:,0], self.targets:data[:,1]})
这会产生ValueError: setting an array element with a sequence
。
这似乎是因为feed_dict
没有将我的输入识别为numpy数组。我认为这是因为功能和目标具有不同的维度,ndarray
存在问题;如果我有{100}对data
,那么它的形状为(100,2)
。如果我然后对它进行切片:data[:,0].shape=(100,)
和data[:,1].shape=(100,)
,那么即使切片后也无法识别要素/目标向量的长度。
我通过事先将data
分成feats
和targs
来解决问题,正确地返回了他们的形状。
我的问题是,这是正常的 - 这应该是这样吗?或者我只是做错了什么?使用data
而不是一直传递两个变量会更好。
编辑:
self.input = tf.placeholder("float",shape=[None,39])
self.targets = tf.placeholder("float",shape=[None,949])
data
的尺寸应该是不言自明的。