TensorLabel

공개 클래스 TensorLabel

TensorLabel은 축에 의미 있는 라벨이 있는 TensorBuffer를 위한 유틸리티 래퍼입니다.

예를 들어, 이미지 분류 모델은 형태가 {1, 10}, 여기서 1은 배치 크기이고 10은 카테고리 수입니다. 실제로 두 번째 축에서는 각 하위 텐서에 라벨을 지정합니다. TensorLabelTensorBuffer의 일반 텐서를 하위 텐서로 변환합니다 이 경우 두 번째 축에 10개의 라벨이 제공되면 TensorLabel는 원래 {1, 10} 텐서를 10개의 요소 맵으로 변환할 수 있습니다. 각 맵의 각 값은 셰이프 {} (스칼라)의 Tensor입니다. 사용 예는 다음과 같습니다.

   TensorBuffer outputTensor = ...;
   List<String> labels = FileUtil.loadLabels(context, labelFilePath);
   // labels the first axis with size greater than one
   TensorLabel labeled = new TensorLabel(labels, outputTensor);
   // If each sub-tensor has effectively size 1, we can directly get a float value
   Map<String, Float> probabilities = labeled.getMapWithFloatValue();
   // Or get sub-tensors, when each sub-tensor has elements more than 1
   Map<String, TensorBuffer> subTensors = labeled.getMapWithTensorBuffer();
 

참고: 현재 크기가 큰 첫 번째 라벨에 대해서만 텐서-매핑 변환이 지원됩니다. 1보다 작을 수 있습니다.

공개 생성자

TensorLabel(Map<IntegerList<String>> axisLabels, TensorBuffer tensorBuffer)
다차원 텐서의 축에서 라벨을 지정할 수 있는 TensorLabel 객체를 만듭니다.
TensorLabel(List<String> axisLabels, TensorBuffer tensorBuffer)
다차원 텐서의 한 축에 라벨을 지정할 수 있는 TensorLabel 객체를 만듭니다.

공개 메서드

목록<카테고리>
getCategoryList()
TensorLabel 객체에서 Category 목록을 가져옵니다.
매핑<문자열부동 소수점 수>
getMapWithFloatValue()
라벨을 플로팅으로 매핑하는 지도를 가져옵니다.
매핑<문자열TensorBuffer>
getMapWithTensorBuffer()
라벨 쌍과 해당 TensorBuffer가 있는 지도를 가져옵니다.

상속된 메서드

공개 생성자

<ph type="x-smartling-placeholder"></ph> 공개 를 통해 개인정보처리방침을 정의할 수 있습니다. TensorLabel (Map<IntegerList<String>> axisLabels, TensorBuffer tensorBuffer)

다차원 텐서의 축에서 라벨을 지정할 수 있는 TensorLabel 객체를 만듭니다.

매개변수
axisLabels 키가 축 ID (0부터 시작)이고 값이 해당하는 맵 라벨을 지정합니다 참고: 라벨 크기는 해당 축의 텐서 크기와 동일해야 합니다.
tensorBuffer 라벨을 지정할 TensorBuffer입니다.
생성 값
NullPointerException axisLabels 또는 tensorBuffer이 null이거나 다음 중 하나에 해당하는 경우 axisLabels의 값이 null입니다.
IllegalArgumentException axisLabels의 키 중 하나가 범위를 벗어난 경우( tensorBuffer의 모양이거나, 모든 값 (라벨)의 크기가 지정된 측정기준의 tensorBuffer와 다릅니다.

<ph type="x-smartling-placeholder"></ph> 공개 를 통해 개인정보처리방침을 정의할 수 있습니다. TensorLabel (목록<String> axisLabels, TensorBuffer tensorBuffer)

다차원 텐서의 한 축에 라벨을 지정할 수 있는 TensorLabel 객체를 만듭니다.

참고: 라벨은 크기가 1보다 큰 첫 번째 축에 적용됩니다. 예를 들어 텐서의 셰이프는 [1, 10, 3]이고, 라벨은 축 1에 적용됩니다 (ID는 0) axisLabels의 크기도 10이어야 합니다.

매개변수
axisLabels 레이블의 목록, 그 크기가 텐서의 크기와 동일해야 함 축을 나타냅니다.
tensorBuffer 라벨을 지정할 TensorBuffer입니다.

공개 메서드

<ph type="x-smartling-placeholder"></ph> 공개 목록<카테고리> getCategoryList ()

TensorLabel 객체에서 Category 목록을 가져옵니다.

라벨의 축은 사실상 마지막 축이어야 합니다 (즉, 모든 하위 텐서가 이 축으로 지정된 각각의 하위 텐서는 부동 값 점수로 변환됩니다. 예: 도형이 {2, 5, 3}TensorLabel 축 2는 유효합니다. 축이 1 또는 0이면 Category로 변환할 수 없습니다.

getMapWithFloatValue()도 대안이지만 다음과 같이 Map를 반환합니다. 반환합니다.

생성 값
IllegalStateException 각 라벨의 하위 텐서 크기가 1이 아닌 경우.

<ph type="x-smartling-placeholder"></ph> 공개 매핑<문자열부동 소수점 수> getMapWithFloatValue ()

라벨을 플로팅으로 매핑하는 지도를 가져옵니다. 크기가 큰 첫 번째 축의 매핑만 허용합니다. 축은 사실상 마지막 축이어야 합니다 (즉, 모든 하위 텐서가 의 평면 크기는 1)이어야 합니다.

getCategoryList()는 결과를 가져오는 대체 API입니다.

생성 값
IllegalStateException 각 라벨의 하위 텐서 크기가 1이 아닌 경우.

<ph type="x-smartling-placeholder"></ph> 공개 매핑<문자열TensorBuffer> getMapWithTensorBuffer ()

라벨 쌍과 해당 TensorBuffer가 있는 지도를 가져옵니다. 다음 항목만 허용: 첫 번째 축 매핑은 현재 크기가 1보다 큽니다.