Görev Kitaplığı BertNLClassifier
API, NLClassifier
API'sine çok benzer
Bu API, giriş metnini farklı kategorilere ayırır:
kelime işlemcileriyle uyumlu olan Bert'le ilişkili modeller için
TFLite modeli dışındaki cümle parçası tokenizasyonları.
BertNLClassifier API'nin temel özellikleri
Giriş olarak tek bir dize alır, dizeyle sınıflandırma yapar ve <label, score=""> gibi çıkışlar eşlemelerini sınıflandırma sonucu olarak kullanabilirsiniz.</label,>
Grafik dışı Wordparça performansı gösteriyor veya Cümle parçası giriş metninde tokenizasyonlar.
Desteklenen BertNLClassifier modelleri
Aşağıdaki modeller BertNLClassifier
API ile uyumludur.
Metin için TensorFlow Lite Model Maker tarafından oluşturulan Bert Modelleri Sınıflandırma.
Model uyumluluğunu karşılayan özel modeller hakkında daha fazla bilgi edinin.
Java'da çıkarım çalıştırma
1. Adım: Gradle bağımlılığını ve diğer ayarları içe aktarın
.tflite
model dosyasını Android modülünün öğe dizinine kopyalayın
nerede çalıştırılacağına karar verin. Dosyanın sıkıştırılmaması gerektiğini belirtin ve
modülün build.gradle
dosyasına TensorFlow Lite kitaplığını ekleyin:
android {
// Other settings
// Specify tflite file should not be compressed for the app apk
aaptOptions {
noCompress "tflite"
}
}
dependencies {
// Other dependencies
// Import the Task Text Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-text:0.4.4'
}
2. Adım: API'yi kullanarak çıkarım çalıştırma
// Initialization
BertNLClassifierOptions options =
BertNLClassifierOptions.builder()
.setBaseOptions(BaseOptions.builder().setNumThreads(4).build())
.build();
BertNLClassifier classifier =
BertNLClassifier.createFromFileAndOptions(context, modelFile, options);
// Run inference
List<Category> results = classifier.classify(input);
Kaynağa bakın kod inceleyebilirsiniz.
Swift'te çıkarım çalıştır
1. Adım: CocoaPods'u içe aktarın
Podfile'a TensorFlowLiteTaskText kapsülünü ekleme
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
2. Adım: API'yi kullanarak çıkarım çalıştırma
// Initialization
let bertNLClassifier = TFLBertNLClassifier.bertNLClassifier(
modelPath: bertModelPath)
// Run inference
let categories = bertNLClassifier.classify(text: input)
Kaynağa bakın kod inceleyebilirsiniz.
C++'ta çıkarım çalıştır
// Initialization
BertNLClassifierOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<BertNLClassifier> classifier = BertNLClassifier::CreateFromOptions(options).value();
// Run inference with your input, `input_text`.
std::vector<core::Category> categories = classifier->Classify(input_text);
Kaynağa bakın kod inceleyebilirsiniz.
Python'da çıkarım çalıştırma
1. Adım: Pip paketini yükleyin
pip install tflite-support
2. Adım: Modeli kullanma
# Imports
from tflite_support.task import text
# Initialization
classifier = text.BertNLClassifier.create_from_file(model_path)
# Run inference
text_classification_result = classifier.classify(text)
Kaynağa bakın
kod
daha fazla BertNLClassifier
yapılandırma seçeneğine gidin.
Örnek sonuçlar
Aşağıda, MobileBert modeli.
Giriş: "Bu, büyüleyici ve genellikle etkileyen bir yolculuk"
Çıkış:
category[0]: 'negative' : '0.00006'
category[1]: 'positive' : '0.99994'
Şunun için basit CLI demo aracını deneyin: BertNLClassifier kullanarak test edebilirsiniz.
Model uyumluluğu şartları
BetNLClassifier
API, zorunlu TFLite Modeline sahip bir TFLite modeli bekler
Meta veri.
Meta veriler aşağıdaki şartları karşılamalıdır:
Wordparça/SentenceParça Tokenizer için giriş_process_units
"ids", "mask" adlı 3 giriş tensörü ve "segment_ids" şunun çıktısı için: belirteç oluşturucu
İsteğe bağlı olarak eklenmiş bir etiket dosyasıyla birlikte, float32 türünde 1 çıkış tensörü. etiket dosyası eklendiğinde, dosya tek bir etikete sahip bir düz metin dosyası olmalıdır her satıra bir sayı girilmelidir ve etiket sayısı, çıktı.