前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Transformers离线模式的设置方式

Transformers离线模式的设置方式

原创
作者头像
buzzfrog
发布2024-07-31 11:37:51
2770
发布2024-07-31 11:37:51
举报
文章被收录于专栏:云上修行

在某些情况下,如在严格的网络安全环境下或者没有网络连接的情况(包括私有云,隔离环境等)下,使用Transformers库进行机器学习项目,我们需要在离线环境中运行Transformers。以下是实现Transformers和Datasets库离线使用的步骤和方法。

环境变量设置

为了在离线模式下运行Transformers,我们首先需要设置特定的环境变量来告诉库仅使用本地文件。这可以通过设置以下环境变量来实现:

  • TRANSFORMERS_OFFLINE: 设置为1时,启用Transformers的离线模式。
  • HF_DATASETS_OFFLINE: 设置为1时,启用Datasets的离线模式。

这些环境变量可以通过命令行在运行脚本前设定:

代码语言:bash
复制
export TRANSFORMERS_OFFLINE=1
export HF_DATASETS_OFFLINE=1

或者通过在运行Python脚本时直接在命令前添加这些变量:

代码语言:bash
复制
HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
python your_script.py

离线获取模型和分词器

在没有网络连接的情况下使用Transformers库,需要预先下载并保存所需的模型和分词器。以下简述了离线模式下准备模型和分词器的几种方法:

通过模型中心下载

访问模型中心,找到需要的模型,点击下载(↓)图标手动下载所需文件。

使用Transformers API

首先,在有网络连接的环境中使用from_pretrained方法下载模型和分词器,并使用save_pretrained保存到本地:

代码语言:python
代码运行次数:0
复制
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

# 下载模型和分词器
tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B")
model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")

# 保存到本地路径
tokenizer.save_pretrained("./your/path/bigscience_t0")
model.save_pretrained("./your/path/bigscience_t0")

之后,在离线环境中,您可以通过指定本地路径来重新加载这些模型和分词器:

代码语言:python
代码运行次数:0
复制
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

# 从本地路径加载
tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0")
model = AutoModelForSeq2SeqLM.from_pretrained("./your/path/bigscience_t0")

使用huggingface_hub库

另一个选项是使用huggingface_hub库来下载模型文件到本地路径。首先,需要安装huggingface_hub:

代码语言:bash
复制
python -m pip install huggingface_hub

然后,使用hf_hub_download函数下载特定文件:

代码语言:bash
复制
from huggingface_hub import hf_hub_download

# 下载指定文件到本地路径
hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./your/path/bigscience_t0")

使用下载的配置文件创建配置实例:

代码语言:python
代码运行次数:0
复制
from transformers import AutoConfig

# 使用本地配置文件创建配置
config = AutoConfig.from_pretrained("./your/path/bigscience_t0/config.json")

总结

以上步骤说明了如何在离线环境下设置和使用Transformers和Datasets库。通过预先下载必要的模型和分词器,并通过设置环境变量来告诉库在离线模式下运行,可以有效地在没有网络连接的环境中进行机器学习项目的开发和测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境变量设置
  • 离线获取模型和分词器
    • 通过模型中心下载
      • 使用Transformers API
        • 使用huggingface_hub库
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档