TensorLabel은 축에 의미 있는 라벨이 있는 TensorBuffer를 위한 유틸리티 래퍼입니다.
예를 들어, 이미지 분류 모델은 형태가 {1, 10},
여기서 1은 배치 크기이고 10은 카테고리 수입니다. 실제로 두 번째 축에서는
각 하위 텐서에 라벨을 지정합니다. TensorLabel는 TensorBuffer의 일반 텐서를
하위 텐서로 변환합니다 이 경우 두 번째 축에 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<Integer, List<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<Integer, List<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보다 큽니다.