HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务

2023-11-05

加载模型页面为:https://huggingface.co/liam168/trans-opus-mt-zh-en

整理文件

首先下载模型所需的全部文件:https://huggingface.co/liam168/trans-opus-mt-zh-en/tree/main,将文件全部下载到本地,命名为trans_model

然后创建一个调用模型的python程序文件:use_translate.py

整个文件结构如下:
在这里插入图片描述

跑通程序,测试预训练模型

use_translate.py文件中写入:

from transformers import AutoModelWithLMHead, AutoTokenizer, pipeline

mode_name = "trans_model"
model = AutoModelWithLMHead.from_pretrained(mode_name)
tokenizer = AutoTokenizer.from_pretrained(mode_name)
translation = pipeline("translation_zh_to_en", model=model, tokenizer=tokenizer)
translate_result = translation('自然语言处理的技术之一:机器翻译', max_length=400)
print(translate_result)
# [{'translation_text': 'One of the technologies for natural language processing: machine translation'}]

如果控制台输出:

[{'translation_text': 'One of the technologies for natural language processing: machine translation'}]

则说明模型是通的,都没有问题

拆解Pipeline,逐步进行翻译任务

from transformers import AutoModelWithLMHead, AutoTokenizer

# 加载预训练模型
mode_name = "trans_model"
model = AutoModelWithLMHead.from_pretrained(mode_name)
tokenizer = AutoTokenizer.from_pretrained(mode_name)

# 开始翻译
text = "自然语言处理的技术之一:机器翻译"

# 步骤1:将文本变为token,返回pytorch的tensor
tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors='pt')
# 也可以使用:
# tokenized_text = tokenizer([text], return_tensors="pt")

# 步骤2:通过模型,得到预测出的token
translation = model.generate(**tokenized_text)  # 执行翻译,返回翻译后的tensor

# 步骤3:将预测出的token转为单词
translated_text = tokenizer.batch_decode(translation, skip_special_tokens=True)
print(translated_text)

输出:

['One of the technologies for natural language processing: machine translation']

因此我们可以发现,整体的流程是:

  1. 将原始中文文本变为token
  2. 通过模型,得到预测出的token(对应英文的token)
  3. 将预测出的token转为英文单词
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务 的相关文章

随机推荐

  • [LeetCode-1342]Number of Steps to Reduce a Number to Zero

    该题是easy 比较简单 我用的是常规的方法 看到了一行实现的大神 文章目录 题目相关 Solution 题目相关 题目解读 给定一个数 0 1 0 6 10 6 106 判断该数经过减1 或 除2操作到达0所需要的步数 原
  • 利用VSCode实现远程连接服务器并实时同步保存文件

    本博客主要用来记录和分享经验 有问题欢迎大家友善讨论 转载请注明出处并选择文章类型为 转载 博主作为新人 水平有限 多谢理解 前言 博主在使用MobaXterm远程连接服务器时 不是很习惯使用其自带的编辑器修改代码 可能主要是因为每次保存后
  • 前端架构师

    岗位职责 1 负责云计算产品前端架构工作及产品开发规划工作 2 维护及优化网站前端性能 优化前端开发模式和规范 3 根据产品人员提供的业务需求 探索并优化前端开发效果 4 探索并优化前端开发效率 代码质量 职位要求 1 对Node js A
  • node版本升级

    查看当前node的版本号 node v 查看npm工具版本 npm v 安装管理node的版本管理工具 n npm install g n 清理npm的cache npm cache clean f 更新到最新稳定版 n stable 修改
  • MySQL数据教程(一)数据库概念,超详细安装和配置数据库,数据库可视化界面介绍

    1 数据库基本概念 1 1什么是数据库 数据库 database 是用来组织 存储和管理数据的仓库 当今世界是一个充满着数据的互联网世界 充斥着大量的数据 数据的来源有很多 比如出行记录 消费记录 浏览的网页 发送的消息等等 除了文本类型的
  • vos安装好后java环境未找到

    首先安装jdk 然后用电脑管家修复下 转载于 https www cnblogs com flyoung p 9400295 html
  • 大数据学习之Zookeeper——01Zookeeper简单介绍

    转载 https www cnblogs com sunddenly p 4033574 html 一 分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术 分布式协调技术 那么什么是分布式协调技术 那么我来告诉大家 其
  • ssm项目(商城管理系统)-- 完整

    搭建SSM项目 1 新建Maven工程 添加Web模板 2 配置 pom xml文件 2 1 集中定义全局变量 依赖版本号 方便管理版本 2 2 依赖 2 3 插件 2 4 识别配置文件 3 添加配置文件 3 1 数据库连接信息jdbc p
  • Visual Studio注释快捷键

    VS注释快捷键操作 注释 先CTRL K 然后CTRL C 取消注释 先CTRL K 然后CTRL U
  • 我的世界启动器怎么更改java_我的世界启动器Java路径怎么设置?

    本文是历趣手游专区小编为诸位我的世界PC端玩家带来的我的世界启动器Java路径如何设置攻略 希望诸位我的世界玩家会喜欢 我的世界java路径设置攻略 1 首先我们要确保电脑中已经下载并安装好了最新的java 如果没有的话 我们直接在网上搜索
  • 计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案...

    有关win10系统提示由于该设备有问题windows已将其停止 代码43 的操作方法想必大家有所耳闻 但是能够对win10系统提示由于该设备有问题windows已将其停止 代码43 进行实际操作的人却不多 其实解决win10系统提示由于该设
  • jmeter及jdk的环境变量配置

    jmeter是apache公司基于java开发的一款开源压力测试工具 其内部原理都是源于java的运行 并支持多种外部插件用于接口及性能测试 最主要的还是开源免费 在安装jmeter前必须配置jdk环境 jdk下载地址 https www
  • vsCode中conda activate失败的解决办法

    首先贴上报错信息 无法加载文件 C Users 13623 Documents WindowsPowerShell profile ps1 因为在此系统上禁止运行脚本 CommandNotFoundError Your shell has
  • git网址访问加载超时速度慢

    git来重置密码 再点击git网站无法打开怎么解决 首先我们应该要明白gitl本身访问就比较慢 所以我们需要登录时候需要借用github但有时候会出现访问速度特别慢的情况因此咱们需要修改配置 借用最新的ip地址来自增强访问github网站的
  • Android系统中数据库应用

    1 设置策略中的数据库 frameworks base packages SettingsProvider src com android providers settings DatabaseHelper java 2 sqlite3操作
  • 【Firefly入门教程】firefly、MySQL和Memcached共同使用

    coding utf8 firefly MySQL和Memcached共同使用 from firefly dbentrust dbpool import dbpool from firefly dbentrust memclient imp
  • 1116:打印零与奇偶数

    题目描述 假设有这么一个类 class ZeroEvenOdd public ZeroEvenOdd int n 构造函数 public void zero printNumber 仅打印出 0 public void even print
  • 什么是文件服务器

    文件服务器是一种器件 它的功能就是向服务器提供文件 在计算机局域网中 以文件数据共享为目标 需要将供多台计算机共享的文件存放于一台计算机中 这台计算机就被称为文件服务器 文件服务器具有分时系统管理的全部功能 能够对全网统一管理 能够提供网络
  • 自己如何重装系统_重装系统方法汇总

    系统崩溃或者蓝屏后 只能重装系统才能解决问题 电脑安装系统方法很多 除费时麻烦现在很少应用的完全安装方法外 常用克隆安装 其方法又分为 硬盘安装 适用于进行过系统备份的熟练用户 U盘安装 适用于有一定电脑操作能力的基础用户 和光盘安装 适用
  • HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务

    加载模型页面为 https huggingface co liam168 trans opus mt zh en 文章目录 整理文件 跑通程序 测试预训练模型 拆解Pipeline 逐步进行翻译任务 整理文件 首先下载模型所需的全部文件 h