저는 최근에 Python 3.5로 이동했고 새로운 행렬 곱셈 연산자 (@)가 때때로 numpy 도트 연산자 와 다르게 작동 하는 것을 발견했습니다 . 예를 들어 3D 배열의 경우 :
import numpy as np
a = np.random.rand(8,13,13)
b = np.random.rand(8,13,13)
c = a @ b # Python 3.5+
d = np.dot(a, b)
@
연산자 형태의 배열을 반환
c.shape
(8, 13, 13)
np.dot()
함수가 반환 하는 동안 :
d.shape
(8, 13, 8, 13)
numpy dot으로 동일한 결과를 어떻게 재현 할 수 있습니까? 다른 중요한 차이점이 있습니까?
matmul
몇 년 전에 기능 을 구현하지 않았 습니까? @
중위 연산자는 새롭지 만 함수는 그것 없이도 잘 작동합니다.