Tensor 또는 NdArray
의 모양입니다.
Shape
축을 따라 크기를 정의합니다. 축 중 하나에 대해 알 수 없는 크기가 포함되어 있거나 완전히 알려지지 않았을 수 있으며, 이 경우 축 수조차 알려지지 않았습니다. 축의 크기를 알 수 없는 경우 UNKNOWN_SIZE
크기로 사용해야 합니다.
전지
공개 정적 긴 | UNKNOWN_SIZE | 알 수 없는 축의 크기 또는 알 수 없는 Shape의 알 수 없는 총 크기입니다. |
공개 방법
모양 | 추가 (긴 lastDimension) 새로운 마지막 차원이 추가된 새 Shape를 반환합니다. |
모양 | |
긴[] | asArray () 이 Shape 축의 방어 복사본을 반환합니다. |
부울 | 같음 (객체 객체) Shapes 구현과 동일합니다. |
부울 | hasUnknownDimension () 이 Shape의 하나 이상의 차원에 알 수 없는 크기가 있는지 여부를 반환합니다. |
정수 | 해시코드 () |
모양 | 머리 () 이 Shape의 첫 번째 차원과 일치하는 첫 번째 차원을 갖는 1차원 Shape를 반환합니다. |
정적 부울 | isCompatible (긴 희미함, 긴 otherDim) 두 가지 모양 치수가 호환되는지 테스트합니다. |
부울 | |
부울 | isMatrix () 이 Shape가 행렬의 형태인지 여부를 반환합니다. |
부울 | isScalar () 이 Shape가 스칼라를 나타내는지 여부를 반환합니다. |
부울 | 알 수 없음 () 이 Shape의 차원수를 알 수 없는지 여부를 반환합니다. |
부울 | is벡터 () 이 Shape가 벡터의 모양인지 여부를 반환합니다. |
정수 | numDimensions () 이 Shape의 차원 수를 반환합니다. |
정적 모양 | ( 긴 ... 차원 크기) 스칼라 또는 N차원 값을 나타내는 Shape를 만듭니다. |
모양 | |
모양 | 앞에 추가 (긴 firstDimension) 새로운 첫 번째 차원이 추가된 새 Shape를 반환합니다. |
정적 모양 | 스칼라 () 스칼라 값을 나타내는 Shape를 만듭니다. |
긴 | 크기 (int i) 지정된 인덱스가 있는 차원의 크기입니다. |
긴 | 사이즈 () 이 Shape를 가진 Tensor가 가질 요소의 총 개수를 반환합니다. |
모양 | subShape (int 시작, int 끝) begin 부터 end 이 Shape와 일치하는 차원을 갖는 end - begin 차원 모양을 반환합니다. |
모양 | 꼬리 () 이 Shape의 첫 번째 차원이 제거된 새 Shape를 반환합니다. |
모양 | 취하다 (int n) 이 도형의 처음 n 차원과 일치하는 차원을 가진 n차원 도형을 반환합니다. |
모양 | takeLast (int n) 이 Shape의 마지막 n 차원과 일치하는 차원을 가진 n차원 Shape를 반환합니다. |
끈 | toString () 디버깅을 위한 Shape에 대한 간결한 설명입니다. |
정적 모양 | 알려지지 않은 () 알 수 없는 차원 수를 나타내는 Shape를 만듭니다. |
상속된 메서드
전지
공개 정적 긴 UNKNOWN_SIZE
알 수 없는 축의 크기 또는 알 수 없는 Shape의 알 수 없는 총 크기입니다.
공개 방법
공개 모양 추가 (긴 lastDimension)
새로운 마지막 차원이 추가된 새 Shape를 반환합니다. 이 호출이 성공하려면 isUnknown()
false
여야 합니다.
매개변수
마지막차원 | 추가할 치수 |
---|
보고
- 이 Shape의 차원 다음에 주어진 차원이 따라오는 새로운 Shape, 결코 null이 아니다
공개 Shape 추가 ( Shape 기타)
다른 Shape의 치수가 추가된 새 Shape를 반환합니다. 이 Shape와 다른 Shape 모두에 대해 isUnknown()
은 false를 반환해야 합니다. 예: @code Shape.of(3,4).append(Shape.of(1,2)) => Shape.of(3,4,1,2) }
매개변수
다른 | 다른 모양은 null 이거나 알 수 없어야 합니다. |
---|
보고
- 이 Shape의 차원과 지정된 Shape의 차원으로 구성된 새로운 Shape
공개 long[] asArray ()
이 Shape 축의 방어 복사본을 반환합니다. 이 Shape의 상태를 변경하지 않도록 반환된 배열을 변경합니다. isUnknown()
이 true인 경우 null을 반환합니다.
공개 부울은 (객체 obj) 와 같습니다 .
Shapes 구현과 동일합니다. 다음과 같은 경우 두 모양이 동일한 것으로 간주됩니다.
- 차원의 수가 정의되고 둘 다 동일합니다.
- 각 차원의 크기가 정의되고 두 차원 모두 동일합니다.
두 Shape 중 하나에 알 수 없는 차원이 있거나(둘 다 동일하더라도) 두 셰이프에 알 수 없는 개수의 차원이 있는 경우(둘 다 isUnknown()
에 대해 true
반환하더라도) 동일한 것으로 간주되지 않습니다! 그러나 모양은 알 수 없거나 크기를 알 수 없는 경우에도 항상 그 자체와 동일합니다.
공개 부울 hasUnknownDimension ()
이 Shape의 하나 이상의 차원에 알 수 없는 크기가 있는지 여부를 반환합니다.
공개 int hashCode ()
공개 정적 부울 isCompatible (긴 희미함, 긴 otherDim)
두 가지 모양 치수가 호환되는지 테스트합니다.
두 차원 중 하나가 Shape.UNKNOWN_SIZE
이거나 두 차원이 모두 동일한 경우 차원이 호환됩니다.
매개변수
어둑한 | 첫 번째 차원 |
---|---|
otherDim | 두 번째 차원 |
보고
- true(두 차원이 모두 호환되는 경우)
공개 부울 isCompatibleWith ( 모양 모양)
다른 모양이 이 모양과 호환되는지 여부를 결정합니다.
두 모양이 모두 나타낼 수 있는 완전히 정의된 모양이 있는 경우 부분적으로 정의될 수 있는 두 모양이 호환됩니다. 따라서 호환성을 통해 모양 추론 코드는 부분적으로 정의된 모양을 추론할 수 있습니다. 예를 들어:
-
Shape.unknown()
모든 모양과 호환됩니다. -
Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
Shape(32, 784)
및Shape.unknown()
과 같은 모든 2차원 도형과 호환됩니다. 예를 들어Shape(UNKNOWN_SIZE)
또는Shape(UNKNOWN_SIZE, UNKNOWN_SIZE, UNKNOWN_SIZE)
와 호환되지 않습니다. -
Shape(32, UNKNOWN_SIZE)
는 0차원에서 크기가 32인 모든 2차원 도형과 호환되며Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
및Shape.unknown()
도 호환됩니다. 예를 들어Shape(32)
,Shape(32, UNKNOWN_SIZE, 1)
또는Shape(64, UNKNOWN_SIZE)
와 호환되지 않습니다. -
Shape(32, 784)
자체적으로 호환되며Shape(32, UNKNOWN_SIZE)
,Shape(UNKNOWN_SIZE, 784)
,Shape(UNKNOWN_SIZE, UNKNOWN_SIZE)
및Shape.unknown()
과도 호환됩니다. 예를 들어Shape(32, 1, 784)
또는Shape(UNKNOWN_SIZE)
와 호환되지 않습니다.
호환성 관계는 반사적이고 대칭적이지만 추이적이지는 않습니다. 예를 들어 Shape(32, 784)
Shape.unknown()
과 호환되고 Shape.unknown()
은 Shape(4, 4)
와 호환되지만 Shape(32, 784)
Shape(4, 4)
와 호환되지 않습니다. Shape(4, 4)
.
호환성은 방송과 다릅니다. 호환 가능한 도형의 차원 수는 동일해야 하며 각 차원 쌍의 경우 한 차원이 다른 차원과 동일하거나 쌍의 차원 중 하나 이상이 UNKNOWN_SIZE여야 합니다.
브로드캐스팅에서는 다양한 차원이 허용되지만 쌍을 이루는 차원은 동일하거나 한 차원이 1이어야 합니다. 한 도형의 차원이 다른 도형보다 작은 경우 더 작은 도형은 차원 1로 "늘어납니다".
매개변수
모양 | 다른 모양 |
---|
보고
- 두 셰이프가 호환되는 경우 true입니다.
공개 부울 isMatrix ()
이 Shape가 행렬의 형태인지 여부를 반환합니다.
공개 부울 isScalar ()
이 Shape가 스칼라를 나타내는지 여부를 반환합니다.
공개 부울은 알 수 없음 ()
이 Shape의 차원수를 알 수 없는지 여부를 반환합니다.
공개 부울 isVector ()
이 Shape가 벡터의 모양인지 여부를 반환합니다.
공개 int numDimensions ()
이 Shape의 차원 수를 반환합니다. 알 수 없는 경우 -1, 스칼라의 경우 0, 벡터의 경우 1, 행렬의 경우 2 등입니다.
공개 정적 모양 ( 긴... 차원 크기)
스칼라 또는 N차원 값을 나타내는 Shape를 만듭니다.
각 차원에 대해 제공된 크기를 사용하여 스칼라 또는 N차원 값(N은 1 이상)을 나타내는 Shape를 만듭니다. -1은 해당 차원의 크기를 알 수 없음을 나타냅니다. 크기가 제공되지 않으면 스칼라를 나타내는 Shape가 생성됩니다. 예를 들어:
// A 2-element vector.
Shape vector = Shape.of(2);
// A 2x3 matrix.
Shape matrix = Shape.of(2, 3);
// A matrix with 4 columns but an unknown number of rows.
// This is typically used to indicate the shape of tensors that represent
// a variable-sized batch of values. The Shape below might represent a
// variable-sized batch of 4-element vectors.
Shape batch = Shape.of(-1, 4);
// A scalar. For readability, you should prefer calling Shape.scalar()
Shape scalar = Shape.of()
매개변수
차원크기 | 이 도형의 각 차원에 있는 요소 수(있는 경우), 알 수 없는 경우 UNKNOWN_SIZE . |
---|
보고
- 새로운 모양
공개 모양 앞에 추가 (다른 모양 )
앞에 다른 Shape의 크기를 추가하여 새 Shape를 반환합니다. 이 Shape와 다른 Shape 모두에 대해 isUnknown()
은 false를 반환해야 합니다. 예: Shape.of(3,4).prepend(Shape.of(1,2)) => Shape.of(1,2,3,4)
매개변수
다른 | 다른 모양은 null 이거나 알 수 없어야 합니다. |
---|
보고
- 주어진 Shape의 차원과 이 Shape의 차원으로 구성된 새로운 Shape. 결코 null이 아닙니다.
공개 모양 앞에 추가 (긴 firstDimension)
새로운 첫 번째 차원이 추가된 새 Shape를 반환합니다. 이 호출이 성공하려면 isUnknown()
false
여야 합니다.
매개변수
첫 번째 차원 | 앞에 추가할 치수 |
---|
보고
- 지정된 차원이 먼저 있고 그 뒤에 이 Shape의 차원이 오는 새 모양. 결코 null이 아닙니다.
공개 긴 크기 (int i)
지정된 인덱스가 있는 차원의 크기입니다.
isUnknown()
이 true이거나 주어진 인덱스가 있는 차원의 크기를 알 수 없는 크기인 경우 UNKNOWN_SIZE
반환됩니다.
매개변수
나 | 크기를 구할 차원의 인덱스입니다. 이 Shape에 알려진 차원 수가 있는 경우 < numDimensions() 여야 합니다. 인덱스는 음수일 수 있으며, 이 경우 위치는 모양의 끝에서부터 계산됩니다. 예: size(-1) 마지막 차원의 크기를 반환하고, size(-2) 두 번째에서 마지막 차원의 크기 등을 반환합니다. |
---|
보고
- 알려진 경우 지정된 인덱스가 있는 차원의 크기이고, 그렇지 않은 경우
UNKNOWN_SIZE
.
퍼블릭 롱 사이즈 ()
이 Shape를 가진 Tensor가 가질 요소의 총 개수를 반환합니다.
isUnknown()
이 true이거나 hasUnknownDimension()
이 true이면 UNKNOWN_SIZE
반환됩니다.
보고
- 계산할 수 있는 경우 이 모양을 가진 Tensor가 가질 요소의 총 개수, 그렇지 않으면
UNKNOWN_SIZE
.
공개 Shape subShape (int 시작, int 끝)
begin
부터 end
이 Shape와 일치하는 차원을 갖는 end - begin
차원 모양을 반환합니다.
매개변수
시작하다 | 하위 모양을 시작할 위치입니다. |
---|---|
끝 | 하위 모양의 끝 위치(배타적)입니다. |
보고
- 시작과 끝으로 둘러싸인 하위 모양.
공개 형태 취함 (int n)
이 모양의 처음 n 차원과 일치하는 차원을 가진 n차원 모양을 반환합니다.
매개변수
N | 가져올 선행 차원의 수는 numDimensions() 보다 <=이어야 합니다. |
---|
보고
- 이 Shape의 처음 n 차원과 일치하는 처음 n 차원을 갖는 n차원 Shape
공개 모양 takeLast (int n)
이 Shape의 마지막 n 차원과 일치하는 차원을 가진 n차원 Shape를 반환합니다.
매개변수
N | 가져올 후행 차원의 수는 numDimensions() 보다 <=이어야 합니다. |
---|
보고
- 이 Shape의 마지막 n 차원과 일치하는 차원을 갖는 n차원 셰이프. 절대로 null이 아닙니다.
공개 문자열 toString ()
디버깅을 위한 Shape에 대한 간결한 설명입니다.