下载文件
openMind Hub Client通过黑白名单的方式控制文件的下载路径,文件的绝对路径不能以黑名单中的路径开头(默认缓存路径~/.cache/openmind除外),且必须在白名单中。黑名单为["/etc", "/var", "/bin", "/boot", "/lib", "~/."],白名单在linux下默认为["/tmp", "~/"],windows下为["~/", "D:", "E:", "F:"]。如不满足用户需求,用户可以通过配置环境变量HUB_WHITE_LIST_PATHS(用逗号隔开每个路径)自行配置白名单,同时黑名单权限的优先级大于白名单权限。
下载单个文件
om_hub_download方法可以从远程仓库下载文件,并将其缓存在本地,是最主要的下载文件的方法。示例如下,查看API文档获取支持的详细参数列表:
python
from openmind_hub import om_hub_download
om_hub_download(
repo_id="PyTorch-NPU/t5_small",
repo_type=None,
filename="config.json",
local_dir="demo/t5_small",
revision="main",
)
repo_id:目标仓库,必选。repo_type:仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。filename:需要下载的文件名称,必选。local_dir:文件下载到本地的路径,可选,默认只在缓存中创建symlink文件。revision:分支名称,可选。
om_hub_download会返回一个本地缓存的指针文件路径,请不要修改此文件以避免损坏缓存,详见缓存系统。
下载整个仓库
snapshot_download可以一次性下载整个仓库。示例如下:
python
from openmind_hub import snapshot_download
snapshot_download(repo_id="PyTorch-NPU/t5_small")
repo_id:目标仓库,必选。repo_type:仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。local_dir:将文件下载到本地的路径,可选。revision:分支名称,可选。
与上传目录类似,下载时也可以选择只下载某类文件或忽略下载某类文件,示例如下:
python
from openmind_hub import snapshot_download
snapshot_download(
repo_id="PyTorch-NPU/t5_small",
local_dir="demo/t5_small",
allow_patterns="*.json",
)
allow_patterns:只下载某类文件。如allow_patterns="*.json"表示只下载.json文件。ignore_patterns:忽略下载某类文件。如ignore_patterns=["*.bin", "*.safetensors"]表示忽略下载.bin与.safetensors文件。