- 博客(231)
- 收藏
- 关注
原创 如何处理错误ImportError: cannot import name ‘Gemma3ForConditionalGeneration‘ from ‘transformers‘
我想尝试不用 Ollama 加载推理一个模型,所以想试试看最新的 Gemma3,但是按照模型卡上的代码运行的时候from transformers import AutoProcessor, Gemma3ForConditionalGeneration出现了下述错误ImportError: cannot import name 'Gemma3ForConditionalGeneration' from 'transformers'这个错误是因为pip安装的transformers发行版
2025-04-02 22:54:58
147
原创 Xcode编写命令行程序的时候,如何传递命令选项和参数
用 Xcode 编写命令行程序的时候,下面那个区域虽然可以输入内容,但是是无法输入选项和参数的,如下:你也可以挪到命令行测试,但是这比较麻烦,我们可以通过修改 scheme 来设置选项和参数,这样也可以大大降低每次运行输入命令(或者切换窗口+上下键)的麻烦。你可以点击下面这个位置编辑 Scheme,或者直接使用快捷键Command+<就是shift和这个键一起按,所以也有写作的)比如像上面的那样的两条就相当于这条命令:希望能帮到有需要的人~
2025-03-22 19:21:50
366
原创 Swift项目中出现错误‘main‘ attribute cannot be used in a module that contains top-level code
你的项目在 Xcode 里打开的时候,可能会出现下面这种错误提醒'main' attribute cannot be used in a module that contains top-level code这个问题是因为 Swift 官方说默认是main.swift或@main是入口,二者不能同时使用。但是如果你在命令行里使用swift build -c release构建,你会发现这里可以正确编译。如果你在 Xcode 里删除了@main,那么构建出来会发现啥也没有:
2025-03-22 17:58:26
191
原创 macOS上,Swift脱离Xcode在命令行构建的时候,出现连接错误ld: symbol(s) not found for architecture x86_64
出现可能是我删 Xcode 和构建 LLVM、Clang 的时候把一些东西搞乱了。这种情况下重新安装 Xcode 和使用 HomeBrew 安装 Clang、Swift 也不行。但是由于团队人不多,一般重心还是在苹果的 Xcode 和 GUI 上,脱离 Xcode 和 GUI 开发的时候,有一些奇奇怪怪的问题,接下来会更新几篇相关博客。Swift 一般是为苹果平台开发的,但是它也可以在 Linux、Windows 上开发,尤其是命令行方面不错。建议安装 Xcode,再用。希望能帮到有需要的人~
2025-03-22 17:15:54
269
原创 补充:如何在C++20中测量一个函数或者功能的运行时间
之前写过一篇,最近发现了个新的chrono。虽然chrono是 C++11 新增的,但是那时候很少使用,因为很多设计还不完善。加之当时的情况与其他方法相比并不占优。好在 C++20 进行了很多修改,优势起来了,所以现在很多代码里都使用的chrono。本文使用的一些特性是 C++20 才有的,早期版本可能能用,但不保证。这种方法没有之前博客里写的通用,但是代码量简单多了(真的是少了很多很多)。但是我不好说哪个好,哪个坏。因为我不像之前那篇博客,几种方法都使用了很长时间,对优缺点非常清楚。
2025-03-14 13:45:22
894
原创 如何在Ubuntu上构建编译LLVM和ISPC,以及Ubuntu上ISPC的使用方法
之前一直在 Mac 上使用 ISPC,奈何核心/线程太少了。最近想在 Ubuntu 上搞搞,但是 snap 安装的 ISPC不知道为什么只能单核,很奇怪,就想着编译一下,需要 Clang 和 LLVM。但是 Ubuntu 很搞,他的很多软件版本是和系统版本挂钩的,默认安装的是 14,这样安装可能会缺东西。没办法,搞吧,顺道研究下这两个的编译和使用。本文并不是很详细,属于备忘录性质。
2025-03-13 17:47:24
1075
原创 如何正确安装Stable Diffusion Web UI以及对应的xFormers
本文是我总结的步骤,验证了几次保证是对的。因为正确的安装 Stable Diffusion Web UI 以及对应的 xFormers 实在是太麻烦了,官方和网上的步骤都是残缺和分散的,加上国内网络速度不理想,所以需要一些额外步骤,之前研究出来了,结果没记,重装系统之后又安装不好了,这次成功安装之后,就写下本文记录,这样一个小时绝对能装好了(网络速度快的话不超过十分钟)。 see `python -m xformers.info` for more info
2025-02-14 20:20:04
1569
原创 FaceFusion如何设置公开链接和端口
有时候我们想在局域网内的其他设备上使用 FaceFusion,这时候需要设置公开链接和端口。但是这个提示是错的,如果你查过,会发现这是 gradio 留下的问题。虽然隔壁 Stable Diffusion web UI 也用的这套框架,但是人家自己改了一下,而 FaceFusion 并没有进行修改。找了半天,发现一个人提到了,可以直接改 gradio 的环境变量。然后我“举一反三”,同样的方式也改了端口。如果你需要一直设置成这样,将其放入到 Shell 配置文件内,例如.bashrc,然后使用。
2025-02-09 23:30:47
1008
原创 如何在退出SSH之后继续运行程序/命令
文件,因为有些命令会有输出内容,一般输出到标准输出里,但是这种情况下明显不能这样,不然那画面太感人。在退出 SSH 之后继续运行程序/命令是很常见的使用情景,不过老容易忘。写成一个命令了,时间长了容易忘,然后又得去查。所以写篇笔记记录一下。要想在退出 SSH 后继续运行命令,那么需要使用。但是如果这样运行的话,如果将其写成一个。是要运行的命令,最后的。希望能帮到有需要的人~命令,它的使用方法和。
2025-02-09 01:37:57
197
原创 Ubuntu添加硬盘踩坑日志:SMB无权限的问题
在 Ubuntu 上添加硬盘之后,发现遇到了一个个很烦的问题,添加完硬盘之后,SMB 远程访问显示无权限。这里快速说明一下,如果你是用内部 SATA/NVMe 连接的硬盘,不要给硬盘格式化成 FAT 和 exFAT,否则处理起来非常麻烦。很多帖子给出的方法不管用,这个是用“Disk”工具设置的时候使用的属性,是管用的。而且 Linux 上格式化的时候,选择 FAT 是老的 FAT,最大文件只能 4GB。本机使用是正常的,远程就不对了,调整权限什么的各种方法都试了,还是不行。希望能帮到有需要的人~
2025-02-05 16:44:54
411
原创 文本生图的提示词prompt和参数如何设置(基于Animagine XL V3.1)
昨天搞了半天 Animagine XL V3.1,发现市面上很多教程只是授之以鱼,并没有授之以渔的。也是,拿来赚钱不好吗,闲鱼上部署一个 Deepseek 都能要两百块。这里我还是想写篇文章介绍一下,虽不全面,但是尽量告诉你一些资料如何去找,或者让你能自己写出来,不是一味的复制粘贴。首先 Stable Diffusion WebUI 的界面如下:-1。
2025-02-03 17:14:02
1500
原创 FaceFusion显卡利用率太低如何改进:错误load library libonnxruntime_providers_cuda.so with error: libcudnn.so.9
还是 FaceFusion 的问题,我在用 FaceFusion 的时候,发现速度好慢,就是比 CPU 快不了多少,我一开始以为就是这样,看了眼别人的演示发现并不是这样的。
2025-02-01 17:06:07
942
原创 如何处理facefusion中cv2错误error: (-215:Assertion failed) !ssize.empty() in function ‘resize‘
这是因为市面上的播放器由于测量了大量视频,兼容性很高,很多视频都能播放。比如说某些视频在苹果的播放器中会出现抽搐的情况,但是 VLC 就不会出现。因为很多视频的格式其实蛮复杂的,这就使得哪怕很多视频是相同格式(比如 mpeg 4),但是底层格式确不太一样。某些设置也会有所不同。来获取,下面这个命令会返回码率数字,如果你会写脚本,应该知道这样很简单就能用码率转码了。所以解决这种问题的方法很简单,找个靠谱的转码程序转一下就好了。不过需要注意 FFMPEG 转码的时候不能选择拷贝模式,因为可能是编码的问题。
2025-02-01 16:01:53
287
原创 Miniconda中的错误信息undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0如何解决
但是 Miniconda 还是有点“问题”,它也有包管理的功能,但是各家系统都已经有了自己的包管理系统,比如 Mac 的 Homebrew,Ubuntu 的 APT,Miniconda的手有时候搞不清其他包管理系统干的事情,就会出现问题,我遇到的这个问题就是因为这个原因。因为不同版本的 Python 和一些包很多时候别看只有二级甚至三级版本更新,但是差别很大,比如某些函数的参数会发生变化,所以很多时候必须要某些指定某一版本的包或者 Python。这个问题原因是符号在库里查找不到。希望能帮到有需要的人~
2025-01-31 05:23:23
212
原创 在Raspbian上,如何获取树莓派的CPU当前频率
本文不用汇编实现,因为我是要用在 Go 里的,Go 并不支持内联汇编,要用汇编比较麻烦。而且项目并不是很在意性能,所以直接用命令获取内核准备好的。如果你想获取某个 CPU 核心的频率,那么可以使用下面这样的代码(下面是获取第一个核心,也就是。在Raspbian上,CPU 信息存放在。第二个的路径有点奇怪,需要注意一下。希望能帮到有需要的人~
2025-01-23 12:22:29
170
原创 Python中的“@”有何作用
最近看 D2L 的代码发现经常会出现下面这样的的情况:在一个类或函数的最前面有个。虽然第二章解释了后面的注释#@save:表示下面的函数是已经定义在包里的,后面不用重新定义便可直接使用。但是并没有解释这里的用法。找了一下资料发现,
2025-01-22 09:37:14
410
原创 为什么需要在优化器中,使用.zero_grad把梯度归零
今天看书的时候发现在优化算法的最后,将梯度归零了:但是书中没有给出解释,我也查了一下,发现很多优化器里也有这种操作,为什么呢?首先,.zero_grad会重置优化器所有的梯度,也就是归零。现在问题变成了:为什么梯度需要归零呢?第一,当你创建一个 tensor 的时候,如果你需要计算梯度,需要将属性设置为True,此时包(package)会跟踪所有 tensor 上的操作。那么接下来进行反向传递的时候,tensor 的梯度会积累在.grad的属性中。
2025-01-21 15:32:56
471
原创 Jekyll无法将Markdown转换成HTML
要解决这个问题也很简单,转换成UTF-8就行。不用额外下载软件,VSCode就可以做到。首先点击上图的部分。今天翻译博客,发现并没有和以前一样生成HTML文件。找了半天原因,发现是因为Jekyll无法正确识别UTF-8withBOM格式的文档。byte-ordermark(BOM)是给HTML这种文本流使用的,防止出现一些问题。希望能帮到有需要的人~
2025-01-19 17:19:52
162
原创 在Linux上如何让ollama在GPU上运行模型
之前一直在Mac上使用ollama所以没注意,最近在Ubuntu上运行发现一直在CPU上跑。我一开始以为是超显存了,因为Mac上如果超内存的话,那么就只用CPU,但是我发现Llama3.23B只占用3GB,这远没有超。看了一下命令没发现有相关的选项。所以我查了一下。运气很好,找到了一篇博客写了可以强制在GPU上的方法:用容器跑。我也不知道为什么用容器就在GPU上跑了,官方也没有相关说明。
2025-01-18 09:51:40
13033
27
原创 像JSONDecodeError: Extra data: line 2 column 1 (char 134)这样的问题怎么解决
今天处理返回的 JSON 的时候,出现了下面这样的问题:处理这种问题的时候,首先你要看一下当前的字符串格式是啥样的,比如我查看后发现是下面这样的:会发现这个字符串中间没有逗号,也就是此时的JSON格式不对。
2025-01-14 22:31:33
539
原创 Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速
本文使用 Ubuntu 环境。Ubuntu 直接使用 APT 安装的就支持 CUDA 加速。本文使用这样下载的版本进行演示,你自己编译或者其他源的版本可能会不同。ffmpeg 的一些介绍,以及 macOS 版本的 ffmpeg 硬件加速请见。如果你了解转码的流程,那么直接跳过前两节,通过侧边栏跳转到“使用FFMPEG硬件加速转码”部分直接看命令。
2025-01-14 11:51:01
1975
原创 “新的”旧设备历险记:Dell T5810+2680v4+RTX 2080Ti 22GB(划掉)3060 12GB注意事项
本文主要是我记录的笔记,防止未来遇到解决过的问题却要重新研究解决方案,不过由于这篇文章从开始写到今天差不多有 20 天了,很多细节一时记不起了,所以未来可能会进行一些更新。手上的设备大多显卡不强,因为之前也没涉猎显卡编程或者深度学习,所以设备大多强 CPU,弱 GPU。不过现在打算好好学一下,所以需要一台新设备。不过预算不高,所以选择了如下配置(以下都是实际付款价):由于我买的 2080ti 有风啸声,实在遭不住,所以我还是退了,换个性能一般但不吵的 3060 12GB,初学机器学习也够了。
2025-01-14 03:31:02
2091
3
原创 如何解决Not Implemented Error: Loading a dataset cached in a LocalFileSystem is not supported
在加载本地的一个数据集的时候出现了“Not Implemented Error: Loading a dataset cached in a LocalFileSystem is not supported”的错误,这个错误如果你看到最上面的信息会发现是因为查找路径是。,我盲猜导致这个错误的原因是多次提取,Jupyter 将其放入缓存里了。所以解决这个错误的方法异常简单,此时你在当前使用的笔记本目录下使用。我看到有人和我有相同的问题,但是他们认为是。没有更新,我更新了也没解决。会发现有一个隐藏文件。
2025-01-05 23:41:20
453
原创 「C++笔记」unordered_map:哈希化的无序映射函数(键值对)
unordered_map 是 C++ 中一个经过哈希函数(Hash)处理的映射(map)容器。本文中的map和set是差不多的,与也是对应的。所以不再单独写一篇了。这里的内容建议看完本文之后再回过头来看二者虽然都有两个属性,但是程序员定义的时候数目不一样。set是一种属性的容器,就像字典你定好“字”,页数是后面放的位置确定的。但是map是由两个属性确定的,所以也被称为键值对(key-value pairs)。此外,官方不建议修改元素值,因为修改之后,哈希值可能会发生变化,这样就出问题了。
2025-01-04 23:33:06
883
原创 「C++笔记」vector:C++中的新式“数组”
C++ 中,有一种容器叫做 vector,它的定义和作用与数组差不多,都是同一种类型的元素序列,在内存中连续存储。但是在实现的时候,要比数组要复杂一些:大致来说,它会动态分配内存空间,然后有三个指针指向元素序列的开头和结尾,以及空闲区域的末尾(有的会用偏移量记录)。所以 vector 的结构是一个内存分配器和三个指针。如下:不过 vector 有一些新的特性,非常方便使用,就连 C++ 创始人 Bjarne Stroustrup 都推荐使用vector。
2025-01-04 19:27:07
979
原创 外部排序:败者树详解
我之前一直以为败者树就是一种比较特别的树排序(不是说树型排序,是真的有个算法叫这个),直到最近才发现好像有很多细节不一样。树排序参见我的另外一篇博客《树选择排序(Tree Selection Sorting)介绍 - ZhongUncle 优快云》)。这个误解的来源是二者思路太像了,你看看开头就知道了(推荐看一下这篇文章的开头,这里不再赘述思想了,只讲细节)。那么败者树到底是什么个情况呢?败者树说白了就是“选败者,最后得到冠军”。是排除法,而非其他树形排序或树排序的选拔法。
2024-12-03 15:39:12
510
原创 「动态规划」2/n:通过具体问题练习动态规划(爬楼梯问题、小偷问题)
在上一篇文章中提到的最经典的斐波那契数列就是一种一维的动态规划。一维其实也很容易看出来,只有一个属性(面上来说就是数字)相关。除了斐波那契数列之外,还有一些很常见或经典的一维动态规划问题,本文将通过其中的一些问题进一步介绍动态规划。爬楼梯问题问题描述给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。
2024-11-05 17:55:12
918
原创 C++中,如何找到一个vector中最大的元素
而不是 C 中的数组,虽然结构更加复杂,但是用起来更方便。就连 C++ 创始人 Bjarne Stroustrup 都推荐使用。动态规划中,经常需要找到一个线性表中最大的元素,C++ 最常用的是。C++ 算法库中有相应的找到最大值的算法。:获取最大的元素,但是返回值是一个迭代器。的函数,那个是找两个元素里较大的一个的,不是找数组里的。那么如何获取这个最大值的位置呢?希望能帮到有需要的人~
2024-11-04 18:20:19
693
原创 「动态规划」1/n:什么是动态规划?
在学习动态规划之前需要了解清楚什么叫做动态规划。很多教材直接讲内容了,并没有介绍其思想。动态规划(Dynamic Programming,缩写 DP)是一种编程范式,并非一种具体的算法。动态规划就是把一个大问题通过递归的方法划分成多个小问题,用数学方式来表达的话,就是一个多项式。这样可以在代码量变化不大的情况下解决不同规模的问题(实现这点正是递归)。这里多说一点:分而治之(Divide and Conquer,缩写 D&C)也是把一个大问题划分成小问题,但是分而治之是直接拆分的,而动态规划是递归拆分
2024-10-31 04:30:52
609
原创 如何分析计算出不同构的某阶无向树的棵数目
如何分析计算出不同构的某阶无向树的棵数目”是离散数学中的一种很常见的题目,而且没有简单公式计算出来,只能通过枚举来得到。这就是无可避免的了,画的时候需要注意能不能改变树高,也就是努力找不同构的情况。,对应两个不同构的树:2 个度为 2 的节点可能相邻,也可能不相邻,二者的树高不同。因为树同构的话,高度一定是相同的。:离散数学是一个顶点接的边就是度,而某些算法书里,树的度指的是结点的子节点数量。首先同构的定义是图的属性不变,也就是点、边、度序列不变。,还要考虑有些情况度序列的情况可能对应多个不同构的树。
2024-10-13 20:14:47
762
原创 补图、同构图、自补图是什么意思
补图、同构图、自补图的解释网上很多文章写的不是很明确,所以我写一段小笔记记录一下。数学定义看上去挺复杂的,但是简而言之就是两张图点相同,边也相同,但是点的位置不一样。这里解释一下什么叫“点相同,边也相同”:一个点的度不变,一条边两端的点也不变。这点数、边数、度序列这些也叫做图的性质。同构图也就是这些图的性质是一样的。
2024-10-10 15:23:58
2694
2
原创 离散数学中关系的性质:自反、反自反、对称、反对称、传递
离散数学中,有一个重要的概念是关系的性质自反:对于任意的 a 属于 A,必有 aRa。反自反:对于任意的 a 属于 A,必有 aRa。对称:对于任意的 a,b 属于 A,若 aRb,则必有 bRa。反对称:对于任意的 a,b 属于 A,若 aRb 且 bRa,必有 a=b(如果 aRb,且 a≠\neb,那么必有 bRa)。传递:对于任意的 a,b,c 属于 A,若 aRb 且 bRc,必有 aRc。传递可能是最好理解的了,这里重点关注前四个性质。
2024-10-07 21:34:14
4835
2
原创 如何判断一个无向图是不是欧拉图
欧拉图其实就是小时候最常见的“一笔画”问题的一个特殊情况,也就是每个边只经过一次,并且起点和终点相同。之前了解过,但是说实话并不是很熟悉,最近有需要就研究了一下。
2024-10-07 20:55:08
594
原创 打印文档时,只有图片中的文本不清晰该如何处理
最近打印东西的时候,发现只有图片中的文本并不清晰,就想研究一下如何改善这个问题。打印机是佳能的 MF113w,一个不错的多功能激光黑白打印机,支持无线打印。唯一问题就是每次 DHCP 分配 IP 到期后,这款打印机就会亮错误灯(因为 IP 变了,接受不了新旧不同)。所以本文仅适用于黑白打印的情况。
2024-09-11 00:44:41
1434
原创 如何计算UDP校验和
在了解 UDP 校验和的时候,发现资料很少,如果看教材的话,一定看到过下面这两张图,但是又看不懂,加上解释之后也难懂:本文先说具体怎么算的,再说一些细节,过程中顺带解释一下这两个图(第一张图是布局情况,第二张图是解释如何计算的)。
2024-08-07 19:40:32
1390
原创 红黑树与平衡二叉树的相同之处与不同之处
红黑树很多资料上写的非常繁杂,初次接触真的难以理解。写本文也就是为了记录一些思考和想法,并不会记录如何使用代码实现。不记录代码还有个原因:黑红树的算法就是根据各种情况进行一些操作,情况很复杂,分插入的和删除的,有的是资料记录这些,但是为什么要进行这些操作,为什么这些操作那么像但又略有不同却没多少人说明清楚。所以本文主要是记录想法的。
2024-08-03 17:52:58
814
原创 关键路径算法(Critical Path)
这个算法《算法导论》中并没有提及,很多书和博客说的有点奇怪,所以写本文作为笔记。关键路径是什么关键路径的定义非常简单:就是一个图中,权值之和最大的路径就是关键路径。为什么有关键路径关键路径的来源和拓扑排序是一样的,都是将一项较大的工程划分为多个子工程,然后表示子工程之间的关系的。关键路径和拓扑排序不同之处在于:拓扑排序强调子工程之间的先后顺序(说依赖关系可能更恰当一些),比如必须做完a才能做c。关键路径在拓扑排序的基础上,还加入了时间关系。这个时间关系不光是子工程之间的,也包括子工程和整体
2024-07-29 03:07:53
4445
原创 Mac printf处理参数的奇特之处(macOS中,printf使用%d输出一个浮点数会发生什么情况?)
说这段代码在 x86(IA-32)上运行时,输出为0;在 x86-64 上运行时,每次输出是一个不同的数。然后我就非常好奇为什么?因为0很好理解,但是 64 位为什么是不同的数呢?其实盲猜都能猜个大概,和地址有关呗(一般冒出来奇奇怪怪数都是和地址有关,“跑错地方了”),但是盲猜很容易翻车,还是要验证一下。先看看网上有没有人研究过。后来查了一下发现,这个问题的原型最早能追溯到近 20 年前,不过那时候由于都是 32 位机器,所以还好。
2024-07-26 19:53:53
1033
原创 Hamming码是什么?如何计算和使用?
汉明码是什么在原始论文中,Hamming 阐述了一种检查和纠错编码:系统性代码(Systematic Code)。系统性代码的结构是:假设二进制位数为n,其中m位用于表示数据,k位用来检错和纠错。这就产生了一个冗余率R=n/m,使用这个冗余率R来作为传递相同信息的最小必要数。当时可能是信道容量真的不足,Hamming 在文章开头多次强调检查和纠正错误会降低信道的利用率。论文中构建了三种最小冗余的码:单个错误检测码(奇偶校验码);单个错误纠正码;单个错误纠正和双错误检测码。后两个都称为汉
2024-07-22 22:57:24
1201
4
原创 IEEE 754浮点数构成与转换
IEEE 754 标准是现在主流的浮点数标准,除了常见语言中的 FP32、FP64 之类的类型,还有一些为了量化、加速深度学习的 FP8 类型(E4M3、E5M2)也是使用 IEEE 754 标准来定义无穷等含义。此外,通过了解和学习,在研究其他浮点数格式的时候也会有帮助,比如机器学习使用的 BFLOAT16。下图是 FP32、FP16、BF16 三种浮点格式对比(图自本文主要以 IEEE 754 的 FP32 为例,展示结构和如何得到浮点数。
2024-07-18 13:33:38
2030
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人