transformers.js 学习

前言:

想要了解transformers.js ,我建议可以先去看一下这个视频:

来自transformers.js 的作者的技术分享视频:Transformers.js:Web 上的最新机器学习技术

以下内容是我看过视频之后,简单的总结:

transformers.js 是什么?

在我的理解中,我觉得其实 transformers.js 就是一个帮助我们在js中运行高级AI模型的库。简单来说,这个库让我们在前端应用里使用chat GPT这些预训练好的AI 模型,不用依赖后端服务。

它帮我们简化了很多复杂的细节,比如模型的加载和运行。这样也可以不用了解AI模型的内部机制,就可以通过几行低代码时间自然语言处理任务,比如文本生成、情感分析、问答等。

transformers.js 工作原理

transformers.js ” 的核心原理是让 js能在浏览器或 Node.js 环境中加载和运行 Hugging Face 上的模型,这些模型通常用 PyTorch、TensorFlow 或 JAX 等框架训练过。为了在 js中使用,模型首先需要被转换为 ONNX格式,这种格式更适合高效推理和跨平台兼容。

用户有两种使用方式:

  1. 转换模型:如果有自定义模型,用户可以用 Hugging Face 的 Optimum 工具库,把这些用 PyTorch、TensorFlow 或 JAX 训练的模型转换成 ONNX 格式。这一步完成后,模型就能在前端用 transformers.js 来加载和推理了。

  2. 直接使用 Hugging Face 预转换模型:对于那些已经转换为 ONNX 格式的模型,可以直接加载使用。transformers.js 与 Hugging Face 的 Hub 相连,用户无需手动转换就可以使用预先配置好的模型,适合快速开发。

这样,transformers.js 把原本只能在后端使用的 AI 模型引入到了前端,既降低了难度,也带来了便利。

transformers.js 实际应用:

————语音转文本

简单的做一个语音转文本:

新建一个文件夹:

在这个文件夹下放一个.html文件,再放一个测试用的音频文件

接下来在.html文件中 首先生成html的页面模版

然后在body中创建script标签 同时不要忘记在标签内加入type="module"

现在就正式进入对于transformers.js使用的步骤了:

 1. 从cdn导入transformers库,并导入pipeline函数

参考网站:@xenova/transformers - npm

import { pipeline } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.17.2'

2. 创建自动语音识别流水线(ASR)  并将Hugging Face Hub的模型id作为第二个参数

transformers.js官网(中文)网站:https://hugging-face.cn/docs/transformers.js/index

由于我们这儿的功能是自动语音识别,所以我们所实现的任务的音频,同时很清楚我们需要的是自动语音识别  所以将automatic-speech-recognition作为我们的第一个参数,

同时我们将Hugging Face Hub的模型id作为第二个参数

 const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny')

   3. 最后一步是将音频文件传递给pipeline

这样就可以了

完整代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>第一个transformers.js</div>
    <script type="module">
        // 1. 从cdn导入transformers库,并导入pipeline函数
        import { pipeline } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.17.2'

        // 2. 创建自动语音识别流水线(ASR)
        // 并将Hugging Face Hub的模型id作为第二个参数
        const transcriber = await pipeline('automatic-speech-recognition', 'Xenova/whisper-tiny')

        // 3. 最后一步是将音频文件传递给pipeline
        const output = await transcriber('happy.mp3')
        console.log(output)
        document.write(output.text)
    </script>

</body>

</html>

就这样ok。

昨天是我一个特别好朋友的生日,恰巧我找的音频是一句生日快乐,可是他并没有告诉我昨天是他生日。可能我算不上吧,人与人真的好难相处呀。

### 获取 Transformers 学习教程资源 对于希望深入学习和掌握 Transformers 库的人来说,存在多种途径可以获得高质量的学习材料。 #### 官方文档与教程 官方文档是最权威的信息来源。Hugging Face 提供了详尽的在线文档[^1],其中不仅涵盖了安装指南、基础概念介绍,还包括了大量的实例代码片段以及最佳实践建议。这些资料非常适合初学者逐步了解如何利用该库完成不同的 NLP 任务。 #### 社区贡献的内容 除了官方渠道外,社区成员也分享了许多实用的教学文章和项目案例。例如,在一些博客平台上有作者撰写了详细的使用说明,像《Transformers.js 使用教程》就指导读者快速入门并应用此工具于实际场景之中;还有专门针对特定功能模块如初始化设置等方面的解析性帖子可供查阅[^2]。 #### 实战练习与案例研究 参与具体的工程项目或是模仿已有的成功范例也是提升技能的有效方式之一。许多开发者会在 GitHub 上公开自己的作品集,其中包括采用 Transformers 构建的应用程序源码。浏览这类仓库可以帮助加深理解,并激发创新思维。 #### 多媒体形式的学习素材 考虑到不同人的偏好差异,视频课程同样是一个不错的选择。网络上存在着大量有关 Transformer 的教学录像,它们通常会更加直观地展示操作流程和技术要点。此外,还有一些电子书或PDF版本的手册可以作为补充阅读材料[^4]。 ```bash pip install transformers -i https://mirrors.aliyun.com/pypi/simple ``` 上述命令展示了怎样借助国内镜像加速 Python 包管理器 pip 下载所需依赖项的方法,这对于准备环境来说十分有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值