NumPy 요소별 연산의 브로드캐스트 문제
다양한 모양의 NumPy 배열과 함께 요소별 연산을 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 오류 "ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다." 이 오류는 해당 작업에 대해 배열의 크기가 호환되지 않음을 나타냅니다.
NumPy Element-Wise 작업의 브로드캐스팅
브로드캐스팅을 통해 하나 또는 두 개의 어레이를 확장할 수 있습니다. 요소별 작업과 호환되도록 크기를 조정합니다. 값이 1이거나 누락된 차원을 브로드캐스트에 사용할 수 있으며, 다양한 모양의 배열을 요소별로 곱할 수 있습니다.
예제 오류
다음 코드를 고려하세요. X는 (m,n) 모양의 배열이고 y는 모양의 배열입니다. (n,1):
X * y
이 코드는 차원이 호환되지 않기 때문에 ValueError를 발생시킵니다.
(97,2) x (2,1)
행렬 곱셈과 요소별 곱셈
NumPy에서 별표(*) 연산자는 요소별 곱셈에 사용되는 반면, dot() 함수는 행렬 곱셈에 사용됩니다. 행렬 곱셈에는 호환 가능한 차원이 필요한 반면, 요소별 곱셈에는 함께 브로드캐스트할 수 있는 차원이 필요합니다.
해결책
오류를 해결하려면 dot() 행렬 곱셈을 수행하는 함수:
X.dot(y)
또는 행렬 곱셈을 수행하기 전에 배열의 모양을 수정할 수도 있습니다. 브로드캐스트 가능하도록 요소별 작업을 수행합니다.
추가 참고 사항
위 내용은 NumPy Element-Wise 작업에서 'ValueError: 피연산자를 함께 브로드캐스트할 수 없습니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!