ComfyUI节点安装笔记

AI高速发展,版本更新相当快(11月25日才安装的版本v.0.3.4,27日版本就已经更新到v.0.3.5了),在遇到问题,找到问题原因所在的过程中,ComfyUI版本、python版本、节点对环境版本的依赖,本文就是在为了解决自己遇到问题过程中,如何快速安装ComfyUI及节点而作的笔记。

1、安装ComfyUI

方法①:下载 Windows 的可移植独立版本ComfyUI 的某个版本,并解压到某个文件夹,最方便。但Python版本固定,不能选择你想要的Python版本,而有些节点,无法在Python3.12运行,例如下面节点在Python3.12下会出错(在DownloadAndLoadFlorence2Model选择flash_attention_2时的错误信息:FlashAttention only supports Ampere GPUs or newer.  由于我的显卡是20系列,不支持BF16运算,在python3.12的flash_attention中则使用了BF16),在Python3.11则没有问题。

方法②:通过ComfyUI-Manager升级ComfyUI,但只能升级到最新版本,不能升级到指定版本。

方法③:选择①中的Python环境(选择需要的python版本),将ComfyUI文件夹删除,然后用git命令安装指定版本的ComfyUI(直接下载ComfyUI 不同版本的Source code (zip) 解压会少了 .git 文件夹少了版本信息):

git clone -b <版本号> <仓库地址>
git clone -b v0.3.3 https://github.com/comfyanonymous/ComfyUI.git

通过代理加速

git clone -b v0.3.3 https://ghp.ci/https://github.com/comfyanonymous/ComfyUI.git

(当然也可以用中的压缩包,只解压包中的ComfyUI文件夹即可) 

ComfyUI版本Python版本
v0.0.1--v0.0.33.11.8
v0.0.4--v0.2.33.11.9
v0.2.4--v0.3.63.12.7

注意:对于wheel模块,根据需要卸载或安装,可能需要反复进行卸载或安装,原因看第8点。

建议:安装编译环境。因为有些依赖项如果不下载whl安装,是需要编译安装的,编译环境安装可参考《在ComfyUI的python_embeded下编译安装module

附:ComfyUI 可实现的功能的示例(ComfyUI官方示例工作流)

2、使用 extra_model_paths.yaml 来引用模型

为了重装环境而不需要理会模型的放置,又或者需要安装多个不同版本的ComfyUI而共用模型,可以将模型放在固定位置,并通过文件extra_model_paths.yaml 来引用模型,但有些模型,是不能通过指引来引用的,必须放置到特定的目录下。附:《extra_model_paths.yaml解读》。

我的 ComfyUI\extra_model_paths.yaml 文件如下(根据自己的情况,只修改base_path即可):

#put this file in base_path like G:\ComfyUl windows portable\ComfyUl#  H: is SSD
a222:base_path: H:\SSD_models\checkpoints: checkpoints/vae: VAE/loras: |Loras
#         models/LyCORISclip: clip/clip_vision: clip_vision/controlnet: controlnet/instantid: instantidupscale_models: upscale_modelsdiffusion_models: diffusion_modelspulid: pulidBiRefNet: BiRefNetblip: blipLLM: LLMsams: samsunet: unet
#Only 1 path is allowed except for checkpoints, VAE, etcinpaint: inpaintstablesr: stablesrstyle_models: style_modelsa1111:base_path: G:\HD_models\checkpoints: checkpoints/vae: VAE/loras: |Loras
#         models/LyCORISclip: clip/clip_vision: clip_vision/controlnet: controlnet/instantid: instantidupscale_models: upscale_modelsdiffusion_models: diffusion_modelsunet: unetstyle_models: style_models

3、第一类节点:下载Zip包解压即可使用、或者再需要安装依赖项(requirements、[参考第5点安装所需]module,节点缺少的module与你的环境不同而会有差异,缺什么就装什么就是了

节点名称及下载地址

在路径ComfyUI\custom_nodes下

执行命令

备注

ComfyUI-Manager     Zip

在节点上显示节点 Id 

cg-use-everywhere     Zip

Comfyroll_CustomNodes    Zip

节点:

CR Text Concatenate  文本连接

CR Text  文本输入

ComfyUI_essentials     Zip

rgthree-comfy     Zip

Show fast toggles in Group Headers

在 Group Headers 中显示快速切换

点击查看B站关于该节点的使用教程

只有删除安装路径缓存temp文件,并退出

ComfyUI,才能彻底释放内存,

Image Comparer (rgthree) 才不会显示图像

Custom_Nodes_AlekPet

   ZIp

提示词翻译

AIGODLIKE-ComfyUI-Translation

Zip

语言包,至少从版本v0.3.10开始,已经不需要了。

comfyui-mixlab-nodes    Zip

..\..\python_embeded\python.exe -m pip install -r comfyui-mixlab-nodes\requirements.txt

提示词翻译

comfyui-inpaint-nodes     Zip

ComfyUI-Custom-Scripts      Zip

工具箱,🐍型图标,在设置中的pysssss项

设置 Image Feed Location 为hidden

不显示生成的图片在窗口4边

Comfyui_TTP_Toolset     Zip

NameError: name 'apply_gaussian_blur' is not defined点击连接有修复方法

ComfyUI_FaceAnalysis     Zip

需要安装如下module:

insightface、dlib

当protobuf<3.20.0时,只能用dlib

与ComfyUI-FluxTrainer对protobuf的要求可能冲突

把下载的模型解压到路径:

ComfyUI_FaceAnalysis\dlib

models\insightface\models\auraface\

models\insightface\models\buffalo_l\

节点:Face Bounding Box ,剪裁脸部(长方形),

可通过padding_percent=0.3《填充百分比》或padding来调整剪裁脸部大小

ComfyUI_InstantID     Zip

需要安装如下module:

insightface、onnxruntime-gpu、onnxruntime

把下载的模型解压到路径:

models\insightface\models\antelopev2\

ComfyUI_LayerStyle     Zip

..\..\python_embeded\python.exe -s -m pip install ComfyUI_LayerStyle\whl\docopt-0.6.2-py2.py3-none-any.whl

..\..\python_embeded\python.exe -s -m pip install ComfyUI_LayerStyle\whl\hydra_core-1.3.2-py3-none-any.whl

..\..\python_embeded\python.exe -s -m pip install -r ComfyUI_LayerStyle\requirements.txt

下面这个先不执行,看看运行情况再定:

ComfyUI_LayerStyle\repair_dependency.bat

模型只能放在该路径下ComfyUI\models\

节点所需模型:

LayerMask: PersonMaskUltra V2

models\mediapipe

LayerMask: SegmentAnythingUltra
models\sams
models\grounding-dino

模型70G

ComfyUI-BrushNet     Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-BrushNet\requirements.txt

会将 accelerate版本降到 0.31.0

ComfyUI-Crystools     ZIp

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Crystools\requirements.txt

当ComfyUI中的参数Menu设置Top或bottom时,

参数Position要设为top才能显示

ComfyUI-KJNodes     Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-KJNodes\requirements.txt

comfyui-tensorops     Zip

..\..\python_embeded\python.exe -m pip install -r comfyui-tensorops\requirements.txt

ComfyUI-Florence2     Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Florence2\requirements.txt

需要安装如下module:timm、accelerate

在DownloadAndLoadFlorence2Model选择flash_attention_2时,需要安装:flash_attn

模型只能放在该路径下ComfyUI\models\LLM

要将模型下载到不同的模型子目录下,

下载链接里面的所有文件都需要下载:

模型1:ComfyUI\models\LLM\Florence-2-large

模型2:ComfyUI\models\LLM\Florence-2-large-PromptGen-v1.5 

was-node-suite-comfyui     Zip

..\..\python_embeded\python.exe -m pip install -r was-node-suite-comfyui\requirements.txt

Image Crop Face 剪裁脸部(正方形)

不放大,不能处理批量图像

(下载所有文件)放到模型路径:

models\clipseg\models--CIDAS--clipseg-rd64-refined\snapshots

\583b388deb98a04feb3e1f816dcdb8f3062ee205

节点:

Text Concatenate  文本连接,可以去除前后空格

Text Multiline  文本输入

ComfyUI-Easy-Use     ZIp

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Easy-Use\requirements.txt

If else 条件执行,点击参考B站使用视频

for 循环,点击参考B站使用视频

在节点上显示执行时间

ComfyUI-Inspyrenet-Rembg

Zip

抠图

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Inspyrenet-Rembg\requirements.txt

packaging版本降到23.2

很奇怪,试过没放置模型时,很慢,放置模型\transparent-background后,很快,然后删除了模型,依然很快。

model_zoo.md

ComfyUI-GGUF     Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-GGUF\requirements.txt

ComfyUI-PuLID-Flux-Enhanced     Zip

需要安装如下module:facexlib、ftfy

模型放在(可引用)

models\pulid

20系列显卡因为不支持BF16,

用不了这个节点点击办法解决

ComfyUI-PuLID-Flux

Zip

原版(作者已经不提供支持,而且错误较多)

facerestore_cf     Zip

我修改了模型加载节点FaceRestoreModelLoade,

可以加载另外2个模型,实现

黑白变彩色、inpainting。

需要安装如下module:lpips

models/facerestore_models:GFPGANv1.4.pth 、 codeformer.pth、

codeformer_colorization.pth、

codeformer_inpainting.pth

models/facedetection:

detection_Resnet50_Final.pth detection_mobilenet0.25_Final.pth

yolov5l-face.pth 、yolov5n-face.pth

我最早接触的大名鼎鼎的脸部修复CodeFormer (被它的效果震撼到了)的comfyui实现节点

节点:CropFace ,剪裁脸部,并缩放到512*512

ComfyUI-SUPIR    Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-SUPIR\requirements.txt

Comfyui_CXH_joy_caption

     Zip    打标

需要安装如下module:

scikit_build_core、llama-cpp-python

..\..\python_embeded\python.exe -m pip install -r Comfyui_CXH_joy_caption\requirements.txt

模型:

clip/siglip-so400m-patch14-384

LLM/Meta-Llama-3.1-8B-bnb-4bit

models\Joy_caption_alpha

ComfyLiterals    Zip

ComfyUI-VideoHelperSuite    Zip

节点:

Load Images (Path) 装载路径下的所有图片

cg-training-tools    Zip

打标,节点:

Iterate Images、Save With Text File、Describe Image、Save Description

ComfyUI-FluxTrainer     Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-FluxTrainer\requirements.txt

需要安装如下module:protobuf版本要求<=3.20.0

可能与ComfyUI_FaceAnalysis

的要求冲突

ComfyUI-Inpaint-CropAndStitch

     Zip

示例工作流使用了ControlNetInpaintingAliMamaApply,对重绘区域先剪裁,重绘后再黏贴回原图

ComfyUI_IPAdapter_plus   Zip模型文件多,可查看参考文章。

comfyui-reactor-node

Zip

节点:

Save Face Model

Build Blended Face Model 参数:

send_only 设置为NO,则每次都重新构建

face_model name 可带路径保存构建的模型

Load Face Model 使用的路径:

models\reactor\faces

 模型路径及模型:

ComfyUI\models\insightface:

inswapper_128.onnx

ComfyUI\models\facerestore_models:

GPEN-BFR-512.onnx

models\ultralytics\bbox:

face_yolov8n.pt

models\sams:(可引用)

sam_vit_b_01ec64.pth

ComfyUI-

Bringing-Old-Photos-Back-to-Life

Zip

Load Face Detector Model (Dlib):

模型放置路径:models\facedetection

shape_predictor_68_face_landmarks.dat

其他模型:models\checkpoints、vae(可引用)

BOPBTL Models  、 Face Enhancement Models

comfyui_controlnet_aux

Zip

..\..\python_embeded\python.exe -m pip install -r comfyui_

controlnet_aux\requirements.txt

需要安装的模块 svglib ,要使用 wheel 编译

comfyui_face_parsing

Zip

模型:

  1. Download the .json and .safetensors files from the face parsing model repo and save them to the "models/face_parsing/" folder.
  2. Download the face_yolov8m.pt from the Bingsu/adetailer repo and save it to "models/ultralytics/bbox" folder.

masquerade-nodes-comfyui

Zip

ComfyUI-Detail-Daemon

Zip

ComfyUI_AdvancedRefluxControl

Zip

ComfyUI-Advanced-ControlNet

Zip

ComfyUI-Impact-Pack

Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Impact-Pack\requirements.txt

模型放置路径:

models\sams

ComfyUI-Impact-Subpack

Zip

..\..\python_embeded\python.exe -m pip install -r ComfyUI-Impact-Subpack\requirements.txt

节点:UltralyticsDetectorProvider

从 ComfyUI-Impact-Pack 拆分出来

CharacterFaceSwap

Zip

节点:Crop Face  ,剪裁脸部(正方形),不放大,不能处理批量图像

节点:Load RetinaFace,

加载模型 detection_Resnet50_Final.pth

模型路径:ComfyUI\models\facexlib\

sd-lora-trainer

Zip

sd-ppp     Zip在 Photoshop 和 ComfyUI 之间进行通信


4、 第二类需要用 git 命令安装

加速参考《GitHub加速》,就是在地址前面加上https://ghp.ci/ ,例如:git clone https://ghp.ci/https://github.com/ltdrdata/ComfyUI-Impact-Pack --recursive

节点名称

在路径ComfyUI\custom_nodes下

执行命令

备注

ComfyUI_UltimateSDUpscalegit clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale --recursive
ComfyUI-Inspire-Packgit clone -v --recursive --progress -- https://github.com/ltdrdata/ComfyUI-Inspire-Pack

5、依赖 module 的安装

缺少什么模块就安装什么。

有些 module 还是比较大的,每次直接用 pip 安装,可能会下载比较长时间,将安装 whl 保存下来,下载安装时直接安装 whl ,将会节省你不少时间。要注意,有些模块是与环境版本匹配的,要下载匹配环境的。

模块名称及下载地址备注
insightface      whl

需要下载 whl 安装

numpy版本不能太高,需要安装较低版本:
python_embeded\python.exe -m pip install numpy===1.26.4

dlib      whl需要下载 whl 安装
onnxruntime-gpu      whl模块文件大小:279M
onnxruntime             whl文件较小,可以pip命令直接安装
facexlib      whl

依赖项 :filterpy

在python 3.11时无法自动Building wheel for filterpy ,从而无法安装

可以下载 filterpy  安装  ,或者使用 pip install facexlib --no-deps 不安装依赖项 filterpy。

模型放置路径:

\python_embeded\Lib\site-packages\facexlib\weights
所需模型:
detection_Resnet50_Final.pth  (PuLID-Flux需要)

parsing_bisenet.pth                   (PuLID-Flux需要)

parsing_parsenet.pth                 (PuLID-Flux需要)

alignment_WFLW_4HG.pth

recognition_arcface_ir_se50.pth

filterpy      whl需要下载 whl 安装,在python 3.12下可用pip直接安装
ftfy            whl
flash_attn    whl    whl下载 whl 安装,自行编译安装需要2-5个小时。
xformers       whl

模块文件大小:160M

没安装 xformers 时:Using pytorch cross attention

Using xformers cross attention

apex             whl

没安装 apex 时:

Nvidia APEX normalization not installed, using PyTorch LayerNorm

llama-cpp-python    whl需要下载 whl 安装,否则需要自己配置编译环境
wheel

 比较重要的module版本对应关系:

torchtorchaudiotorchvisionCUDA版本支持的torch版本
2.4.0 2.4.0 0.19.011.71.13.0--2.0.1
2.4.12.4.10.19.111.82.0.0--2.5.1
2.5.02.5.00.20.012.12.1.0--2.5.1
2.5.12.5.10.20.112.42.4.0--2.5.1

 6、批量去除文件夹名中字符-main、-master

上面第3点下载的Zip压缩包解压后,文件夹名称后面会带-main、-master,将下面命令复制到一个 bat 文件,放置到 ComfyUI\custom_nodes 路径下,双击运行即可批量 除文件夹名中字符-main、-master,例如文件夹 ComfyUI-KJNodes-main ,修改为 ComfyUI-KJNodes。

echo 批量去除文件夹名中字符-main、-master
@echo off
setlocal enabledelayedexpansionset "old_string=-main"
set "old_string_2=-master"for /d %%D in (*) do (set "folder_name=%%D"set "new_folder_name=!folder_name:%old_string%=!"set "new_folder_name_2=!folder_name:%old_string_2%=!"if "!folder_name!" neq "!new_folder_name!" (ren "%%D" "!new_folder_name!")if "!folder_name!" neq "!new_folder_name_2!" (ren "%%D" "!new_folder_name_2!"))@echo on

7、ComfyUI缓存路径

C:\Users\Monday\.cache 

H:\ComfyUI_windows_portable\ComfyUI\temp

8、python 3.11与python 3.12的一点区别引起的问题以及解决办法

①、在python 3.11环境中,想要安装 python.exe -m pip install filterpy包时,会报如下错误:

Collecting filterpy
  Using cached filterpy-1.4.5.zip (177 kB)
 
Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1

而在在python 3.12环境中,安装过程显示的信息如下:

Collecting filterpy
  Using cached filterpy-1.4.5.zip (177 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
 
Preparing metadata (pyproject.toml) ... done

发现 Preparing metadata 这个过程是不一样的,但在完全安装的 3.11环境中,安装filterpy包时是与 3.12 一样并能成功安装。花了一天时间各种尝试,终于从 get-pip.py 发现 3.11与3.12版本区别的地方,只要执行 python.exe -m pip uninstall wheel 卸载了 wheel 即可以。  

②、 而在安装comfyui_controlnet_aux的依赖项时,则出现了用 pyproject.toml 不能编译的错误:

Collecting svglib (from -r requirements.txt (line 15))
  Downloading svglib-1.5.1.tar.gz (913 kB)
     ---------------------------------------- 913.9/913.9 kB 2.6 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
 
Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.

 重新装回 wheel 后,依赖项安装成功。

 Collecting svglib (from -r requirements.txt (line 15))
  Using cached svglib-1.5.1.tar.gz (913 kB)
  Preparing metadata (setup.py) ... done

会不定时补充我自己安装过的节点资料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503335.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白学Pytorch

小白学Pytorch 发现一个比较好的教程&#xff0c;对于自己来说比较合适&#xff0c;适合从零开始的教程。 1、搭建一个简单的网络 https://www.cnblogs.com/PythonLearner/p/13587092.html 搭建网络这步说的比较清楚&#xff1a; 我们使用nn包中的Sequential搭建网络&#…

如何查看服务器上的MySQL/Redis等系统服务状态和列表

如果呢你知道系统服务名称&#xff0c;要看状态很简单&#xff1a; systemctl status server-name 比如 systemctl status nginxsystemctl status redis # 等 这是一个nginx的示例&#xff1a; 那问题是 当你不知道服务名称时该怎么办。举个例子&#xff0c;比如mysql在启动…

ubuntu开机启动服务

需求背景&#xff1a; 需要监控日志&#xff0c;每次都是手动启动 nohup ./prometheus >/dev/null & nohub ./node_exporter >/dev/null & 需求目标&#xff1a; 重启后系统自动启动服务

路由组件与一般组件的区别

路由组件与一般组件的区别 1. 基本概念 1.1 路由组件 路由组件是指通过路由规则映射的组件&#xff0c;通常放在 pages 或 views 文件夹中。 1.2 一般组件 一般组件是指通过 import 导入后直接使用的组件&#xff0c;通常放在 components 文件夹中。 2. 主要区别 2.1 存…

Qt天气预报系统设计界面布局第四部分右边

Qt天气预报系统 1、第四部分右边的第一部分1.1添加控件 2、第四部分右边的第二部分2.1添加控件 3、第四部分右边的第三部分3.1添加控件3.2修改控件名字 1、第四部分右边的第一部分 1.1添加控件 拖入一个widget&#xff0c;改名为widget04r作为第四部分的右边 往widget04r再拖…

数据库系统概论期末复习

期末考试题型&#xff1a; 选择题 20题 20分 判断题 10题 10分 简答题 4题 20分 SQL语句&#xff1a; &#xff08;select delete update&#xff09;30分 设计题&#xff1a;ER图 和关系模式 ER转关系模式&#xff0c;注意主码&#xff0c;外码的标注 15分 应用题&#xff1a;…

uni-app 页面生命周期及组件生命周期汇总(Vue2、Vue3)

文章目录 一、前言&#x1f343;二、页面生命周期三、Vue2 页面及组件生命周期流程图四、Vue3 页面及组件生命周期流程图4.1 页面加载时序介绍4.2 页面加载常见问题4.3 onShow 和 onHide4.4 onInit4.5 onLoad4.6 onReachBottom4.7 onPageScroll4.8 onBackPress4.9 onTabItemTap…

微信小程序中 “页面” 和 “非页面” 的区别

微信小程序中 “页面” 和 “非页面” 的区别&#xff0c;并用表格进行对比。 核心概念&#xff1a; 页面 (Page)&#xff1a; 页面是微信小程序中用户可以直接交互的视图层&#xff0c;也是小程序的基本组成部分。每个页面都有自己的 WXML 结构、WXSS 样式和 JavaScript 逻辑…

【Linux】传输层协议UDP

目录 再谈端口号 端口号范围划分 UDP协议 UDP协议端格式 UDP的特点 UDP的缓冲区 UDP注意事项 进一步深刻理解 再谈端口号 在上图中&#xff0c;有两个客户端A和B&#xff0c;客户端A打开了两个浏览器&#xff0c;这两个客户端都访问同一个服务器&#xff0c;都访问服务…

大数据架构演变

一、离线数仓 缺点&#xff1a; ETL计算、存储、时间成本高数据处理链路过长无法支持实时、近实时的数据分析数据采集对业务库造成影响 二、Lambda架构&#xff0c;离线实时分开 缺点&#xff1a; 组件多&#xff0c;不方便管理很难保证数据一致数据探查困难&#xff0c;出现…

进程间通讯

简介&#xff1a; 进程间通讯方式有&#xff1a; 1.内存映射&#xff08;mmap&#xff09;&#xff1a; 使用mmap函数将磁盘空间映射到内存 2.管道 3.信号 4.套接字&#xff08;socket&#xff09; 5.信号机制 通过进程中kill函数&#xff0c;去给另一个函数发送信号&a…

毕业项目推荐:基于yolov8/yolov5的行人检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示&#xff1a;功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出&#xff08;xls格式&#xff09;功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

[桌面运维]windows自动设置浅深色主题

设置自动浅色/深色主题 我看很多up主的教程过于繁琐&#xff0c;需要添加四个功能&#xff0c;并且有些还不能生效&#xff01; 大多数都是教程&#xff1a; 自动任务栏浅色 add HKCUSOFTWAREMicrosoftWindowsCurrentVersionThemesPersonalize/v SystemUsesLightTheme /t …

LQ quarter 5th

目录 B. 开赛主题曲 C. BlueAI E. 精准难度 B. 开赛主题曲 &#xff08;1&#xff09;两层循环枚举所有子串。第一层子串长度&#xff0c;第二层子串起点 &#xff08;2&#xff09;判子串是否合法还要一个 for&#xff0c;26 * 26 * 2e5 快要超时&#xff0c;因此计算每个字母…

Directx12 chapter4

官方的初始化需要的组件 Initialize 初始化涉及到首次设置全局变量和类&#xff0c;initialize 函数必须准备管道和资产。 初始化管道。 启用调试层。创建设备。创建命令队列。创建交换链。创建渲染器目标视图 (RTV) 描述符堆。 备注 可将描述符堆视为描述符的数组。 其中…

STM32 软件I2C读写

单片机学习&#xff01; 目录 前言 一、软件I2C读写代码框架 二、I2C初始化 三、六个时序基本单元 3.1 引脚操作的封装和改名 3.2 起始条件执行逻辑 3.3 终止条件执行逻辑 3.4 发送一个字节 3.5 接收一个字节 3.5 发送应答&接收应答 3.5.1 发送应答 3.5.2 接…

计算机网络--UDP和TCP课后习题

【5-05】 试举例说明有些应用程序愿意采用不可靠的UDP, 而不愿意采用可靠的TCP。 解答&#xff1a; 这可能有以下几种情况。 首先&#xff0c;在互联网上传输实时数据的分组时&#xff0c;有可能会出现差错甚至丢失。如果利用 TCP 协议对这些出错或丢失的分组进行重传&…

【C++】B2099 矩阵交换行

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述题目描述输入格式输出格式输入输出样例输入 #1输出 #1 &#x1f4af;题目分析&#x1f4af;不同解法分析我的做法实现步骤&#xff1a;优点&#xff1a;不足&#…

[微服务]redis主从集群搭建与优化

搭建主从集群 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。 1. 主从集群结构 下图就是一个简单的Redis主从集群结构&#xff1a; 如图所示&#xff0c;集群中有一个master节点、两个s…

使用WebSocket 获取实时数据

回车发送数据&#xff0c;模拟服务器发送数据 效果图&#xff1a; 源码&#xff1a; <template><div><h1>WebSocket 实时数据</h1><input type"text" v-model"ipt" keyup.enter"sendMessage(ipt)"><div v-if…