use flodl_hf::models::bert::BertForSequenceClassification;
fn main() -> flodl::Result<()> {
let clf = BertForSequenceClassification::from_pretrained(
"nateraw/bert-base-uncased-emotion",
)?;
let texts = &[
"I love this framework so much",
"I can't believe they shut down the old service",
"I'm a little anxious about the release",
];
let preds = clf.predict(texts)?;
for (text, row) in texts.iter().zip(&preds) {
let (top_label, top_score) = row.first().expect("predict returns at least one label");
println!("{text:?}");
println!(" top: {top_label} ({top_score:.3})");
for (label, score) in row.iter().skip(1).take(2) {
println!(" .. {label} ({score:.3})");
}
}
Ok(())
}