快速下载huggingface模型和modelscope魔搭社区的使用方法汇总

一. 快速下载huggingface模型,目前推荐下面的方法

  • 首推 huggingface 镜像站: https://hf-mirror.com
  • 首推工具:官方的 huggingface-cli
方法类别推荐程度优点缺点
基于URL浏览器网页下载⭐⭐⭐通用性好手动麻烦/无多线程
多线程下载器(hfd/IDM等)⭐⭐⭐⭐⭐通用性好,鲁棒性好手动麻烦
CLI工具git clone命令⭐⭐简单无断点续传/冗余文件/无多线程
专用CLI工具huggingface-cli+hf_transfer⭐⭐⭐官方下载工具链,带加速功能容错性低
huggingface-cli⭐⭐⭐⭐⭐官方下载工具功能全不支持多线程
Python方法snapshot_download⭐⭐⭐官方支持,功能全脚本复杂
from_pretrained官方支持,简单不方便存储,功能不全
hf_hub_download官方支持不支持全量下载/无多线程

1. 第1种方法: 这里使用python代码hf_hub_download进行下载

python -m pip install huggingface_hub

1.1 这里以 {amritgupta/qafacteval} 为例,代码如下

在这里插入图片描述

# 设置环境变量
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"

# 代码下载
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="amritgupta/qafacteval",filename="README.md",local_dir="./qafacteval")


# 对于需要登录的模型,还需要两行额外代码:
import huggingface_hub
huggingface_hub.login("HF_TOKEN") # token 从 https://huggingface.co/settings/tokens 获取

参数

  • repo_id:模型/数据集的完整id(如amritgupta/qafacteval)
  • filename:Files中的某个文件(如README.md)

1.2 这里使用python代码snapshot_download进行下载

from huggingface_hub import snapshot_download
snapshot_download(
  repo_id="bigscience/bloom-560m",
  local_dir="/data/user/test",
  proxies={"https": "http://localhost:7890"},
  max_workers=8
)
对于需要登录的模型,还需要两行额外代码:

import huggingface_hub
huggingface_hub.login("HF_TOKEN") # token 从 https://huggingface.co/settings/tokens 获取

2. 第2种方法: 命令行下载

2.0 安装下载库

python -m pip install "huggingface_hub[cli]"

2.1 设置环境变量

创建一个文件

touch  ~/.bashrc

针对不同的系统进行设置

win的是
$env:HF_ENDPOINT = "https://hf-mirror.com"


linux的是
export HF_ENDPOINT=https://hf-mirror.com

2.2 开始下载, 两个模型和数据集为例

在这里插入图片描述

2.3 开始下载模型

huggingface-cli download huggyllama/llama-7b --local-dir /data/llama-7b
  • –local-dir:安装路径(若路径不存在,则自动创建)

2.4 下载数据集

huggingface-cli download --repo-type dataset uoft-cs/cifar10 --local-dir cifar10
  • —repo-type:类型(模型/数据集)
  • –local-dir:安装路径(若路径不存在,则自动创建)

3. 第3种方法: hf_transfer(基于rust的下载方式) ! 推荐

3.1 安装依赖库

python -m pip install -U hf-transfer

3.1 设置 HF_HUB_ENABLE_HF_TRANSFER 环境变量为 1。

Windows Powershell
$env:HF_HUB_ENABLE_HF_TRANSFER = 1
$env:HF_ENDPOINT = "https://hf-mirror.com" 


Linux
export HF_HUB_ENABLE_HF_TRANSFER=1

3.2 开启后使用方法同 huggingface-cli:

huggingface-cli download  tencent/Hunyuan3D-2 --local-dir ./checkpoints
  • resume-download 参数,指的是从上一次下载的地方继续,一般推荐总是加上该参数,断了方便继续。然而如果你一开始没有开启 hf_transfer,下载中途停掉并设置环境变量开启,此时用 --resume-download 会由于不兼容导致 hf_transfer 开启失败!总之观察是否有进度条就可以知道有没有开启成功,没有进度条就说明开启成功!

二. ModelScope魔搭社区的使用

  • https://modelscope.cn/

1. 安装下载库

pip install modelscope

2. 选择 {模型文件} 点击右侧的下载会有提示命令

在这里插入图片描述

2.1 SDK下载

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('stepfun-ai/stepvideo-t2v-turbo')

2.2 命令行下载

pip install modelscope

2.3 下载完整模型repo

modelscope download --model stepfun-ai/stepvideo-t2v-turbo
### 准备工作 为了在 Windows 11 上使用 NVIDIA GeForce RTX4070 GPU llama-factory 工具训练本地数据集,并从魔塔社区下载 deepseek-r1:7b 模型进行训练,需完成一系列配置。 #### 安装必要的软件环境 确保安装了最新的 NVIDIA 驱动程序以及 CUDA Toolkit[^1]。接着,安装 Python 并设置虚拟环境来管理依赖项: ```bash python -m venv myenv myenv\Scripts\activate pip install --upgrade pip setuptools wheel ``` #### 安装 PyTorch 及其他库 根据硬件情况选择合适的 PyTorch 版本,这里假设已经确认支持 CUDA 的版本: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 ``` 对于 llama-factory 所需的额外包,则可以通过如下命令获取: ```bash pip install transformers accelerate bitsandbytes ``` ### 下载并准备模型与数据集 访问魔塔社区网站找到 deepseek-r1:7b 模型页面,按照说明下载预训练权重文件至指定目录下。同时准备好要用于微调的数据集,并将其转换成适合输入给 LLMs (Large Language Models) 处理的形式。 ### 使用 llama-factory 进行训练 创建一个新的 Python 脚本来加载模型数据集,并启动训练过程。下面是一个简单的例子展示如何实现这一点: ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch from datasets import load_dataset tokenizer = AutoTokenizer.from_pretrained("path/to/deepseek-r1-7b") model = AutoModelForCausalLM.from_pretrained("path/to/deepseek-r1-7b") dataset = load_dataset('json', data_files={'train': 'local_data.json'}) def tokenize_function(examples): return tokenizer(examples['text'], padding="max_length", truncation=True) tokenized_datasets = dataset.map(tokenize_function, batched=True) small_train_dataset = tokenized_datasets["train"].shuffle(seed=42).select([i for i in list(range(100))]) training_args = TrainingArguments( output_dir="./results", evaluation_strategy="epoch", learning_rate=2e-5, per_device_train_batch_size=8, per_device_eval_batch_size=8, num_train_epochs=3, weight_decay=0.01, ) trainer = Trainer( model=model, args=training_args, train_dataset=small_train_dataset, eval_dataset=None, tokenizer=tokenizer, ) trainer.train() ``` 上述脚本假定有一个名为 `local_data.json` 的 JSON 文件作为训练数据源;实际应用时应调整路径其他参数以适应具体需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值