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

文章目录

  • 整理文件
  • 跑通程序,测试预训练模型
  • 拆解Pipeline,逐步进行翻译任务

整理文件

首先下载模型所需的全部文件: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, pipelinemode_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转为英文单词

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

  1. keras冻结_Keras 实现加载预训练模型并冻结网络的层

    在解决一个任务时,我会选择加载预训练模型并逐步fine-tune.比如,分类任务中,优异的深度学习网络有很多. ResNet, VGG, Xception等等... 并且这些模型参数已经在imagen ...

  2. Pytorch网络模型权重初始化、保存与加载模型、加载预训练模型、按需设置学习率

    前言 在我们对神经网络模型进行训练时,往往需要对模型进行初始化或者加载预训练模型.本文将对模型的权重初始化与加载预训练模型做一个学习记录,以便后续查询使用. 权重初始化 常见的初始化方法 PyTorc ...

  3. MXNet快速入门之训练加载预训练模型(四)

    前言 在前面几篇文章中详细介绍了MXNet的一些特点以及入门基础知识,本篇文章主要介绍如何使用MXNet来训练模型.加载模型进行预测.预训练模型以及MXNet中GPU使用的相关知识. 在介绍训练模型之 ...

  4. pytorch:加载预训练模型(多卡加载单卡预训练模型,多GPU,单GPU)

    在pytorch加载预训练模型时,可能遇到以下几种情况. 分为以下几种 在pytorch加载预训练模型时,可能遇到以下几种情况. 1.多卡训练模型加载单卡预训练模型 2. 多卡训练模型加载多卡预训练模 ...

  5. 加载预训练模型时报错 KeyError: param ‘initial_lr‘ is not specified in param_groups[0]

    在加载预训练模型继续训练时,程序报错:KeyError: "param 'initial_lr' is not specified in param_groups[0] when resum ...

  6. Caffe2教程实例,加载预训练模型

    Caffe2教程实例,加载预训练模型 概述 本教程使用模型库中的预训练模型squeezenet 里分类我们自己的图片.我们需要提供要分类图片的路径或者URL信息作为输入.了解ImageNet对象代码可 ...

  7. 多语言预训练模型在机器翻译中的应用

    多语言预训练模型在机器翻译中的应用 机器翻译路线图:从统计机器翻译发展到多语言神经机器的翻译. 多语言神经机器的翻译: 训练: 多语言语言对的组合 根据数据大小抽样训练数据 模型构建: 一个统一的模型 ...

  8. 解决HuggingFace加载预训练模型时报错TypeError: expected str, bytes or os.PathLike object, not NoneType

    完整报错: TypeError: expected str, bytes or os.PathLike object, not NoneType 解决方法 检查下载的组件: 步骤1:完整的下载组件,包 ...

  9. Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

最新文章

  1. webService 客户端调用及异常信息First Element must contain the local name, Envelope , but found definitions...
  2. VTK:绘制BarChart条形图用法实战
  3. 记一次反馈,把钉钉客服聊跑了
  4. Sublime text无法自动通过package control安装插件的研究
  5. PHP 实现中文截取无乱码的方法
  6. 数据结构---二叉平衡排序树的删除
  7. leetcode743. 网络延迟时间(迪杰斯特拉算法)
  8. c java c时间格式处理_c:foreach 对时间类型进行格式化
  9. handler类型的定时器
  10. Redis解决秒杀中的超卖问题
  11. span标签的鼠标滑入提示_彻底搞懂拖拽——基于鼠标事件的拖拽以及基于HTML5 API的拖拽...
  12. 根据shp文件创建Mask文件
  13. 1月16日英语计算机统考,高考英语听力首次机考16日开考
  14. 陈玉琴老师的中医理学
  15. 跳棋java课程设计,C语言课程设计(论文)跳棋.doc
  16. 【经典游戏系列】回忆杀?扒一扒那些年我们玩过的打地鼠小游戏。
  17. html怎么调整成苹方,CSS 苹方字体
  18. MATLAB新手简明使用教程(七)——使用matlab建立多项式以及求导,商求导乘积求导等——新手来看,保证看懂。
  19. 【集训DAY1】Dwarves line up【线段树】
  20. NANO开发套件SD卡烧录+opencv配置+tensorrt+cuda10.2

热门文章

  1. python内建函数是什么_python适用的内建函数
  2. Eigen 简明教程之如何从Python转到Eigen
  3. 使用spring框架时,使用xml还是注解
  4. sed、head、grep、tail、EOF
  5. 算法笔记_096:蓝桥杯练习 算法提高 求最大值(Java)
  6. 雅虎网站页面性能优化的34条黄金守则(转)
  7. DataReader终结篇
  8. springboot获取当前服务ip_springboot(6)——整合日志
  9. python假设有三个列表_python基础三(列表和元组)
  10. 上项线体表位置_心理成熟的人都有哪些具体表现呢?