社区供稿 | Transformers.js 2.9.0 发布, 新增深度估计、无标注物体检测和光学文档理解

2023/12/05 18:00
阅读数 27

近日,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');
// 生成 Markdownlet url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/nougat_paper.png';let output = await pipe(url, { min_length: 1, max_new_tokens40,  bad_words_ids: [[pipe.tokenizer.unk_token_id]],});
// [{ generated_text: "# Nougat: Neural Optical Understanding for Academic Documents\n\nLukas Blecher\n\nCorrespondence to: lblecher@meta.com\n\nGuillem 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

本文分享自微信公众号 - Hugging Face(gh_504339124f0f)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部