强制使用HTTP/3连接解决SNI阻断的问题
执行以下命令后再打开被sni阻断的域名
Mac OS
open -a "Google Chrome" --args --origin-to-force-quic-on=hf-mirror.com:443
Windows/Linux
/path/to/chrome.exe --origin-to-force-quic-on=hf-mirror.com:443
好奇宝宝
执行以下命令后再打开被sni阻断的域名
Mac OS
open -a "Google Chrome" --args --origin-to-force-quic-on=hf-mirror.com:443
Windows/Linux
/path/to/chrome.exe --origin-to-force-quic-on=hf-mirror.com:443
Update: 推荐 huggingface 镜像站: https://hf-mirror.com
Update: 推荐官方的 huggingface-cli 命令行工具、以及本站开发的 hfd脚本。
本文已发表至知乎 https://zhuanlan.zhihu.com/p/663712983。
Stackoverflow 上有个AI开发入门的最常见问题 How to download model from huggingface?,回答五花八门,可见下载 huggingface 模型的方法是十分多样的。
其实网络快、稳的话,随便哪种方法都挺好,然而结合国内的网络环境,断点续传、多线程下载等特性还是非常有必要的,否则动辄断掉重来很浪费时间。基于这个考虑,对各类方法做个总结和排序:
方法类别 | 推荐程度 | 优点 | 缺点 | |
---|---|---|---|---|
基于URL | 浏览器网页下载 | ⭐⭐⭐ | 通用性好 | 手动麻烦/无多线程 |
多线程下载器 | ⭐⭐⭐⭐ | 通用性好 | 手动麻烦 | |
CLI工具 | git clone 命令 |
⭐⭐ | 简单 | 无断点续传/冗余文件/无多线程 |
专用CLI工具 | huggingface-cli +hf_transfer |
⭐⭐⭐ | 官方下载工具链,功能最全 | 无进度条/容错性低 |
huggingface-cli |
⭐⭐⭐⭐⭐ | 官方下载工具 | 不支持多线程 | |
Python方法 | snapshot_download |
⭐⭐⭐ | 官方支持,功能全 | 脚本复杂/无多线程 |
from_pretrained |
⭐ | 官方支持,简单 | 不方便存储,功能不全 | |
hf_hub_download |
⭐ | 官方支持 | 不支持全量下载/无多线程 |
另外对于数据集的下载和模型基本相同,同理参考。
以下对上述方法进行介绍,并介绍几个常见问题:
利用 name.com 的 REST API 随手写了个 name.com 的 DDNS 脚本:
最近给 Git 配置代理,发现给 SSH 配置有认证的代理并不容易,竟然没找到直接的配置方法,结合一些工具和文档零零散散的也算是解决了,以下对 git 的各类代理配置总结。
Git 支持 http 和 ssh 两种传输协议,前者就是 git clone https://github.com/xxx/xxx
这种形式的 URL,后者是 git clone git@xxx.xxx.com/xxx.git
这种形式。由于是两种不同的协议,因此要分协议配置。
Pixel 自用,分享出来:
captive.padeoe.com
使用方法:
adb shell "settings put global captive_portal_http_url http://captive.padeoe.com";
adb shell "settings put global captive_portal_https_url https://captive.padeoe.com";
服务端使用 caddy 搭建的,配置仅3行:
http://captive.padeoe.com https://captive.padeoe.com {
respond 204
}
今年五月份,看到了第二届法研杯的比赛介绍,是个法律NLP的竞赛,由于所在公司也是做的法律领域,就用些业余时间做了一下。这也是我第一次参加比赛,最后获得了总榜第二名的成绩,现在把一些比赛经历和心得记录一下。
项目代码见 https://github.com/padeoe/cail2019,报告会 PPT下载链接。
关于比赛 Read More.
本文提供 另一个 html 版本。
Bert 是 Google 在 2018 年 10 月提出的一种新的语言模型,全称为 Bidirectional Encoder Representations from Transformers(Bert)。和近年来的一些语言模型譬如 ELMo 不同,BERT 通过在所有层联合调节左右两个上下文来预训练深层双向表示,此外还通过组装长句作为输入增强了对长程语义的理解。Bert 可以被微调以广泛用于各类任务,仅需额外添加一个输出层,无需进行针对任务的模型结构调整,就在文本分类,语义理解等一些任务上取得了 state-of-the-art 的成绩。
Bert 的论文中对预训练好的 Bert 模型设计了两种应用于具体领域任务的用法,一种是 fine-tune(微调) 方法,一种是 feature extract(特征抽取) 方法。
本文对 Docker 数据挂载容易产生的各种问题进行分析,应用几种常见解决方案,抽丝剥茧,提出最佳实践。本文中的样例命令全部可以运行复现。
Docker 提供了数据卷绑定挂载的机制(volume bind mounts)来将主机上的文件 (file) 或者目录 (directory) 挂载进容器 (container)。也就是 docker run
命令中熟知的 -v
参数。根据 Docker 官方文档,绑定挂载一般适合于三种场景:
/etc/resolv.conf
挂载到容器里省去配置。但是实际使用时,会遇到如下文件权限问题:
Pytorch 不支持 Windows,不过 Windows 10 提供了 Ubuntu 子系统,可以提供近乎原生的 Linux 环境,虽然并不是一个好的选择,但我们仍然可以通过 Ubuntu 子系统来运行 Pytorch 程序。
fail2ban 是 Linux 下的一个防止服务器被恶意访问的程序,fail2ban 通过扫描指定的日志文件,统计访问频率,对达到指定访问频率的 ip 添加到系统防火墙(iptables/firewalld)封禁。
fail2ban 预置了很多常见服务的日志文件匹配模板,譬如 ssh,apahce服务器,nginx服务器的登陆错误模板,如果不满足我们的需求,可以自己编写规则,定义日志格式,访问频率、限制的端口等。
Debian/Ubuntu