前言
国内优先使用modelscope,hugging face镜像站下载还是不怎么稳定。
modelscope
modelscope:ModelScope - 模型列表页
找下有没有需要的模型,有的话拷贝下 <namespace>/<model-name>,如图:
使用git clone:
git lfs clone https://www.modelscope.cn/<namespace>/<model-name>.git
比如我要下的是AI-ModelScope/stable-diffusion-xl-base-1.0,那么链接就是:
git lfs clone https://www.modelscope.cn/AI-ModelScope/stable-diffusion-xl-base-1.0.git
huggingface
直接下载
将huggingface.co替换为hf-mirror.com即可。如:
然后在Linux中可以直接使用wget下载,每次这么操作可能比较麻烦,所以针对这种方式我写了一个脚本:
#!/bin/bash # 检查是否提供了 URL 参数 if [ -z "$1" ]; then echo "错误:未提供 URL" exit 1 fi # 读取 URL、可选的文件名和下载路径参数 URL=$1 FILENAME_PARAM=$2 PATH_PARAM=$3 # 检查并选择下载工具 if command -v wget > /dev/null; then DOWNLOAD_CMD="wget -O" elif command -v curl > /dev/null; then DOWNLOAD_CMD="curl -o" else echo "错误:未找到 wget 或 curl 工具" echo "请尝试安装其中一个工具,例如:" if command -v apt-get > /dev/null; then echo "sudo apt-get install wget" elif command -v yum > /dev/null; then echo "sudo yum install wget" elif command -v dnf > /dev/null; then echo "sudo dnf install wget" elif command -v pacman > /dev/null; then echo "sudo pacman -S wget" else echo "请手动安装 wget 或 curl 工具" fi exit 1 fi # 替换 URL 中的域名 MODIFIED_URL=$(echo $URL | sed 's|https://huggingface.co|https://hf-mirror.com|') # 如果提供了文件名参数,则使用该文件名,否则从 URL 中提取 if [ -z "$FILENAME_PARAM" ]; then FILENAME=$(basename "$URL" | sed 's|\?.*$||') else FILENAME=$FILENAME_PARAM fi # 使用选择的下载命令下载文件 # 如果提供了路径参数,则使用该路径,否则使用当前目录 if [ -z "$PATH_PARAM" ]; then $DOWNLOAD_CMD "$FILENAME" "$MODIFIED_URL" else $DOWNLOAD_CMD "$PATH_PARAM/$FILENAME" "$MODIFIED_URL" fi
创建一个dmodel.sh文件,然后把代码复制进去。运行命令如下:
dmodel.sh 【复制的链接】 【文件名(默认是url中的文件名)】 【下载路径(默认是当前位置)】
后面两个参数是可以不需要提供的,注意参数之间有空格。如果说运行报错/bin/bash^M: bad interpreter: No such file or directory,可以参考我这篇文章:解决Linux Shell脚本错误:“/bin/bash^M: bad interpreter: No such file or directory”_-bash: ./docking.sh: /bin/bash^m: bad interpreter:-CSDN博客
使用工具
Python版本至少是3.8
安装hugging face官方提供的下载工具
pip install -U huggingface_hub hf-transfer
Windows设置环境变量
在当前窗口设置临时环境变量(cmd.exe)
set HF_HUB_ENABLE_HF_TRANSFER 1
你也可以设置永久的环境变量(可能需要管理员权限)
setx HF_HUB_ENABLE_HF_TRANSFER 1
Linux设置环境变量
只是当前窗口下有效
export HF_HUB_ENABLE_HF_TRANSFER=1
设置国内镜像
Windows(cmd.exe)
当前窗口有效
set HF_ENDPOINT https://hf-mirror.com
永久生效
setx HF_ENDPOINT https://hf-mirror.com
Linux
当前窗口有效
export HF_ENDPOINT=https://hf-mirror.com
永久生效
# 配置环境变量
vim ~/.bashrc
# 在打开文件中的最后一行添加
export HF_ENDPOINT="https://hf-mirror.com"
下载模型
huggingface-cli download --token [访问令牌] --resume-download --local-dir-use-symlinks False [模型名] --local-dir [保存位置]
如果你使用的是conda,注意看下有没有切换对应的环境!!!
有些模型不需要token也能直接下载!!!把token选项去掉即可
访问令牌获取链接:https://huggingface.co/settings/tokens
比如我要下载ChatGLM的模型,操作如下:
命令如:
huggingface-cli download --resume-download --local-dir-use-symlinks False THUDM/chatglm3-6b --local-dir chatglm3-6b
参考文章
👍点赞,你的认可是我创作的动力 !
🌟收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!