0
matrixADimensions = matrixA.shape # returns [901,1249,1] 
matrixBDimensions = matrixB.shape # returns [901,1249] 

나는 matrixA과 matrixB의 요소 현명한 곱셈을 얻기 위해 노력하고 있지만 오류 ValueError: operands could not be broadcast together with shapes (901,1249,1) (901,1249)을 얻고있다.요소 현명한 곱하기 (X, Y, 1) * (x, y)를

두 매트릭스의 치수가 서로 같지 않기 때문에 두 매트릭스의 치수와 관련이 있다고 생각합니다. 사실, 기술적으로 그들은 [901,1249,1][901,1249]과 같은 것이지만 파이썬은 이것을 알지 못하기 때문에 동일합니다.

matrixA에 matrixB를 곱하면 어떻게됩니까?

+3

'matrixA [,,, 0] * matrixB'가 작동해야합니다. – VBB

+0

감사합니다, 그것은 – Senyokbalgul

답변

1

numpy.squeeze을 사용하면 배열 모양에서 1 차원 항목을 제거 할 수 있습니다. 귀하의 경우 그래서, 당신은 할 것 :

import numpy as np 

np.squeeze(matrixA) * matrixB 

이 (예 matrixA[:,:,0] 같은 색인 접근 방식을 복용 달리) 배열 모양에 단일 차원 항목의 위치를 ​​알 필요하지 않는 장점이있다.

+0

아하, 대답 주셔서 감사합니다 – Senyokbalgul