强制使用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

如何快速下载huggingface大模型

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 官方支持 不支持全量下载/无多线程

另外对于数据集的下载和模型基本相同,同理参考。

以下对上述方法进行介绍,并介绍几个常见问题:

Git SSH配置需密码的代理

最近给 Git 配置代理,发现给 SSH 配置有认证的代理并不容易,没找到直接的教程,其实由于 ssh:// 形式的 Git 链接会走 SSH 协议,问题已经转化为 ssh 如何配置有认证的代理,这样就好搜到相关资料了,为方便后来者检索,本文对 git 的代理配置做个总结。

Git 支持 http 和 ssh 两种传输协议,前者就是 git clone https://github.com/xxx/xxx 这种形式的 URL,后者是 git clone git@xxx.xxx.com/xxx.git 这种形式。由于是两种不同的协议,因此要分协议单独配置。

Read More.

本站提供android网络检测接口

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
}

法研杯2019相似案例匹配亚军经验分享

今年五月份,看到了第二届法研杯的比赛介绍,是个法律NLP的竞赛,由于所在公司也是做的法律领域,就用些业余时间做了一下。这也是我第一次参加比赛,最后获得了总榜第二名的成绩,现在把一些比赛经历和心得记录一下。

赛题简介

项目代码见 https://github.com/padeoe/cail2019,报告会 PPT下载链接

关于比赛 Read More.

Bert 模型的使用

本文提供 另一个 html 版本

Bert 是 Google 在 2018 年 10 月提出的一种新的语言模型,全称为 Bidirectional Encoder Representations from Transformers(Bert)。和近年来的一些语言模型譬如 ELMo 不同,BERT 通过在所有层联合调节左右两个上下文来预训练深层双向表示,此外还通过组装长句作为输入增强了对长程语义的理解。Bert 可以被微调以广泛用于各类任务,仅需额外添加一个输出层,无需进行针对任务的模型结构调整,就在文本分类,语义理解等一些任务上取得了 state-of-the-art 的成绩。

Bert 的两种用法

Bert 的论文中对预训练好的 Bert 模型设计了两种应用于具体领域任务的用法,一种是 fine-tune(微调) 方法,一种是 feature extract(特征抽取) 方法。

Read More.

解决 Docker 数据卷挂载的文件权限问题

本文对 Docker 数据挂载容易产生的各种问题进行分析,应用几种常见解决方案,抽丝剥茧,提出最佳实践。本文中的样例命令全部可以运行复现。

1. 初探:Docker volume 绑定挂载导致的问题

Docker 提供了数据卷绑定挂载的机制(volume bind mounts)来将主机上的文件 (file) 或者目录 (directory) 挂载进容器 (container)。也就是 docker run 命令中熟知的 -v 参数。根据 Docker 官方文档,绑定挂载一般适合于三种场景

  • 共享主机 配置文件。譬如将主机的 DNS 配置文件 /etc/resolv.conf 挂载到容器里省去配置。
  • 共享项目 源代码构建产物。譬如将 maven 项目的 target 目录挂载到容器内。
  • 当主机的特定目录结构和容器内需要的目录结构完全一致的时候。

但是实际使用时,会遇到如下文件权限问题

Read More.

在windows 10的Ubuntu子系统使用Pytorch

Pytorch 不支持 Windows,不过 Windows 10 提供了 Ubuntu 子系统,可以提供近乎原生的 Linux 环境,虽然并不是一个好的选择,但我们仍然可以通过 Ubuntu 子系统来运行 Pytorch 程序。

需要准备

  • Windows 10
  • Pycharm 专业版

基本思路

  • Windows 10 安装 Ubuntu 子系统
  • 子系统开启 SSH
  • Pycharm 编写 Python 代码,使用专业版的上传代码到服务器的功能,将 Python 代码通过 sftp(SSH File Transfer Protocol) 上传到本地 Ubuntu 子系统运行调试。
    Read More.

使用fail2ban 防止服务器被恶意访问

fail2ban 是 Linux 下的一个防止服务器被恶意访问的程序,fail2ban 通过扫描指定的日志文件,统计访问频率,对达到指定访问频率的 ip 添加到系统防火墙(iptables/firewalld)封禁。

fail2ban 预置了很多常见服务的日志文件匹配模板,譬如 ssh,apahce服务器,nginx服务器的登陆错误模板,如果不满足我们的需求,可以自己编写规则,定义日志格式,访问频率、限制的端口等。

1.安装

Debian/Ubuntu

Read More.

1 2 3 4