对于大多数人我怀疑是一个相当简单的问题,虽然我似乎无法找到答案。
我有一个接收一维数组并返回另一个数组的函数。
目前我正在使用for循环多次运行此函数,但我建议我可以增加迭代次数,如果我要创建一个函数,使得一个长度等于1的数组的数组我想要的迭代次数,然后将我的函数应用于这个数组。
例如:
inputs = np.array([23.,56,69])
def do_model(array):
... do magic ...
return new_array
我现在所拥有的:
outputs= np.array([np.array([do_model(inputs) for x in xrange(iterations)])
我想要的是什么:
def run_model(iterations, inputs):
# generate a 1D array of length iteration containing the input array
my_array = np.full((1,int(iterations)), inputs)
outputs = run_model(iterations, inputs)
# run my function on the array
return do_model(empty)
当我尝试创建my_array
5次迭代时,我收到以下错误:
ValueError: could not broadcast input array from shape (3) into shape (1,5)
我尝试使用dtype
关键字参数指定数组应由另一个数组填充:
my_array = np.full((1,int(iterations)), inputs,dtype=np.ndarray
)
认为没有用。
欢迎任何帮助,
我问的原因是我尝试在数百万次迭代中运行代码,目前我有内存错误。