欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/141140498
免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。
Huggingface-CLI 是强大的命令行工具,简化与 Hugging Face 模型库的交互,通过这个工具,可以搜索、下载和管理各种预训练的自然语言处理模型,支持从模型下载到环境配置的全流程操作,允许用户快速访问 Hugging Face 的模型集合,执行模型转换,能够在命令行中配置和测试模型,有助于在不同项目中集成和应用最新的机器学习技术。
参考:https://huggingface.co/docs/huggingface_hub/en/guides/cli
常见的 HuggingFace 使用方式,来源于 ComfyUI_Florence2SAM2/utils/florence.py
,如下:
from transformers import AutoModelForCausalLM, AutoProcessorFLORENCE_CHECKPOINT = "microsoft/Florence-2-base"
# ...
def load_florence_model(device: torch.device, checkpoint: str = FLORENCE_CHECKPOINT) -> Tuple[Any, Any]:with patch("transformers.dynamic_module_utils.get_imports", fixed_get_imports):model = AutoModelForCausalLM.from_pretrained(checkpoint, trust_remote_code=True).to(device).eval()processor = AutoProcessor.from_pretrained(checkpoint, trust_remote_code=True)return model, processor
这种情况下,需要下载 microsoft/Florence-2-base
工程,HuggingFace 地址 https://huggingface.co/microsoft/Florence-2-base
使用 transformers-cli
也可以下载模型,即:
export HF_HOME="/path/to/your/custom/cache/dir"
transformers-cli download --trust-remote-code microsoft/Florence-2-base
如果没有使用过,需要先下载再使用,下载地址位于 HF_HOME
变量中,默认位于 ~/.cache/huggingface/transformers
,即:
export HF_HOME="[you path]/huggingface/"
下载的文件格式,以 microsoft/Florence-2-base
为例,模型命名方式 models--microsoft--Florence-2-base
,如下:
tree -h -L 3 huggingface/hub/models--microsoft--Florence-2-basehuggingface/hub/models--microsoft--Florence-2-base
├── [4.0K] blobs
│ ├── [ 34] 44784bc58d4cb18d3549ad71e062efcf032d9ef5
│ ├── [ 45K] 538110e8fd421258847d317cb62c40b9671d07a9
│ ├── [ 15K] 622f74997c5612ff68d0e55063714f291d159166
│ ├── [2.4K] 74a4482afd52515c89ae8d7d388a537a16f5d350
│ ├── [ 806] 85cd7be3568df661ad536b6ab20d59b08ba079ae
│ ├── [1.0M] 94a2f4fd50e976bda926c700291522ea1a79323f
│ ├── [1.3M] ad0bcbeb288f0d1373d88e0762e66357f55b8311
│ ├── [443M] b480ac374593b0dcb18ffa63b23213734e04cd43eab0d620d23e39708d4a4a7e
│ └── [124K] e5ee65134d1a5e98357f8d500c9b9af5f8c00a08
├── [4.0K] refs
│ └── [ 40] main
└── [4.0K] snapshots└── [4.0K] ee1f1f163f352801f3b7af6b2b96e4baaa6ff2ff├── [ 52] config.json -> ../../blobs/74a4482afd52515c89ae8d7d388a537a16f5d350├── [ 52] configuration_florence2.py -> ../../blobs/622f74997c5612ff68d0e55063714f291d159166├── [ 52] modeling_florence2.py -> ../../blobs/e5ee65134d1a5e98357f8d500c9b9af5f8c00a08├── [ 52] preprocessor_config.json -> ../../blobs/85cd7be3568df661ad536b6ab20d59b08ba079ae├── [ 52] processing_florence2.py -> ../../blobs/538110e8fd421258847d317cb62c40b9671d07a9├── [ 76] pytorch_model.bin -> ../../blobs/b480ac374593b0dcb18ffa63b23213734e04cd43eab0d620d23e39708d4a4a7e├── [ 52] tokenizer.json -> ../../blobs/ad0bcbeb288f0d1373d88e0762e66357f55b8311├── [ 52] tokenizer_config.json -> ../../blobs/44784bc58d4cb18d3549ad71e062efcf032d9ef5└── [ 52] vocab.json -> ../../blobs/94a2f4fd50e976bda926c700291522ea1a79323f
如果使用 huggingface-cli
下载 microsoft/Florence-2-base
,即:
pip install -U huggingface_hub hf-transfer
huggingface-cli download --token [your token] microsoft/Florence-2-base --local-dir microsoft/Florence-2-base
输出格式,如下:
microsoft/
└── [4.0K] Florence-2-base├── [ 444] CODE_OF_CONDUCT.md├── [1.1K] LICENSE├── [ 14K] README.md├── [2.6K] SECURITY.md├── [1.2K] SUPPORT.md├── [2.4K] config.json├── [ 15K] configuration_florence2.py├── [124K] modeling_florence2.py├── [ 806] preprocessor_config.json├── [ 45K] processing_florence2.py├── [443M] pytorch_model.bin├── [1.3M] tokenizer.json├── [ 34] tokenizer_config.json└── [1.0M] vocab.json
两者的格式是有差异的:
- 使用
huggingface-cli
下载的绝对路径,传入from_pretrained()
类 - 也可以,预先调用 Python 脚本,实现预下载。
如果缓存,则需要加载之后,再缓存,调用 save_pretrained()
函数,例如 model.save_pretrained()
。