近日,Transformers.js 作者 Joshua Lochner 在 GitHub 上发布了 Transformers.js 2.9.0。
他称这次的发布是:😍 令人振奋的新任务!
Transformers.js v2.9.0 增加了对三项新任务的支持:(1) 深度估计,(2) 无标注物体检测,和 (3) 光学文档理解。
🕵️♂️ 深度估计
预测图像中物体深度的任务。阅读原文获取更多信息。
import { pipeline } from '@xenova/transformers';
// 创建深度估计管道
let depth_estimator = await pipeline('depth-estimation', 'Xenova/dpt-hybrid-midas');
// 为图像预测深度
let url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/cats.jpg';
let output = await depth_estimator(url);
输入(Input)输出(output)
Raw output
// {
// predicted_depth: Tensor {
// dims: [ 384, 384 ],
// type: 'float32',
// data: Float32Array(147456) [ 542.859130859375, 545.2833862304688, 546.1649169921875, ... ],
// size: 147456
// },
// depth: RawImage {
// data: Uint8Array(307200) [ 86, 86, 86, ... ],
// width: 640,
// height: 480,
// channels: 1
// }
// }
🎯 无标注物体检测
识别在训练期间未见过的类别的对象的任务。阅读原文获取更多信息。
import { pipeline } from '@xenova/transformers';
// 创建无标注物体检测管道
let detector = await pipeline('zero-shot-object-detection', 'Xenova/owlvit-base-patch32');
// 预测边界框
let url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/astronaut.png';
let candidate_labels = ['human face', 'rocket', 'helmet', 'american flag'];
let output = await detector(url, candidate_labels);
📝 光学文档理解(图像到文本)
此任务涉及将科学 PDF 的图像翻译成 Markdown,以便更轻松地访问它们。阅读原文获取更多信息。
import { pipeline } from '@xenova/transformers';
// 创建图像到文本管道
let pipe = await pipeline('image-to-text', 'Xenova/nougat-small');
// 生成 Markdown
let url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/nougat_paper.png';
let output = await pipe(url, {
min_length: 1,
max_new_tokens: 40,
bad_words_ids: [[pipe.tokenizer.unk_token_id]],
});
// [{ generated_text: "# Nougat: Neural Optical Understanding for Academic DocumentsnnLukas BlechernnCorrespondence to: lblecher@meta.comnnGuillem Cucur" }]
查看输入图像
💻 新架构:Nougat、DPT、GLPN、OwlViT
我们增加了对 4 种新架构的支持,总数达到 61 个!
– DPT 用于深度估计。阅读原文查看可用模型列表。
– GLPN 用于深度估计。阅读原文查看可用模型列表。
– OwlViT 用于无标注物体检测。阅读原文查看可用模型列表。
– Nougat 用于学术文档的光学理解(图像到文本)。阅读原文查看可用模型列表。
🔨 其他改进
– 在 Llama 模型中添加对 Grouped Query Attention 的支持,由 @felladrin 在 #393 中贡献
– 由 @samlhuillier 在 #398 中实现最大字符检
– 在 #387 中添加 CLIPFeatureExtractor(和测试)
– 在 #395 中向 README 添加 jsDelivr 统计信息
– 在 #400 中更新 sharp 依赖版本
🐛 错误修复
– 由 @kungfooman 在 #404 中移动张量克隆以修复 Worker 拥有 NaN 问题
– 由 @do-me 在 #403 中为 multilingual-e5-* 模型添加默认 token_type_ids
– 确保 WASM 回退在 GH actions 中不会崩溃,参见 #402
🤗 新贡献者
– @felladrin 在 #393 中首次贡献
– @samlhuillier 在 #398 中首次贡献
– @do-me 在 #403 中首次贡献
本文由 Hugging Face 中文社区内容共建项目提供,稿件由社区成员投稿,经授权发布于 Hugging Face 公众号。文章内容不代表官方立场,文中介绍的产品和服务等均不构成投资建议。了解更多请关注公众号:
如果你有与开源 AI、Hugging Face 相关的技术和实践分享内容,以及最新的开源 AI 项目发布,希望通过我们分享给更多 AI 从业者和开发者们,请通过下面的链接投稿与我们取得联系:https://hf.link/tougao