te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>下载HuggingFace模型和数据集(免翻墙)
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

下载HuggingFace模型和数据集(免翻墙)

运维笔记admin14浏览0评论

首推 huggingface 镜像站: https://hf-mirror 。
首推工具:官方的 huggingface-cli 命令行工具

这个知乎博主总结的很全面 如何快速下载huggingface模型——全方法总结

我用下面这个流程下载就OK

1. 安装依赖

pip install -U huggingface_hub

注意:huggingface_hub 依赖于 Python>=3.8,此外需要安装 0.17.0 及以上的版本,推荐0.19.0+。

2. 代码下载

以这个模型为例amritgupta/qafacteval

# 设置环境变量
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror"

# 代码下载
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="amritgupta/qafacteval",filename="README.md",local_dir="./qafacteval")

参数

  • repo_id:模型/数据集的完整id(如amritgupta/qafacteval
  • filename:Files中的某个文件(如README.md

3. 命令行下载

3.1 设置环境变量

  • Linux
export HF_ENDPOINT=https://hf-mirror
  • Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror"

建议将上面这一行写入 ~/.bashrc。

以这两个模型和数据集为例

huggingface-cli 隶属于 huggingface_hub 库,不仅可以下载模型、数据,还可以可以登录huggingface、上传模型、数据等。huggingface-cli 属于官方工具,优先推荐!

3.2 下载模型

点下复制,得到 模型名字 huggyllama/llama-7b

huggingface-cli download huggyllama/llama-7b --local-dir /data/llama-7b

参数

  • --local-dir:安装路径(若路径不存在,则自动创建)

3.3 下载数据集

点下复制,得到 数据集名字 uoft-cs/cifar10

huggingface-cli download --repo-type dataset uoft-cs/cifar10 --local-dir cifar10

参数

  • --repo-type:类型(模型/数据集)
  • --local-dir:安装路径(若路径不存在,则自动创建)

其他可选参数

以下参考 如何快速下载huggingface模型——全方法总结

  • 可选参数 --resume-download (已废弃)
    【更新:huggingface_hub v0.23.0 已弃用 --resume-download参数,现在默认断点续传】
    通过添加该参数,huggingface-cli的下载可断点续传,可以恢复上次因主动取消或网络波动异常退出的未完成的下载。

  • 可选参数 --local-dir-use-symlinks False
    【更新:请注意,v0.23.0开始加--local-dir 时会关闭符号链接】

    值得注意的是,有个--local-dir-use-symlinks False 参数可选,因为huggingface的工具链默认会使用符号链接来存储下载的文件,导致--local-dir指定的目录中都是一些“链接文件”,真实模型则存储在~/.cache/huggingface下,如果不喜欢这个可以用 --local-dir-use-symlinks False取消这个逻辑。

    但我不太喜欢取消这个参数,其最大方便点在于,调用时可以用模型名直接引用模型,而非指定模型路径。

什么意思呢?我们知道,from_pretrain 函数可以接收一个模型的id,也可以接收模型的存储路径。

假如我们用浏览器下载了一个模型,存储到服务器的 /data/llama-7b 下了,调用的时候你得写模型的绝对路径

AutoModelForCausalLM.from_pretrained("/data/llama-7b")

然而如果你用的 huggingface-cli download gpt2 --local-dir /data/llama-7b 下载,即使你把模型存储到了自己指定的目录,但是你仍然可以简单的用模型的名字来引用他。即:

AutoModelForCausalLM.from_pretrained("llama-7b")

原理是因为 huggingface工具链会在 .cache/huggingface/ 下维护一份模型的符号链接,无论你是否指定了模型的存储路径 ,缓存目录下都会链接过去,这样可以避免自己忘了自己曾经下过某个模型,此外调用的时候就很方便。

所以用了官方工具,既可以方便的用模型名引用模型,又可以自己把模型集中存在一个自定义的路径,方便管理。

发布评论

评论列表(0)

  1. 暂无评论