MatrixDiag

공개 최종 클래스 MatrixDiag

주어진 배치 대각선 값을 갖는 배치 대각선 텐서를 반환합니다.

`대각선`의 내용이 행렬의 `k[0]`번째부터 `k[1]`번째 대각선이고 다른 모든 항목은 `padding`으로 채워진 텐서를 반환합니다. `num_rows` 및 `num_cols`는 출력의 가장 안쪽 행렬의 차원을 지정합니다. 둘 다 지정되지 않은 경우 연산은 가장 안쪽 행렬이 정사각형이라고 가정하고 'k'와 '대각선'의 가장 안쪽 차원에서 크기를 추론합니다. 그 중 하나만 지정된 경우 작업은 지정되지 않은 값이 다른 기준에 따라 가능한 가장 작은 값이라고 가정합니다.

`대각선`에 `r` 차원 `[I, J, ..., L, M, N]`이 있다고 가정합니다. 출력 텐서는 대각선이 하나만 주어지면 `[I, J, ..., L, M, num_rows, num_cols]` 모양의 `r+1` 순위를 갖습니다(`k`는 정수이거나 `k[0]). == k[1]`). 그렇지 않으면 `[I, J, ..., L, num_rows, num_cols]` 모양의 `r` 순위를 갖습니다.

'대각선'의 가장 안쪽 두 번째 차원은 이중 의미를 갖습니다. `k`가 스칼라이거나 `k[0] == k[1]`인 경우 `M`은 배치 크기 [I, J, ..., M]의 일부이고 출력 텐서는 다음과 같습니다.

output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, n-max(d_upper, 0)] ; if n - m == d_upper
     padding_value                             ; otherwise
 
그렇지 않으면 `M`은 동일한 배치(`M = k[1]-k[0]+1`)에 있는 행렬의 대각선 수로 처리되며 출력 텐서는 다음과 같습니다.
output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
     padding_value                                     ; otherwise
 
여기서 `d = n - m`, `diag_index = k[1] - d` 및 `index_in_diag = n - max(d, 0)`입니다.

예를 들어:

# The main diagonal.
 diagonal = np.array([[1, 2, 3, 4],            # Input shape: (2, 4)
                      [5, 6, 7, 8]])
 tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0],  # Output shape: (2, 4, 4)
                                [0, 2, 0, 0],
                                [0, 0, 3, 0],
                                [0, 0, 0, 4]],
                               [[5, 0, 0, 0],
                                [0, 6, 0, 0],
                                [0, 0, 7, 0],
                                [0, 0, 0, 8]]]
 
 # A superdiagonal (per batch).
 diagonal = np.array([[1, 2, 3],  # Input shape: (2, 3)
                      [4, 5, 6]])
 tf.matrix_diag(diagonal, k = 1)
   ==> [[[0, 1, 0, 0],  # Output shape: (2, 4, 4)
         [0, 0, 2, 0],
         [0, 0, 0, 3],
         [0, 0, 0, 0]],
        [[0, 4, 0, 0],
         [0, 0, 5, 0],
         [0, 0, 0, 6],
         [0, 0, 0, 0]]]
 
 # A band of diagonals.
 diagonals = np.array([[[1, 2, 3],  # Input shape: (2, 2, 3)
                        [4, 5, 0]],
                       [[6, 7, 9],
                        [9, 1, 0]]])
 tf.matrix_diag(diagonals, k = (-1, 0))
   ==> [[[1, 0, 0],  # Output shape: (2, 3, 3)
         [4, 2, 0],
         [0, 5, 3]],
        [[6, 0, 0],
         [9, 7, 0],
         [0, 1, 9]]]
 
 # Rectangular matrix.
 diagonal = np.array([1, 2])  # Input shape: (2)
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, num_cols = 4)
   ==> [[0, 0, 0, 0],  # Output shape: (3, 4)
        [1, 0, 0, 0],
        [0, 2, 0, 0]]
 
 # Rectangular matrix with inferred num_cols and padding_value = 9.
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, padding_value = 9)
   ==> [[9, 9],  # Output shape: (3, 2)
        [1, 9],
        [9, 2]]
 

상수

OP_NAME TensorFlow 코어 엔진에서 알려진 이 작업의 이름

공개 방법

출력 <T>
출력 ()
텐서의 기호 핸들을 반환합니다.
static <T는 TType을 확장합니다. > MatrixDiag <T>
생성 ( 범위 범위 , 피연산자 <T> 대각선, 피연산자 < TInt32 > k, 피연산자 < TInt32 > numRows, 피연산자 < TInt32 > numCols, 피연산자 <T> paddingValue)
새로운 MatrixDiag 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
출력 <T>
출력 ()
`k`가 정수이거나 `k[0] == k[1]`이면 순위 `r+1`을 가지며, 그렇지 않으면 `r` 순위를 가집니다.

상속된 메서드

org.tensorflow.op.RawOp 클래스에서
최종 부울
같음 (객체 객체)
최종 정수
작업
op ()
이 계산 단위를 단일 Operation 으로 반환합니다.
최종 문자열
부울
같음 (개체 arg0)
마지막 수업<?>
getClass ()
정수
해시코드 ()
최종 무효
알림 ()
최종 무효
통지모두 ()
toString ()
최종 무효
대기 (long arg0, int arg1)
최종 무효
기다리세요 (긴 arg0)
최종 무효
기다리다 ()
org.tensorflow.op.Op 에서
추상 실행환경
환경 ()
이 작업이 생성된 실행 환경을 반환합니다.
추상적인 작업
op ()
이 계산 단위를 단일 Operation 으로 반환합니다.
org.tensorflow.Operand 에서
추상 출력 <T>
출력 ()
텐서의 기호 핸들을 반환합니다.
추상 T
텐서 ()
이 피연산자의 텐서를 반환합니다.
추상 모양
모양 ()
이 피연산자의 Output 에서 ​​참조하는 텐서의 (아마도 부분적으로 알려진) 모양을 반환합니다.
추상 클래스<T>
유형 ()
이 피연산자의 텐서 유형을 반환합니다.
org.tensorflow.ndarray.Shaped 에서
추상 정수
순위 ()
추상 모양
모양 ()
추상적인 긴
사이즈 ()
이 컨테이너의 전체 크기를 값 개수로 계산하고 반환합니다.

상수

공개 정적 최종 문자열 OP_NAME

TensorFlow 코어 엔진에서 알려진 이 작업의 이름

상수 값: "MatrixDiagV2"

공개 방법

공개 출력 <T> asOutput ()

텐서의 기호 핸들을 반환합니다.

TensorFlow 작업에 대한 입력은 다른 TensorFlow 작업의 출력입니다. 이 메서드는 입력 계산을 나타내는 기호 핸들을 얻는 데 사용됩니다.

공개 정적 MatrixDiag <T> 생성 ( 범위 범위, 피연산자 <T> 대각선, 피연산자 < TInt32 > k, 피연산자 < TInt32 > numRows, 피연산자 < TInt32 > numCols, 피연산자 <T> paddingValue)

새로운 MatrixDiag 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
대각선 순위 `r`, 여기서 `r >= 1`
케이 대각선 오프셋. 양수 값은 상부 대각선, 0은 주 대각선, 음수 값은 하부 대각선을 의미합니다. 'k'는 단일 정수(단일 대각선의 경우)이거나 매트릭스 밴드의 최저 및 최고 끝을 지정하는 정수 쌍일 수 있습니다. `k[0]`은 `k[1]`보다 클 수 없습니다.
행 수 출력 행렬의 행 수입니다. 제공되지 않은 경우 연산은 출력 행렬이 정사각 행렬이라고 가정하고 k와 '대각선'의 가장 안쪽 차원에서 행렬 크기를 추론합니다.
numCols 출력 행렬의 열 수입니다. 제공되지 않은 경우 연산은 출력 행렬이 정사각 행렬이라고 가정하고 k와 '대각선'의 가장 안쪽 차원에서 행렬 크기를 추론합니다.
패딩값 지정된 대각선 범위 밖의 영역을 채울 숫자입니다. 기본값은 0입니다.
보고
  • MatrixDiag의 새로운 인스턴스

공개 출력 <T> 출력 ()

`k`가 정수이거나 `k[0] == k[1]`이면 순위 `r+1`을 가지며, 그렇지 않으면 `r` 순위를 가집니다.