DataLayouts

공개 최종 클래스 DataLayouts

선형 대수학 계산에 자주 사용되는 데이터 형식의 DataLayout 인스턴스를 노출합니다.

사용 예:

// Storing boolean values in a ByteDataBuffer
 BooleanDataBuffer boolBuffer = DataLayouts.BOOL.applyTo(byteDataBuffer);

 // Allocating a new buffer of 256 half floats
 FloatDataBuffer halfBuffer = DataLayouts.FLOAT16.applyTo(DataBuffers.ofShorts(256 * DataLayouts.FLOAT16.scale());
 

전지

공개 정적 최종 FloatDataLayout < ShortDataBuffer > BFLOAT16 16비트 bfloat를 짧은 값으로/에서 변환하기 위한 데이터 레이아웃입니다.
공개 정적 최종 BooleanDataLayout < ByteDataBuffer > 부울 부울을 바이트 값으로/에서 변환하기 위한 데이터 레이아웃입니다.
공개 정적 최종 FloatDataLayout < ShortDataBuffer > 플로트16 16비트 반 부동 소수점을 짧은 값으로/에서 변환하기 위한 데이터 레이아웃입니다.

공공 생성자

공개 방법

정적 DataLayout < DataBuffer <byte[]>, String>
ofStrings (문자 집합 문자 집합)
문자열을 바이트 시퀀스로/에서 변환하기 위한 데이터 레이아웃을 생성합니다.

상속된 메서드

부울
같음 (개체 arg0)
마지막 수업<?>
getClass ()
정수
해시코드 ()
최종 무효
알림 ()
최종 무효
통지모두 ()
toString ()
최종 무효
대기 (long arg0, int arg1)
최종 무효
기다리세요 (긴 arg0)
최종 무효
기다리다 ()

전지

공개 정적 최종 FloatDataLayout < ShortDataBuffer > BFLOAT16

16비트 bfloat를 짧은 값으로/에서 변환하기 위한 데이터 레이아웃입니다.

이 형식은 TensorFlow에만 국한되었지만 이제는 기계 학습 분야에서 더 광범위하게 채택되었습니다. 이는 단순히 값을 이동하고 가수를 7비트로 자르는 단정밀도 32비트 부동 소수점을 사용한 빠른 변환에 최적화되어 있습니다.

따라서 이는 IEEE-754 반정밀도 부동 소수점 사양에 비해 분수 부분의 정밀도가 손실된 것입니다( FLOAT16 참조). 그러나 8비트 지수를 유지하고 사용하므로 전체 부분에서 가능한 값의 범위가 더 넓습니다. 동일한 편향(즉, 대략 [10 -40 , 3.39 × 10 38 ]의 0 이상의 절대 범위)

일부 CPU는 더 나은 성능을 위해 기본적으로 bfloat16 형식을 지원합니다.

공개 정적 최종 BooleanDataLayout < ByteDataBuffer > BOOL

부울을 바이트 값으로/에서 변환하기 위한 데이터 레이아웃입니다.

Java NIO 부울 버퍼가 없기 때문에 이 레이아웃은 부울 값을 표준 바이트 버퍼에 매핑하는 데 특히 유용합니다. 부울과 바이트 간의 변환에는 명시적인 유형 캐스팅이 필요합니다.

공개 정적 최종 FloatDataLayout < ShortDataBuffer > FLOAT16

16비트 반 부동 소수점을 짧은 값으로/에서 변환하기 위한 데이터 레이아웃입니다.

반 부동 소수점은 IEEE-754 반정밀도 부동 소수점 사양에 따라 메모리에 저장되며 사용자 공간에서 32비트 부동 소수점으로/에서 변환됩니다.

단일 부동 소수점(32비트)을 반 부동 소수점(16비트)으로 변환하면 정밀도가 손실될 수 있습니다. 반 부동 소수점에 대해 0보다 큰 값의 절대 범위는 대략 [5.96 × 10 -8 , 6.55 × 10 4 ]이며 소수 부분은 10비트 가수로 반올림됩니다.

일반적으로 CPU는 기본적으로 이 형식을 지원하지 않기 때문에 Half Float 계산은 GPU에서 더 잘 수행됩니다.

공공 생성자

공개 DataLayout ()

공개 방법

public static DataLayout < DataBuffer <byte[]>, String> ofStrings (Charset charset)

문자열을 바이트 시퀀스로/에서 변환하기 위한 데이터 레이아웃을 생성합니다.

이 레이아웃에는 문자열을 바이트 시퀀스로 인코딩/디코딩하는 방법을 지정하기 위해 매개변수에 charset 필요합니다. 따라서 항상 새 레이아웃 인스턴스가 반환됩니다.

매개변수
문자셋 사용할 문자셋
보고
  • 새로운 문자열 레이아웃