是否可以更快地生成以下代码?

时间:2016-12-04 10:49:00

标签: python numpy theano sympy

提供的代码完全正常,但我想提高它的效率(如果可能的话)。

我的问题是是否可以更有效地生成数组func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage { let scale = newWidth / image.size.width let newHeight = image.size.height * scale UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight)) image.drawInRect(CGRectMake(0, 0, newWidth, newHeight)) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage } 。特别是,是否可以通过np_b计算theano_f的所有元素的函数np_a,以便应用广播(?)或向量化(?)?

请注意,我已经简化了我的实际问题,并且我必须使用某些sympy函数中的theano_f(*np_a)生成theano_f,而实际的数组theano_function包含许多元素。

np_a

1 个答案:

答案 0 :(得分:0)

也许试试np.apply_along_axis

>>> def my_func(a):
...     """Average first and last element of a 1-D array"""
...     return (a[0] + a[-1]) * 0.5
>>> b = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> np.apply_along_axis(my_func, 0, b)
array([ 4.,  5.,  6.])
>>> np.apply_along_axis(my_func, 1, b)
array([ 2.,  5.,  8.])