Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 逐片遍历无向量片_Python_Theano - Fatal编程技术网

Python 逐片遍历无向量片

Python 逐片遍历无向量片,python,theano,Python,Theano,假设我有一个长度为30的向量x=[0.1,0.2,0.1,0.1,0.2,0.4]。这个向量被theano张量包裹 我想创建一个新的向量,大小与x相同,但将每3个大小的切片元素设置为它们的总和,然后对接下来的3个元素执行相同的操作,以此类推 在本例中,第一个3长度切片的总和为0.4,第二个为0.7,因此r=[0.4,0.4,0.4,0.7,0.7,0.7] 我该怎么做?是否使用唯一方法?您可以在numpy中执行以下操作: import numpy as np x = np.array([0.1,

假设我有一个长度为30的向量
x=[0.1,0.2,0.1,0.1,0.2,0.4]
。这个向量被theano张量包裹

我想创建一个新的向量,大小与
x
相同,但将每3个大小的切片元素设置为它们的总和,然后对接下来的3个元素执行相同的操作,以此类推

在本例中,第一个3长度切片的总和为0.4,第二个为0.7,因此
r=[0.4,0.4,0.4,0.7,0.7,0.7]


我该怎么做?是否使用唯一方法?

您可以在numpy中执行以下操作:

import numpy as np
x = np.array([0.1, 0.2, 0.1, 0.1, 0.2, 0.4])
y = (x.reshape(-1, 3).mean(1)[:, np.newaxis] * np.ones(3)).ravel()

print(y)
在theano中,您可以以非常类似的方式进行操作:

import theano
import theano.tensor as T

xx = T.fvector()
yy = (xx.reshape((-1, 3)).mean(axis=1).reshape((-1, 1)) * T.ones(3)).ravel()

print(yy.eval({xx: x.astype('float32')}))