如何在无网络环境首次离线运行Hugging Face Pipeline?
离线环境下Hugging Face模型部署解决方案
完全可以通过手动下载模型文件后部署到离线服务器解决问题,具体操作步骤如下:
1. 在联网机器上下载完整模型文件
使用Hugging Face Hub工具批量下载模型的所有必要文件(包括权重、配置、分词器等),避免手动遗漏。执行以下Python代码:
from huggingface_hub import snapshot_download # 下载指定模型到本地目录 snapshot_download(repo_id="google/tapas-base-finetuned-wtq", local_dir="./tapas-model")
执行后,模型相关文件会被保存到当前目录下的tapas-model文件夹中。
2. 传输模型文件到离线服务器
通过scp、离线存储设备(如U盘)等方式,将整个tapas-model文件夹复制到离线服务器的指定路径,例如/opt/models/tapas-model。
3. 修改代码加载本地模型并启用离线模式
调整原有代码,改为从本地路径加载模型,同时开启离线模式避免程序尝试联网:
import os from transformers import pipeline import pandas as pd # 开启离线模式,禁止程序发起网络请求 os.environ['TRANSFORMERS_OFFLINE'] = '1' # 从服务器本地的模型路径加载模型 tqa = pipeline(task="table-question-answering", model="/opt/models/tapas-model") # 修正原代码笔误:pd.read.csv → pd.read_csv table = pd.read_csv("table.csv") table = table.astype(str) # 修正原代码笔误:tsrat → start query = ["who has the highest salary", "what is Brenden's start date?"] answers = tqa(table=table, query=query) print(answers)
4. 验证运行
在离线服务器上执行修改后的代码,程序会直接加载本地模型文件,无需联网即可正常运行。
补充说明
如果无法使用snapshot_download,也可以手动下载模型的核心文件,需确保包含:
config.jsonpytorch_model.bin(模型权重文件)tokenizer_config.jsonvocab.txtspecial_tokens_map.json
内容的提问来源于stack exchange,提问作者Bluemarble
相关产品推荐
相关产品推荐

