分类: 折腾

强制使用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 [email protected]/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
}

解决 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.

樱花vps使用经验

哎,今天买了日本北海道石狩的1GB主机,买完才发现延迟并不如日本东京低,三千多日元灰飞烟灭,为何说三千多日元没了呢,因为脑子一时糊涂,取消了试用,无法退款了(上次也遇到结果这次又忘了),因此一气之下觉得有必要总结一下樱花vps的使用经验了,后来者参考。

1.樱花vps购买后带宽限制怎么回事?

sakura vps购买时有14天免费试用选项(每人最多两次试用机会),试用期间带宽限制在512Kbps,试用期间可以取消试用,大约过三四十分钟就会去除带宽限制。取消试用要在会员菜单契约情报本登陆取消。这个会员菜单和vps控制面板网页是分离开的,在vps管理页面右上角下拉框中可以找到。

2.如何退款?

14天试用期间可以申请取消并退款,月底会返还额度。但是值得注意的是取消试用后就不能退款了,这时候只能用到最低试用期限(2个月)后才可以取消合约!我就是被这点坑了。。。所以要测试线路延迟的话最好先不要取消试用。

3.安装系统后ipv6地址ping不通用不了?

需要自己改系统网络配置。官方提供了各种系统的配置方法教程,例如 CentOS的。基本上只要把原有配置文件的释放部分注释段落即可。

vi /etc/network/interfaces

最后一节:

iface eth0 inet6 static
    address 2001:e42:102:1703:160:16:xxx:xx
    netmask 64
    gateway fe80::1
    dns-nameservers 2001:e42::1

其中的地址、掩码、dns服务器都可以在sakura的控制面板查看到。

总结

sakura vps 的配置没有国际一线厂商做的好,然而他的线路是对国内最好的之一,继续用着。

适用于ipv6的hosts文件

国内目前ipv6的墙好像还不高,基本只要dns解析正确就能访问某些404网站。出于访问Youtube的目的,因此去年写了一个批量解析Google域名并生成hosts的程序,Github连接 。其中还做了根据域名规则嗅探新的域名。程序写的很渣,一直没好意思写Readme。

目前有四万行,可看Youtube全站,基本上用个三四个月都不用更新,我一般都是遇到硬需求才会更新一把(譬如youtube很多视频访问不了了)。

hosts文本下载链接:https://padeoe.com/file/hosts