从huggingface下载模型到服务器并创建软连接
从huggingface下载多个大模型到服务器某个项目文件夹,但是这个文件夹空间不够,可以在服务器其他空间够的路径存储,通过软连接拉通这两个目录即可。直接软连接整个checkpoints目录,而无需为每个模型单独创建软连接。
创建软连接并迁移数据
首先,我们需要将项目中的 checkpoints 目录整体“重定向”到大容量磁盘。
-
创建目标存储目录
在空间充足的路径下创建目标文件夹。bash
mkdir -p /mnt/sda/li/checkpoints
这里使用
-p参数是为了确保即使路径中的上级目录不存在,也会一并创建。 -
迁移数据并创建软连接
接下来,处理项目中原有的checkpoints目录。请根据你的实际情况选择以下两种方案之一:-
情况A:原
checkpoints目录为空或不存在
直接创建软连接即可。bash
# 确保在原位置(/home/li/code-projects/Uni-MoE-master/Uni_MoE/)下操作 cd /home/li/code-projects/Uni-MoE-master/Uni_MoE/ # 如果原目录存在且为空,可以删除(如果不存在则忽略) rmdir checkpoints 2>/dev/null # 创建软连接 ln -s /mnt/sda/li/checkpoints ./checkpoints
-
情况B:原
checkpoints目录已有文件(包括部分下载的模型)
需要先将现有内容移动到新位置,再创建软连接。bash
# 1. 将原checkpoints目录下的所有内容移动到新位置 # 如果原目录非空,使用cp -r进行备份迁移;如果为空,此命令也安全 cp -r /home/li/code-projects/Uni-MoE-master/Uni_MoE/checkpoints/* /mnt/sda/li/checkpoints/ 2>/dev/null || true # 2. 进入项目目录 cd /home/li/code-projects/Uni-MoE-master/Uni_MoE/ # 3. 备份并删除原checkpoints目录(重要!) mv checkpoints checkpoints_backup # 重命名以作备份 # 4. 创建软连接 ln -s /mnt/sda/li/checkpoints ./checkpoints
-
-
验证软连接
创建完成后,务必检查软连接是否指向正确的位置。bash
ls -l /home/li/code-projects/Uni-MoE-master/Uni_MoE/checkpoints
如果输出结果类似
checkpoints -> /mnt/sda/lgy/checkpoints,说明软连接创建成功。
下载模型
现在,你可以通过软连接继续下载模型了。所有文件将实际存储在 /mnt/sda/lgy/checkpoints,但项目通过 ./checkpoints 访问。
-
设置环境变量(加速下载)
为了从国内镜像站高速下载,建议设置环境变量。bash
export HF_ENDPOINT=https://hf-mirror.com
你可以将这一行命令添加到你的
~/.bashrc或~/.zshrc文件中,使其永久生效。 -
执行下载命令
使用huggingface-cli进行下载,关键的参数是--resume-download,它允许你恢复下载并跳过已存在的文件。bash
huggingface-cli download Uni-MoE/Uni-MoE-audio-base --resume-download --local-dir ./checkpoints/Uni-MoE-audio-base --local-dir-use-symlinks False
命令参数说明:
-
--resume-download:核心参数,启用断点续传,并跳过本地已存在的文件。 -
--local-dir-use-symlinks False:建议禁用Hugging Face工具在缓存目录内创建的软链接,这样在checkpoints目录下看到的就是实体文件,管理起来更直观
-
使用Hugging Face访问令牌(解决频率限制)
由于你遇到了频率限制,建议使用访问令牌:
-
获取访问令牌:
-
访问 Hugging Face官网
-
登录/注册账户
-
进入 Settings → Access Tokens
-
创建新的token(选择read权限即可)
-
-
使用token下载:
情况一:临时设置(单次终端会话),关闭终端后,这个设置就会失效。
# 1. 安装hf_transfer
pip install hf_transfer
# 2. 设置token(如果有的话)
export HUGGING_FACE_HUB_TOKEN="你的token"
# 3. 确保使用镜像
export HF_ENDPOINT=https://hf-mirror.com
# 4. 重新下载
huggingface-cli download Uni-MoE/Uni-MoE-audio-base
--resume-download
--local-dir ./checkpoints/Uni-MoE-audio-base
--local-dir-use-symlinks False
情况二:永久设置(推荐)
如果你经常使用Hugging Face,强烈建议采用永久设置方式,这样就不需要每次打开终端都重新配置。
修改Shell配置文件
-
打开终端,使用文本编辑器(如
nano或vim)打开你Shell的配置文件。-
对于大多数Linux系统和使用Bash的用户,这个文件通常是
~/.bashrc。 -
如果你使用的是Zsh(比如macOS Catalina及之后版本的默认Shell),文件则是
~/.zshrc。
这里以Bash为例:
bash
nano ~/.bashrc
-
-
在配置文件的末尾添加下面这行,同样记得把
你的Token替换成真实的Token:bash
export HUGGINGFACEHUB_API_TOKEN="你的Token"
添加后,保存文件并退出编辑器(在nano中:按
Ctrl+X,然后按Y确认,最后按Enter)。 -
让配置文件立刻生效:
bash
source ~/.bashrc
或者,你也可以简单地关闭终端再重新打开一个。
-
再次验证:
bash
echo $HUGGINGFACEHUB_API_TOKEN
如果能正确显示,恭喜你,永久设置就完成了!









