TensorLabel, ekseninde anlamlı etiketlere sahip TensorBuffers için kullanılan bir yardımcı sarmalayıcıdır.
Örneğin, bir görüntü sınıflandırma modelinde {1, 10} şeklinde bir çıkış tensörü,
Burada 1 grup boyutu, 10 ise kategori sayısıdır. Hatta 2. eksende ise
her alt tensörü, bunlara karşılık gelen her bir kategorinin adı veya açıklamasıyla etiketleyin. TensorLabel, TensorBuffer bölgesindeki düz Tensor'u şuradan haritaya dönüştürmeye yardımcı olabilir:
önceden tanımlanmış etiketleri alt tensörlere Bu durumda, 2. eksen için 10 etiket sağlanırsa TensorLabel, orijinal {1, 10} Tensor öğesini 10 öğeli bir haritaya dönüştürebilir. Bu değerlerin her biri için
{} (skaler) şeklinde Tensor'dur. Kullanım örneği:
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();
Not: Şu anda yalnızca tensörden haritaya dönüşüm işlemini büyük boyuta sahip ilk etiket için destekliyoruz 1'den fazla değildir.
Kamu Yüklenicileri
|
TensorLabel(Harita<Tamsayı, Liste<Dize>> gelme Etiketleri, TensorBuffer tensorBuffer)
Çok boyutlu tensörlerin eksenlerinde etiketlenebilen bir TensorLabel nesnesi oluşturur.
|
|
|
TensorLabel(List<String> supplementEtiketler, TensorBuffer tensorBuffer)
Çok boyutlu tensörlerin bir ekseninde etiketlenebilen bir TensorLabel nesnesi oluşturur.
|
Herkese Açık Yöntemler
| Liste<Kategori> |
getCategoryList()
TensorLabel nesnesinden Category listesini alır. |
| Harita<Dize, Kayan> |
getMapWithFloatValue()
Etiketi kayan noktayla eşleyen bir harita alır.
|
| Harita<Dize, TensorBuffer> |
getMapWithTensorBuffer()
Bir etiket çifti ve karşılık gelen TensorBuffer ile haritayı alır.
|
Devralınan Yöntemler
Kamu Yüklenicileri
herkese açık 'nı inceleyin. TensorLabel (Harita<Tamsayı, Liste<Dize>> electionEtiketler, TensorBuffer tensorBuffer)
Çok boyutlu tensörlerin eksenlerinde etiketlenebilen bir TensorLabel nesnesi oluşturur.
Parametreler
| axisLabels | Anahtarı eksen kimliği (0'dan başlayan) olan ve değeri karşılık gelen bir harita etiketler. Not: Etiketlerin boyutu bu eksendeki tensörün boyutuyla aynı olmalıdır. |
|---|---|
| tensorBuffer | Etiketlenecek TensorBuffer. |
Fırlatma
| NullPointerException | axisLabels veya tensorBuffer null ise ya da herhangi bir değer
axisLabels hücresindeki değer boş. |
|---|---|
| IllegalArgumentException | axisLabels işlevindeki herhangi bir anahtar aralık dışındaysa (
tensorBuffer şekli veya herhangi bir değer (etiketler), belirtilen boyuttaki tensorBuffer ile farklı boyuta sahip.
|
herkese açık 'nı inceleyin. TensorLabel (List<String> supplementEtiketler, TensorBuffer tensorBuffer)
Çok boyutlu tensörlerin bir ekseninde etiketlenebilen bir TensorLabel nesnesi oluşturur.
Not: Etiketler, boyutu 1'den büyük olan ilk eksene uygulanır. Örneğin,
tensörün şekli [1, 10, 3] ise etiketler eksen 1'e uygulanır (kimlik
0) ve axisLabels boyutu da 10 olmalıdır.
Parametreler
| axisLabels | Boyutunun üzerindeki tensörün boyutuyla aynı olması gereken etiketlerin listesi seçilecek eksene de gidilmelidir. |
|---|---|
| tensorBuffer | Etiketlenecek TensorBuffer. |
Herkese Açık Yöntemler
herkese açık Liste<Kategori> getCategoryList ()
TensorLabel nesnesinden Category listesini alır.
Etiketin ekseni, etkin bir şekilde son eksen olmalıdır (yani her alt tensör
belirtilen her bir alt tensörün düz boyutu 1 olmalıdır. Böylece, etiketlenen her bir alt tensör
kayan değer puanına dönüştürülür. Örnek: {2, 5, 3} şeklinde bir TensorLabel
ve 2. eksen geçerlidir. Eksen 1 veya 0 ise Category biçimine dönüştürülemez.
getMapWithFloatValue() alternatif bir kelimedir ancak şu şekilde bir Map döndürür:
yardımcı olur.
Fırlatma
| IllegalStateException | her etiketteki alt tensörün boyutu 1 değilse. |
|---|
herkese açık Harita<Dize, Kayan> getMapWithFloatValue ()
Etiketi kayan noktayla eşleyen bir harita alır. Yalnızca boyutu daha büyük olan ilk eksende eşlemeye izin ver ve eksen etkin bir şekilde son eksen olmalıdır (yani her bir alt tensör belirtilen eksen tarafından belirtilen düz boyut 1 olmalıdır).
getCategoryList(), sonucu almak için alternatif bir API'dir.
Fırlatma
| IllegalStateException | her etiketteki alt tensörün boyutu 1 değilse. |
|---|
herkese açık Harita<Dize, TensorBuffer> getMapWithTensorBuffer ()
Bir etiket çifti ve karşılık gelen TensorBuffer ile haritayı alır. Yalnızca ilk eksende şu anda 1'den büyük boyuta sahip olan bir harita görürsünüz.