在VSCode Debugger模式中显示Tensor的shape
在运行的入口 py 文件里加入以下代码: 123456# show tensor shape in vscode debugger def custom_repr(self): return f'{{Tensor:{tuple(self.shape)}}} {original_repr(self)}' original_repr = torch.Tensor.__repr__ torch.Tensor.__repr__ = custom_repr 就会在调试中显示出 __repr__ 的替换内容,如图所示: ![[Pasted image 20240629103104.png|400]]
解决Butterfly页脚养鱼在切换页面时不生效的问题
问题定位 当启用 Butterfly 主题配置中的 Pjax 后,页脚养鱼的 js 在切换页面时不会自动刷新,导致不能显示。 问题修复 感谢 几何冰川 在 Hexo页脚养鱼效果 这篇文章评论区提供的方案,这里记录一下,很简单,只需要在引入的 script 中加上 defer data-pjax 参数就好。 12345inject: head: bottom: - <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> - <script src="https://cdn.jsdelivr.net/gh/xiabo2/CDN@latest/fishes.js" defer data-pjax></script>
利用Shell Commands在Obsidian中预览和发布Hexo文章
前言 由于我在构建 Hexo+Obsidian 写作工作流时,采用的是 hexo 项目单独存放,只将 _posts 目录通过 ln -s 软链接方式挂载到 obsidian 中,因此网上的各种工作流方案都不适合: 如 Hexo + Obsidian + Git 完美的博客部署与编辑方案 所说的,对 hexo 项目新建 vault,使用 Obsidian Git 插件管理推送、发布等任务。此种方案我有两个原因拒绝,一是我不希望把博客写作分离出我的常用 vault,二是我要保证绝不引入诸如 node_modules 、.git 等多文件目录来污染 obsidian 的索引和效率。 在 obsidian 中写作,利用 terminal 或者 vscode 单独进行推送和发布任务,适合前期建站期间需要大量调试,使用 vscode 进行编辑是方便的。后期稳定后,追求的是写作内容,工作流相对稳定,所以尽可能的在一个 app 中完成全部流程是最好的。 obsidian 中的 Hexo Auto Updater 插件基本原理也是通过软链接挂载,但是挂载整盘后让用户选择 hexo...
macOS上HHKB配列Control键完美方案
在 macOS 系统上,Control 键在保证原有功能不受影响前提下,同时实现 Caps Lock 原有短按切换中英文、长按锁定大小写功能。 前言 最近入手了一把 Keychron Q60Max 键盘,HHKB 配列,也在过渡熟悉键位过程中。对比其他配列键盘,Caps Lock 位置替换为了 Control 键,不得不说一些操作变的非常顺手,在 macOS 上配合 Emacs 的快捷键,可以做到系统全局中能够输入文字的地方都能方便的进行光标移动,基本可以做到在码字的时候双手不离开键盘。但就是这样的改动带来了一连串的连锁反应: 问题 1: 由于 Caps Lock 键的缺失,之前在 macOS 上非常顺手的短按切换中英文的方式,将不得不变成 Control + Space 组合键的方式。不是我不能自适应组合键切换中英文,而是用过 macOS 的就知道,由于这个组合键系统还兼容了短按和长按功能,所以这个组合键切换输入法其实并不是很流畅,短按有时会失败。因此我迫切希望依旧用单按键来实现中英文切换。我的替换方式是将每个中文输入法中的中英文切换快捷键设置成 Control...
【Stable Diffusion】什么是VAE
1.基本概念 VAE 是 Variational Autoencoder 的缩写,中文名变分自编码器,是一种基于深度学习的生成模型。VAE 的基本思想是将输入数据编码为潜在空间中的概率分布,并通过解码器将潜在空间中的随机向量映射回原始数据空间中。VAE 的训练过程包括两个阶段:编码器和解码器的训练。在编码器的训练过程中,VAE 通过最小化重构误差来学习如何将输入数据映射到潜在空间中的概率分布。在解码器的训练过程中,VAE 通过最小化 KL 散度来学习如何从潜在空间中的随机向量生成原始数据。VAE 的优点是可以生成高质量的样本,并且可以进行潜在空间的插值和操作,从而实现对生成数据的控制。 2.作用 通俗来讲,相当于滤镜,使色彩更鲜艳,画面更逼真。 3.在 WebUI 中打开 VAE Settings(设置) --> User interface(用户界面) --> Quicksettings list(用户界面),在 sd_model_checkpoint 后添加 sd_vae,点击 “Apply settings” 与 “Reload UI”。重启打开...
下载huggingface模型的技巧
众所周知,HuggingFace 是最大的大模型社区,而 LLM 参数文件又常常几个 GB,因此在国内下载通常会面临小水管问题。以下介绍几个高速下载 HuggingFace 模型的技巧。 使用 hf-mirror.com 镜像 hf-mirror.com 是 huggingface 的镜像网站,可以去该网站搜索模型进行下载。如果是下载单个模型文件而非整个库,可以从网页上复制链接地址,在需要下载的地方使用 wget -c 下载即可。实践证明,hf-mirror 的速度非常快。 Tip wget -c 可以开启断点续传,对于这种大型文件,还是带着这个参数比较好。 使用 Git-lfs 直接 Clone 整个模型库 LFS 是 Large File Storage 的缩写,用于帮助 git 管理大文件。不同于 git 每次保存 diff,对于 git 来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个 G。对于 git lfs 来说,在使用 git lfs track 命令后,git push 的时候,git lfs...
Docker Gitea关闭用户注册
缘由 之前一直使用 Gitea 默认配置启动,今天上去看了一下用户列表,发现出现了特别多的广告注册,如下图,因此想看下后台设置中是否有更详细的权限设置,比如注册后必须管理员通过审核后才可用,发现并无此选项,因而只能选择禁用注册。 方法 具体而言,找到 app.ini 配置文件,修改 service 条目下 DISABLE_REGISTRATION 为 true,意思为禁用注册,之后只有管理员可以为用户创建帐户。 123456[service] DISABLE_REGISTRATION = true # 禁用注册 [openid] ENABLE_OPENID_SIGNIN = false # 禁用openid登录 ENABLE_OPENID_SIGNUP = false # 禁用openid注册 重启Docker容器即可生效。
Vanna:利用RAG将自然语言转为标准SQL查询
简介 Vanna 一款开源的 Python 框架,它利用检索增强生成(RAG)技术,将自然语言转换为精准的 SQL 查询。 安装使用 安装 安装 Vanna 1pip install vanna 导入 Vanna 根据使用的 LLM 和向量数据库,导入相应的模块。例如,使用 OpenAI 和 ChromaDB: 123456789from vanna.openai.openai_chat import OpenAI_Chat from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore class MyVanna(ChromaDB_VectorStore, OpenAI_Chat): def __init__(self, config=None): ChromaDB_VectorStore.__init__(self, config=config) OpenAI_Chat.__init__(self, config=config) vn =...
共识博弈:让模型学会“求同存异”
MIT 的研究人员提出了一种名为 “共识博弈” 的机制,其基本原理是将 LLM 的生成器和判别器视为两个博弈玩家,通过对抗训练的方式,让它们在生成和评估答案的过程中不断学习和调整,最终达成一致。
Ollama与Open-webui服务部署及更新方法
安装与更新 Ollama 在 macOS 和 Windows 系统上,Ollama 会自动下载更新。点击任务栏或菜单栏上的 Ollama 图标,然后点击 “Restart to update”(重启以更新)即可应用更新。您也可以通过在 此处 下载最新版本来安装更新。 在 Linux 系统上,请重新运行安装脚本 1curl -fsSL https://ollama.com/install.sh | sh 更新 Open-webui 由于 open-webui 原地址虽然没有被 ban,但是拉取速度非常慢,因此还是利用阿里云私有镜像库拉取官方最新镜像。 源地址名称:ghcr.io/open-webui/open-webui:main Step 1: 重新拉取新镜像 1sudo docker pull registry.cn-hangzhou.aliyuncs.com/raykr-images/open-webui:main Step 2: 停止并移除旧容器。 12sudo docker stop open-webui sudo docker container rm...