동일한 수의 치수를 가진 두 개의 텐서 (A
및 B
)가 있다고 가정합시다. tensordot
을 곱하면됩니다. 예를 들어이 경우Theano에서 tensordot와 element-wise 곱셈 사이에 뭔가가 있습니까?
T.tensordot(A, B, axes = [[0,3], [0,3]])
우리 "쌍" 제 텐서 어떤 축이 제 텐서 축 그리고, 우리가 위에 합이 "페어링"축 :
C[j, k, a, b ] = sum_{i, l} A[i, j, k, l] * A[i, a, b, l]
에서 위의 예에서는 첫 번째 텐서의 첫 번째 및 마지막 축이 두 번째 텐서의 첫 번째 및 마지막 축과 각각 쌍을 이룹니다. 이 경우
C[i, j, k, l] = A[i, j, k, l] * B[i, j, k, l]
제 텐서의 모든 대응하는 축과 제 텐서 우리 "쌍"모든 축 (제 1 제와 :
다르게, 우리는 소자 현명한 개의 텐서 곱 수 , 두 번째와 두 번째 등등).
이제 위에서 설명한 두 작업 사이에있는 작업을 수행하려고합니다. 자세한 내용은에서 :
- 나는 두 번째 텐서의 일부 축과 첫 텐서의 일부 축 페어링 할 (같은
tensordot
에 그것을 승). 따라서 A의 모든 축을 B의 모든 축과 쌍으로 연결하고 싶지는 않습니다. - 쌍 축의 모든 축에 대해 합산하고 싶지는 않습니다. (쌍 쌍의 곱셈 에서처럼 쌍을 이루는 합계가 없습니다. 축).
C[a, b, c, i] = sum_d A[a, b, c, d] * B[i, b, c, d]
theano에서 할 수있는 가장 좋은 방법은 무엇입니까 : 여기
내가 "수학"형태로 작성 원하는 무엇인가?