logo
1
0
Login

模型下载工具

简介

本仓库提供了两个专用工具脚本,用于简化AI模型文件的下载和管理过程。这些工具专为机器学习和AI研究人员、开发者以及任何需要处理大型模型文件的用户设计。

  • download_model.py: 一个轻量级Python脚本,专注于从直接URL下载单个模型文件,提供进度显示和错误处理。
  • git_fetch.sh: 一个功能丰富的Bash脚本,用于从Git仓库(如GitHub、Hugging Face等)获取模型文件、目录或整个仓库。

这些工具的主要优势在于它们简化了从常见AI模型托管平台(如Hugging Face、GitHub等)下载大型模型文件的过程,并提供了更好的错误处理和进度跟踪。

目录结构

├── download_model.py # 单文件下载工具 ├── git_fetch.sh # Git仓库/URL内容获取工具 └── models/ # 模型存储目录 ├── controlnet/ # ControlNet模型 ├── loars/ # LoRA模型 ├── unet/ # UNet模型 └── vae/ # VAE模型

download_model.py

描述

download_model.py是一个简单的Python脚本,用于从指定URL下载单个文件(如模型权重文件)到本地路径。它提供下载进度显示,并自动创建必要的目录结构。

使用方法

python download_model.py <URL> <目标文件路径>

参数

  • <URL>: 要下载的文件的网址
  • <目标文件路径>: 保存下载文件的本地路径

功能特点

  • 自动创建目标目录(如果不存在)
  • 使用模拟浏览器的请求头,提高下载成功率
  • 显示下载进度信息(URL、目标路径、文件大小)
  • 支持大文件下载(使用分块下载方式)
  • 提供错误处理和状态报告

使用示例

  1. 下载ControlNet模型:
python download_model.py https://huggingface.co/guozinan/PuLID/resolve/main/pulid_v1.1.safetensors models/controlnet/pulid/pulid_v1.1.safetensors
  1. 下载VAE模型:
python download_model.py https://huggingface.co/stabilityai/sd-vae-ft-mse/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors models/vae/sd15/vae-ft-mse-840000-ema-pruned.safetensors

git_fetch.sh

描述

git_fetch.sh是一个更强大的Bash脚本,用于从Git仓库或URL中获取文件或目录。它可以处理各种类型的URL,并支持下载整个仓库、特定目录或特定文件。

使用方法

bash git_fetch.sh <git_repo_url> <repo_directory_path> <local_target_directory> [specific_file] [--keep-cache]

参数

  • <git_repo_url>: Git仓库URL或网页URL
  • <repo_directory_path>: 仓库中要下载的目录路径,使用"."表示整个仓库
  • <local_target_directory>: 保存下载内容的本地目录
  • [specific_file]: (可选)仅下载指定的文件
  • [--keep-cache]: (可选)保留Git缓存

功能特点

  • 支持从Git仓库下载内容
  • 支持从普通网页URL下载内容
  • 可以下载整个仓库、特定目录或特定文件
  • 自动处理不同类型的URL
  • 清理临时文件和缓存

使用示例

  1. 从GitHub仓库下载特定目录:
bash git_fetch.sh https://github.com/username/repo.git models/controlnet models/
  1. 从Hugging Face下载模型文件:
bash git_fetch.sh https://huggingface.co/runwayml/stable-diffusion-v1-5 vae models/vae/sd15/
  1. 下载整个Git仓库:
bash git_fetch.sh https://github.com/username/model-repo.git . models/
  1. 下载特定文件:
bash git_fetch.sh https://github.com/username/repo.git models/configs models/ config.json
  1. 保留Git缓存:
bash git_fetch.sh https://github.com/username/repo.git models models/ --keep-cache
  1. 从普通URL下载内容:
bash git_fetch.sh https://example.com/path/to/files . models/downloaded_files/

安装依赖

对于 download_model.py

  1. 安装Python(如果尚未安装):
# 在Debian/Ubuntu系统上 sudo apt-get update sudo apt-get install python3 python3-pip # 在CentOS/RHEL系统上 sudo yum install python3 python3-pip # 在macOS上(使用Homebrew) brew install python3
  1. 安装必要的Python库:
pip3 install requests tqdm

对于 git_fetch.sh

  1. 安装Git和curl(如果尚未安装):
# 在Debian/Ubuntu系统上 sudo apt-get update sudo apt-get install git curl # 在CentOS/RHEL系统上 sudo yum install git curl # 在macOS上(使用Homebrew) brew install git curl
  1. 确保脚本具有执行权限:
chmod +x git_fetch.sh

注意事项

  1. 对于大型模型文件,下载可能需要较长时间,请确保网络连接稳定

  2. 从Hugging Face下载文件时:

    • 使用download_model.py时,URL中应使用resolve而非blob以获取原始文件内容
    • 使用git_fetch.sh时,提供仓库URL和目录路径作为单独的参数
  3. 下载完成后,请验证文件的完整性和正确性

  4. 如果下载过程中断,download_model.py不会自动恢复下载,需要重新开始;而git_fetch.sh在某些情况下可以通过--keep-cache选项恢复下载

  5. 对于需要身份验证的仓库,可能需要设置适当的环境变量或使用个人访问令牌

免责声明 【本仓库为个人学习使用,请自行遵守各模型使用协议】

  1. 模型文件来自各开源社区,为ComfyUI爱好者个人研究学习提供帮助;如模型所有者有异议请马上联系删除,禁止商用!禁止商用!禁止商用!

  2. 请使用者自行核对各模型的专属使用协议并严格遵守;同时需自行核查模型文件的安全性,因未遵守协议或忽视安全核查导致的风险及损失,由用户自行承担。

  3. 使用者对使用本仓库模型生成的所有内容负完全法律责任,需确保内容符合法律法规及公序良俗,严禁生成违法、有害、侵权或违背道德准则的内容。

About

loar 模型文件

Language
Shell95.1%
Python4.9%