Ich versuche, das Huggingface-Modell in Onnx zu konvertieren, um Text in einer Java-App zu klassifizieren, kann aber nicht verstehen, warum ich kein Ergebnis sehe (das Ergebnisarray ist einfach leer). readme.md hat einen Link zum Modell und es funktioniert ziemlich gut, aber ich muss einen anderen verwenden, weil es keine unterstützte Sprache ist, die ich brauche.
Ich habe versucht, ein paar zu konvertieren Modelle mit zwei Möglichkeiten:
python -m optimum.exporters.onnx --model tabularisai/multilingual-sentiment-analysis --task sequence-classification onnx_model
und
from optimum.onnxruntime import ORTModelForFeatureExtraction
model = ORTModelForFeatureExtraction.from_pretrained("tabularisai/multilingual-sentiment-analysis", from_transformers=True)
model.save_pretrained("onnx_model")
Gleiches Ergebnis – Ordner „onnx_model“ mit Modell, Vokabeln usw.
nlptown_bert-base-multilingual-uncased-sentiment – Modell aus der Readme-Datei und es funktioniert wie erwartet Sogar ich verwende eine konvertierte Modellvokabulardatei
Java-Codebeispiel:
public void def() {
try (final DocumentCategorizerDL documentCategorizerDL =
new DocumentCategorizerDL(
new File("onnx_model/model.onnx"),
// new File("nlptown_bert-base-multilingual-uncased-sentiment.onnx"),
new File("onnx_model/vocab.txt"),
getCategories(),
new AverageClassificationScoringStrategy(),
new InferenceOptions())) {
final double[] result = documentCategorizerDL.categorize(new String[] {"chair is broken"});
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
}
private Map getCategories() {
final Map categories = new HashMap();
categories.put(0, "interior");
categories.put(1, "roof");
categories.put(2, "garden");
categories.put(3, "undefined");
return categories;
}
Ich weiß nicht, wie wichtig es ist, aber die Opset-Version des Arbeitsmodells ist 11, meine jedoch 14.
Meine opennlp-dl-Bibliotheksversion ist 2.5.1
Geben Sie hier eine Bildbeschreibung ein
Leeres Ergebnis Apache OpenNLP ONNX-Modell ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post