Mac M1 ComfyUI 中 AnyText插件安装问题汇总?

embedded/2025/2/6 6:20:40/

Q1:NameError: name ‘PreTrainedTokenizer’ is not defined ?

在这里插入图片描述
该项目最近更新日期为2024年12月,该时间段的transformers 版本由PyPI 上的 transformers 页面 可知为4.47.1.

A1: transformers 版本不满足要求,必须降级transformors ?

(1)查看 transformers 版本
pip index versions transformers 

发现是最新版4.48.2,降级到4.46.2

pip install transformers==4.46.2

Q2:“ComfyUI/custom_nodes/ComfyUI_Anytext/Image_Generation_AnyText/Site_Packages/AnyTextControlDiffusion/ldm/modules/encoders/modules.py” AssertionError: Torch not compiled with CUDA enabled". ?

A2: 将modules.py文件里下面这行代码:

tokens = tokens.to(self.device)

修改为如下内容:

self.device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")
tokens = tokens.to(self.device)

Q3:‘ComfyUI_Anytext/Image_Generation_AnyText/Site_Packages/AnyTextControlDiffusion/cldm/ddim_hacked.py’ AssertionError: Torch not compiled with CUDA enabled?

A3:

在 ddim_hacked.py 文件中,将 register_buffer 方法里这行代码
attr = attr.to(torch.device("cuda"))

修改为

if torch.backends.mps.is_available():attr = attr.to(torch.device("mps"))
else:attr = attr.to(torch.device("cpu"))

Q4: ComfyUI/custom_nodes/ComfyUI_Anytext/Image_Generation_AnyText/Site_Packages/AnyTextControlDiffusion/cldm/ddim_hacked.py", line 22, in register_buffer attr = attr.to(torch.device(“mps”)) TypeError: Cannot convert a MPS Tensor to float64 dtype as the MPS framework doesn’t support float64. Please use float32 instead?

A4:

在 ddim_hacked.py 文件中,将 register_buffer 方法里这行代码
if torch.backends.mps.is_available():attr = attr.to(torch.device("mps"))
else:attr = attr.to(torch.device("cpu"))

修改为:

if attr.dtype == torch.float64:attr = attr.to(torch.float32)
if torch.backends.mps.is_available():attr = attr.to(torch.device("mps"))
else:attr = attr.to(torch.device("cpu"))

http://www.ppmy.cn/embedded/159949.html

相关文章

Linux系统 环境变量

环境变量 写在前面概念查看环境变量main函数的参数argc & argvenv bash环境变量 写在前面 对于环境变量,本篇主要介绍基本概念及三四个环境变量 —— PATH、HOME、PWD。其中 PATH 作为 “ 敲门砖 ”,我们会更详细讲解;理解环境变量的全局…

【PyQt】lambda函数,实现动态传递参数

为什么需要 lambda? 在 PyQt5 中,clicked 信号默认会传递一个布尔值(表示按钮是否被选中)。如果我们希望将按钮的文本内容传递给槽函数,需要通过 lambda 函数显式传递参数。 这样可以实现将按钮内容传递给槽函数&…

Python调用C++程序实现

基本环境说明 由于C的执行速度快、控制粒度细,Python上层开发方便、迭代速度快,故经常可以遇到C写好接口供Python调用的情况,但是其中bug还不少(尤其是动态链接库一个链接另一个,就会产生比较复杂的关系) …

MySQL 插入数据

MySQL 插入数据 引言 在数据库管理系统中,MySQL 是一款广泛使用的开源关系型数据库管理系统。数据插入是数据库操作的基础之一,它涉及将数据添加到数据库的表中。本文将详细介绍 MySQL 中插入数据的方法,包括基本的插入语法、多行插入、以及…

大语言模型极速部署:Ollama 与 One-API 完美搭建教程

大语言模型极速部署:Ollama 与 One-API 完美搭建教程 本文将介绍如何通过命令行工具部署 Ollama 和 One-API,帮助你快速搭建私有化大模型。 一、安装 Ollama Ollama 是一个容器化的应用,方便部署和管理 AI 模型。以下是安装 Ollama 的步骤。…

Sqli-labs靶场实录(一):Basic Challenges

sqli-labs靶场实录:Basic Challenges sql手注基本流程Less-11.1探测注入点1.2判断字段数1.3判断回显位1.4提取数据库基本信息1.5拖取敏感数据 Less-2Less-3Less-4Less5爆表爆列名 Less6爆库爆表爆列名 Less7猜解数据库长度逐字符爆破数据库名 Less8爆库 Less9爆库 Less10Less11…

docker和k8s实践

Docker 和 Kubernetes 是现代云原生应用开发和运维中的两个重要技术。Docker 提供容器化技术,可以将应用及其依赖打包在容器中,而 Kubernetes 则负责容器的编排、部署、伸缩和管理。以下是 Docker 和 Kubernetes 的实践指南,涵盖基础安装、配…

C_位运算符及其在单片机寄存器的操作

C语言的位运算符用于直接操作二进制位,本篇简单结束各个位运算符的作业及其在操作寄存器的应用场景。 一、位运算符的简单说明 1、按位与运算符(&) 功能:按位与运算符对两个操作数的每一位执行与操作。如果两个对应的二进制…