用LM Studio跑本地的聊天机器人/AI助手
本来一直用GPT-3.5润色论文的, 最近使用的镜像站被封了被迫转移到文心一言/Kimi, 进一步想要干脆在自己电脑上运行大模型, 使用本地的AI助手. 发现类似LM Studio的软件已经提供了很简单的图形化界面, 正好适合我这个小白.
系统配置: GPD Win Mini (AMD 7840U, 分配给核显8G内存作为显存), 通过USB4连接到显卡坞(AMD 7600M XT, 8G显存).
大模型的安装运行下载下来的LM Studio安装文件后没有任何提示, 等到聊天页面出现的时候整个软件其实已经安装好了. Windows下默认的安装路径是C:\Users\用户名\AppData\Local\LM-Studio. LM Studio自带从huggingface下载模型的能力, 但是国内上不了huggingface. 因此需要将软件的默认下载地址换成国内的镜像hf-mirror:
在LM Studio的安装路径下查找index.js、llmworker.js、worker.js文件, 将其中的所有huggingface.co替换为hf-mirror.com即可. (注意有两个
本地文生图软件Amuse
最近系统升级为Windows 11 24H2后任务管理器里面多出来了一个NPU模块(CPU是AMD 7840U), 查找到文生图软件Amuse支持这个NPU, 就下下来试了一下, 效果惊艳. 软件使用简单, 就记录一下使用时的注意事项:
文生图提示词只支持英文, 用中文时候生成图片会很奇怪
第一次使用时候要下载模型文件, 很容易下载失败, 多试几次就好了
Performance不要选择Quality, 太大的模型很容易爆显存而导致程序崩溃, 计算速度也很慢. Performance选用Banlanced或者Fast都能在数秒内给出结果.
主要计算还是靠GPU完成的, 7840U的核显就够用了. 只有”AMD XDNA^TM^ Super Resolution”这步操作用到NPU.
Windows彻底删除驱动程序
一些投屏程序、混音程序等会在Windows系统中创建虚拟显示器/虚拟扬声器之类的设备, 在卸载这些程序后对应的虚拟设备及其驱动程序却没有被卸载删除. 这些残留的驱动程序不仅占据了系统存储, 还可能因为缺少维护导致与新版本Windows不兼容, 最终导致系统更新失败.
我最近使用Windows 11安装助手尝试将Windows 11 23H2升级为Windows 11 24H2时就因为VoiceMeeter虚拟声卡驱动程序与新系统冲突导致升级失败.
一般来说, 直接在设备管理器中找到对应的虚拟设备, 右键选择卸载设备后会提示是否删除对应驱动. 但是某些时候设备已经卸载, 驱动程序却仍未卸载, 就需要单独卸载驱动程序.
部分驱动程序可以在控制面板里的程序 > 程序和功能页面找到卸载, 或者在设置里的应用 > 安装的应用里找到卸载(Windows 11). 但是大部分驱动程序是无法在这些可视化界面找到的, 就只能用命令行进行删除. 使用管理员权限运行CMD(或者powershell/终端), 使用Dism /online /Get-Drivers /Format:Table可以查
LED灯具的频闪测试
PWM调光是调节LED亮度的常见办法, 通过快速开关LED, 调整开启时长占总体时长的比值来控制LED的平均亮度. 快速开关LED必然会带来可查或者不可查的闪烁(频闪), 有些人认为这种闪烁会影响用眼卫生. 使用相机对LED灯珠或者其光斑进行拍摄, 逐渐缩短快门时间(shutter), 就可能可以观察到灯珠或者光斑上出现细密的竖线, 观察到竖线可以认为灯具存在频闪. 如果观察不到竖线, 也不能说明灯具不存在频闪, 也有可能是因为频闪频率太高需要更短的快门时间来观察, 也有可能是因为过曝了(拍灯珠过曝的话可以拍其光斑或者调小感光度ISO).
一般来说在高亮度下不容易观察到频闪, 如果灯具有频闪, 在低亮度下较为容易观察到. 因为大多数户外灯具在高亮度下工作一段时间后会降档(自动调低亮度), 所以经常会出现刚开始时候没有频闪, 用一会儿后开始频闪的现象, 如果直接用最低亮度去观察, 就能观察到这些灯具一直在频闪.
我使用OPPO A1Pro自带的相机(快门时间最短1/8000 s)检查了我过过手的手电和头灯:
无频闪或者频闪不可查:
菲尼克斯E01 V2.0
菲尼克斯E-LITE (MI
户外电源和灯具的选择
最近又想收集一些稀奇古怪的灯具, 为了给收集的灯具找一个”应用场所”, 我构想了下面的应用场景, 主要考虑会使用到的灯具的续航、电源(电池)的统一, 以及考虑手机的充电问题.
单日无装: 不背包, 不考虑手机充电
双日轻装: 背包, 考虑手机充电一次
多日重装: 背包, 考虑手机充电多次
骑行
我所选的灯具会尽量考虑解放双手, 个人偏向于喜欢”夹子灯”, 方便挂在衣服上就行.
单日无装临时起意, 爬一下家门口、城市里的小山坡. 市区明亮, 周围的山上一般也不会特别昏暗, 路也不会特别难走, 也不会很长. 灯具不需要考虑远射, 亮度能够达到100 lm, 续航能坚持2-3 h即可, 但要能够轻巧得放入口袋(\< 80 g). 因为城市附近的人比较多, 为了避免幌到别人, 尽量使用泛光灯.
纳丽德UT30: 没有锁定放口袋里可能误触点开.
凯瑞兹E5: 灯体太长了+没有锁定长时间放口袋里可能误触点开. 这盏灯有频闪.
LED Lenser ML4: 这是露营灯, 不会幌到别人. 灯体太宽了, 只能用挂扣挂在腰带上, 影响使用范围.
Skilhunt H150: 如果用5号碱性电
不要用Windows 11文件资源管理器自带的zip压缩功能压缩大文件
不要用Windows 11文件资源管理器自带的zip压缩功能压缩大文件! 使用Windows 11文件管理器右键菜单中自带的zip压缩功能时, 文件管理器会在目标目录创建一个空的zip文件, 然后将目标文件压缩并写入C盘下的临时文件中, 压缩完毕(进度条走到95%的位置时)再将C盘下的临时文件写入目标目录下的空zip文件中. 如果对一个大文件进行压缩, 就会占用C盘很大的空间, 如果C盘空间不够了会造成系统卡顿甚至压缩失败. 所以使用Windows 11自带的zip压缩功能压缩大文件时候要三思.
像7-Zip之类的压缩软件会直接将压缩内容写入目标zip文件中, 目前没有发现这类Bug, 实测速度也比系统自带的压缩功能快.
Protein Structures: AlphaFold and Pymol
有时候构建的蛋白不起作用, 想要预测一下蛋白的结构进行检查. 可以使用AlphaFold(的变种)进行蛋白质结构预测, 并使用Pymol对蛋白质结构进行比较和可视化.
AlphaFold使用AlphaFold已经开源了, 但是没有合适显卡的电脑运行起来会特别慢, 故这里首先想办法白嫖别人的服务器来跑蛋白质结构预测.我目前发现的能白嫖的服务器只有Google的Colab和Phenix项目的服务器, 故要先自行解决科学上网的问题, 如果要用Colab的话还需要注册一个谷歌账号. (有段时间北鲲云注册新用户时候会送代金券, 可以直接用于跑AlphaFold, 但是现在不氪金好像用不了了.)
Colab中AlphaFold的使用Colab上常用的AlphaFold(衍生品)主要有:
AlphaFold: https://colab.research.google.com/github/deepmind/alphafold/blob/main/notebooks/AlphaFold.ipynb
ColabFold: https://colab.research.google.com/githu
安卓系统的远程桌面: scrcpy
使用Linux习惯后最烦的就是使用微信和别人交流, 最近突然意识到是不是可以使用类似三星DeX或者某种安卓的远程桌面的软件, 在Linux上使用安卓手机上的微信呢? 答案就是scrcpy
scrcpy的安装
以Linux Mint 21 (基于Ubuntu)为例.
需要先安装adb, 建议去官网(需翻墙)下载最新版本: https://dl.google.com/android/repository/platform-tools_r34.0.1-linux.zip, 解压后将其目录中的platform-tools/adb软连接到/usr/local/bin/adb; 也可以直接在软件源中安装adb: sudo apt update && sudo apt install adb android-tools-adb.
随后参照GitHub上的教程安装最新版本scrcpy(旧版本对最新的安卓系统可能不兼容, 也无法转发手机声音至电脑):
sudo apt update
sudo apt install ffmpeg libsdl2-2.0-0 adb wget \
消息云同步: 安卓手机与智能手表(Wear OS / Color OS)
以前用过TicWatch2 NFC, 很喜欢其消息云同步功能, 跑步没带手机时候也能利用手表的eSIM获取手机消息. 奈何升级到Wear OS智能手表之后就再也没有这样的功能了, 于是只能自己实现消息云同步的功能.
主体思路是使用SmsForwarder截取安卓手机(安卓11 / Color OS 13)的通知, 转发给Gotify, 在手表端安装Gotify的APP即可.
Gotify server配置Gotify需要自己搭建服务器并且需要公网IP来支持eSIM访问, 可以考虑买一个云服务器或者使用花生壳内网穿透. 后续配置过程以带有公网IP的Ubuntu 20.04系统为例.
使用Docker容器运行Gotify server
安装Docker: sudo apt update && sudo apt install docker-ce
拉取Gotify server的镜像: sudo p docker pull gotify/server
写入配置文件 env.list:GOTIFY_SERVER_PORT=80 # Gotify server使用端口号, 可以修