3
그래서이 "문제"의 배경은 큰 파이썬 프로젝트를 최적화하려고합니다. 나는 프로그램 타이밍 시작과 실행 시간의 약 50 %가이 유사한 계산에 소요되는 것으로 나타났습니다 :이 빠르게 만들 수있는 방법을 찾기 위해 노력했습니다Numpy : 효율적인 행렬 계산 A * xj 여기서 xj는 X에서 행 j입니다
import numpy as np
# Example
A = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
X = np.random.multivariate_normal([0,0,0,0],np.eye(4),15000)
# Create a lambda function to use row based
F = lambda x: np.dot(A,x)
# Now calculating the value
answer = np.apply_along_axis(F, 1, X)
print answer.shape
하지만로 계속 실행 벽. 이게 정말이 일을하는 데 최적입니까?
와우! 이것은 놀라운 속도 증가입니다! 코드에서이 답변에 링크 해 드리겠습니다. thanks :) – Dammi
@piRSquared 안녕하세요! 글쎄 나는 이전에 그것을 보았고 요점은 나에게 의미가 있다는 것을 알았다. 나는 이미 그것을 좋아했다. 나는 반복 된 많은 인덱스가 있다면 도움이되는'np.take'에 대해 지적하려고 생각했다. 그 점은 내가 생각하기에 연결된 Q & A 코멘트에 @hpaulj가 만든 것입니다. 따라서 Q & A와 관련하여 의견은 주제에 대한 토론을 매우 포괄적으로 만듭니다. 그 일을 연구하는 데 좋은 직장! – Divakar
@Divakar 감사합니다 – piRSquared