DepthToSpace

공개 최종 클래스 DepthToSpace

T 유형의 텐서에 대한 DepthToSpace.

데이터를 깊이에서 공간 데이터 블록으로 재배열합니다. 이는 SpaceToDepth의 역변환입니다. 더 구체적으로 말하면, 이 작업은 '깊이' 차원의 값이 공간 블록에서 '높이' 및 '너비' 차원으로 이동되는 입력 텐서의 복사본을 출력합니다. 'block_size' 속성은 입력 블록 크기와 데이터 이동 방법을 나타냅니다.

* 깊이에서 `block_size * block_size` 크기의 데이터 덩어리는 `block_size x block_size` 크기의 겹치지 않는 블록으로 재배열됩니다. * 출력 텐서의 너비는 `input_length * block_size`이고 높이는 `input_height * block_size`입니다. * 출력 영상의 각 블록 내 Y, X 좌표는 입력 채널 인덱스의 상위 구성 요소에 의해 결정됩니다. * 입력 텐서의 깊이는 `block_size * block_size`로 나눌 수 있어야 합니다.

`data_format` 속성은 다음 옵션을 사용하여 입력 및 출력 텐서의 레이아웃을 지정합니다: "NHWC": `[ 배치, 높이, 너비, 채널 ]` "NCHW": `[ 배치, 채널, 높이, 너비 ]` " NCHW_VECT_C": `qint8 [ 배치, 채널 / 4, 높이, 너비, 4 ]`

이 작업을 6차원 텐서 변환으로 간주하는 것이 유용합니다. 예를 들어 data_format = NHWC의 경우 입력 텐서의 각 요소는 6개 좌표를 통해 지정할 수 있으며 메모리 레이아웃 중요도를 감소시키는 순서로 다음과 같이 정렬할 수 있습니다. n,iY,iX,bY,bX,oC(여기서 n=배치 인덱스, iX, iY는 X를 의미함) 또는 입력 이미지 내의 Y 좌표, bX, bY는 출력 블록 내의 좌표를 의미하고 oC는 출력 채널을 의미합니다. 출력은 다음 레이아웃으로 바뀐 입력입니다: n,iY,bY,iX,bX,oC

이 작업은 풀링 대신 컨볼루션 간의 활성화 크기를 조정하는 데 유용합니다(그러나 모든 데이터는 유지). 이는 순수 컨볼루션 모델을 훈련하는 데에도 유용합니다.

예를 들어 `[1, 1, 1, 4]` 형태의 입력이 주어지면 data_format = "NHWC" 및 block_size = 2입니다.

x = [[[[1, 2, 3, 4]]]]
 
 
이 작업은 '[1, 2, 2, 1]' 모양의 텐서를 출력합니다.
[[[[1], [2]],
      [[3], [4]]]]
 
여기서 입력은 1개의 배치를 가지며 각 배치 요소는 '[1, 1, 4]' 모양을 가지며, 해당 출력은 2x2 요소를 가지며 1 채널의 깊이를 갖습니다(1 = `4 / (block_size * block_size) )`). 출력 요소 모양은 `[2, 2, 1]`입니다.

더 큰 깊이를 가진 입력 텐서의 경우 여기에서는 '[1, 1, 1, 12]' 모양입니다. 예:

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
 
블록 크기가 2인 경우 이 작업은 '[1, 2, 2, 3]' 모양의 다음 텐서를 반환합니다.
[[[[1, 2, 3], [4, 5, 6]],
      [[7, 8, 9], [10, 11, 12]]]]
 
 
마찬가지로, '[1 2 2 4]' 형태의 다음 입력과 블록 크기 2의 경우:
x =  [[[[1, 2, 3, 4],
        [5, 6, 7, 8]],
       [[9, 10, 11, 12],
        [13, 14, 15, 16]]]]
 
연산자는 `[1 4 4 1]` 모양의 다음 텐서를 반환합니다.
x = [[[ [1],   [2],  [5],  [6]],
       [ [3],   [4],  [7],  [8]],
       [ [9],  [10], [13],  [14]],
       [ [11], [12], [15],  [16]]]]
 
 

중첩 클래스

수업 DepthToSpace.Options DepthToSpace 의 선택적 속성

상수

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

공개 방법

출력 <T>
출력 ()
텐서의 기호 핸들을 반환합니다.
static <T는 TType을 확장합니다. > DepthToSpace <T>
생성 (범위 범위 , 피연산자 <T> 입력, Long blockSize, 옵션... 옵션)
새로운 DepthToSpace 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 DepthToSpace.Options
dataFormat (문자열 데이터 형식)
출력 <T>
출력 ()

상속된 메서드

상수

공개 정적 최종 문자열 OP_NAME

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

상수 값: "DepthToSpace"

공개 방법

공개 출력 <T> asOutput ()

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

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

공개 정적 DepthToSpace <T> 생성 ( 범위 범위, 피연산자 <T> 입력, Long blockSize, 옵션... 옵션)

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

매개변수
범위 현재 범위
블록 크기 Space2Depth와 동일한 공간 블록의 크기입니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • DepthToSpace의 새로운 인스턴스

공개 정적 DepthToSpace.Options dataFormat (문자열 dataFormat)

공개 출력 <T> 출력 ()