【人工智能】【Python】离线环境下huggingface预训练权重导入流程

说明:在离线环境下,使用timm或者其他包通过huggingface下载预训练权重会报类似如下的错误:

File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/_factory.py", line 126, in create_model model = create_fn( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 988, in swin_tiny_patch4_window7_224 return _create_swin_transformer( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 888, in _create_swin_transformer model = build_model_with_cfg( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/_builder.py", line 436, in build_model_with_cfg load_pretrained( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/_builder.py", line 213, in load_pretrained state_dict = load_state_dict_from_hf(pretrained_loc, weights_only=True, cache_dir=cache_dir) File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/timm/models/_hub.py", line 225, in load_state_dict_from_hf cached_file = hf_hub_download( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/huggingface_hub/file_download.py", line 961, in hf_hub_download return _hf_hub_download_to_cache_dir( File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/huggingface_hub/file_download.py", line 1068, in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) File "/myvar/docker/home/cqai/miniconda3/envs/jz-shiftingnet/lib/python3.9/site-packages/huggingface_hub/file_download.py", line 1599, in _raise_on_head_call_error raise LocalEntryNotFoundError( huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.

这时我们可以在联网的电脑上下载好后复制过去。

查看预训练权重文件夹位置,运行以下命令:

python -c "from huggingface_hub import hf_hub_download; import os; print(os.path.expanduser('~/.cache/huggingface/hub'))"

我这边是从Windows11端复制到Linux服务器上,其他情况操作也是一样的。

图片[1] - AI科研 编程 读书笔记 - 【人工智能】【Python】离线环境下huggingface预训练权重导入流程 - AI科研 编程 读书笔记 - 小竹の笔记本

全部复制过去即可,或者挑选指定的预训练权重,完成后重新运行训练脚本,可见成功开始训练:

图片[2] - AI科研 编程 读书笔记 - 【人工智能】【Python】离线环境下huggingface预训练权重导入流程 - AI科研 编程 读书笔记 - 小竹の笔记本

© 版权声明
THE END
点赞14 分享
评论 共1条

请登录后发表评论