当前位置: 首页 > news >正文

ComfyUi教程之阿里的万象2.1视频模型

ComfyUi教程之阿里的万象2.1视频模型

  • 官网
    • Wan 2.1 特点
  • 一、本地安装
      • 1.1克隆仓库
      • 1.2 安装依赖
      • (1.3)下载模型
      • (1.4)CUDA和CUDNN
  • 二、 使用体验
      • (2.1)官方例子
      • (2.2)执行过程
      • (2.3)执行结果
  • 三、ComfyUi使用wan2.1
      • 文生视频示例
      • 图生视频示例

引用:2月25日晚间,阿里云旗下视觉生成基座模型万相2.1(Wan)正式开源,此次开源采用最宽松的Apache2.0协议,14B和1.3B两个参数规格的全部推理代码和权重全部开源,同时支持文生视频和图生视频任务。

官网

https://tongyi.aliyun.com
本地部署之前可以在线体验。 在线可以图生视频呢。

在这里插入图片描述

Wan 2.1 特点

  • 支持消费级 GPU:T2V-1.3B 型号仅需 8.19 GB VRAM,几乎兼容所有消费级 GPU。它可以在大约 5 分钟内在 RTX 4090 上生成一个 4 秒的 480P 视频(无量化)。
  • 多任务:Wan 2.1 擅长文本到视频(T2V)、图像到视频(I2V)、视频编辑、文本到图像和视频到音频,推动了视频生成领域的发展。
  • 视觉文本生成:Wan 2.1 是第一个能够同时生成中文和英文文本的视频模型。
  • 强大的视频 VAE:Wan-VAE 提供卓越的效率和性能,对任意长度的 1080P 视频进行编码和解码,同时保留时间信息,使其成为视频和图像生成的理想基础。

一、本地安装

博主先介绍本地部署wan2.1, 若只关注comfyui如何使用wan,可以直接忽略,跳到第四章

1.1克隆仓库

和其它开源项目类似,先克隆代码仓库。

git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1

1.2 安装依赖

国内环境先把Python换成国内源。 最好还是先建个虚拟环境。

 python -m venv wan#激活
wan\Scripts\activate

按照下面官方的方式直接装是不会成功的。

# Ensure torch >= 2.4.0
pip install -r requirements.txt

(1.2.1)安装 flash-attention
依赖中有flash_attn这项,没指定版本,安装依赖时编译轮子总是失败。

查询其官方的二进制发布后发现最新版是v2.7.4.post1,且只有Linux版本。 发现第三方有flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl,下载后手动安装。
在这里插入图片描述

pip install "flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl"

在这里插入图片描述

记下来这两个cu124,以及torch2.6.0

(1.2.2)重新安装依赖
这时候我们有flash-attention了,直接安装requirements.txt吧。

(wan) > pip install -r requirements.txt

(1.2.3)替换pytorch成CUDA版本
国内环境先把Pytorch换成国内源,或手动下载安装。

先查看gpu驱动版本, 博主使用的是cuda_12.8。 第一次跑, 因为未安装正确的版本报错。

(wan) G:\ai\Wan2.1>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:38:46_Pacific_Standard_Time_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0

那么到pytorch官网检查适合版本 https://pytorch.org/get-started/locally/

在这里插入图片描述
复制它自动生成的下载连接 ,执行。

(wan) > pip uninstall torch torchvision
......
(wan) > pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

(1.3)下载模型

按照新闻上的说法,本地能部署Wan2.1-T2V-1.3B模型。 国内环境请换huggingface源,或手动去hf-mirror下载。
使用huggingface-cli:

(wan) > pip install "huggingface_hub[cli]"
(wan) > huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B --local-dir ./Wan2.1-T2V-1.3B
(wan) > huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B

使用魔搭modelscope-cli:

pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-14B --local_dir ./Wan2.1-T2V-14B

(1.4)CUDA和CUDNN

因为之前接触的项目都是CUDA11,所以我这部分也都得重装一次。 如果已经是CUDA12则无视。

  • CUDA Toolkit 12 官网地址。
  • CUDNN 下载地址。
    请注意版本号对应。 正常都会向下兼容,所以我用了最新的CUDA12.8。

(1.4.1)CUDA Toolkit 12.8 和 Visual Studio 2022 v17.13.0 冲突
安装程序进度条会在nsight visual studio edition卡住。 且不报错,请参考。

看到不是我一个人的问题,就放心了。 神仙打架,我等绕过吧。

二、 使用体验

(2.1)官方例子

两只拟人的猫咪穿着舒适的拳击装备,戴着鲜艳的拳击手套,在聚光灯照亮的舞台上激烈搏斗。

官网说 单GPU

(wan) > python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."(wan) > python generate.py  --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."

喝完一杯茶, 发现报错啦

(wan) G:\ai\Wan2.1>python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
Traceback (most recent call last):File "G:\ai\Wan2.1\generate.py", line 15, in <module>import wanFile "G:\ai\Wan2.1\wan\__init__.py", line 1, in <module>from . import configs, distributed, modulesFile "G:\ai\Wan2.1\wan\modules\__init__.py", line 1, in <module>from .attention import flash_attentionFile "G:\ai\Wan2.1\wan\modules\attention.py", line 11, in <module>import flash_attnFile "G:\ai\Wan2.1\wan\lib\site-packages\flash_attn\__init__.py", line 3, in <module>from flash_attn.flash_attn_interface import (File "G:\ai\Wan2.1\wan\lib\site-packages\flash_attn\flash_attn_interface.py", line 15, in <module>import flash_attn_2_cuda as flash_attn_gpu
ImportError: DLL load failed while importing flash_attn_2_cuda: 找不到指定的模块。

分析是flash与gpu、pytorch不兼容
先查看gpu驱动版本

(wan) G:\ai\Wan2.1>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:38:46_Pacific_Standard_Time_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0

检查pytorch版本

编写文件pytorcha.py,内容如下
import torch
print(torch.__version__)(wan) G:\ai\Wan2.1>python pytorcha.py
2.6.0+cpu

发现博主安装的pytorcha是cpu版本, 重新安装

检查pytorch与博主电脑gpu的版本, https://pytorch.org/get-started/locally/
在这里插入图片描述

(wan) > pip uninstall torch torchvision
......
(wan) > pip install torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

官网还说
当运行深度学习模型(尤其是大规模模型)时,可能会遇到内存不足(OOM,Out-of-Memory)问题,即 GPU 在加载和处理模型时耗尽内存。
–offload_model True
该选项用于将模型的部分内容从 GPU 内存转移到 CPU 内存或磁盘。启用后,系统会动态将部分模型参数和中间计算结果转移到内存压力较小的位置,从而降低 GPU 的内存占用。
–t5_cpu
此选项可能针对模型中的 T5 组件(如模型包含 T5 架构部分),强制将 T5 相关计算迁移到 CPU 执行。这进一步减少了 GPU 的负担。

(wan) >  python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."

(2.2)执行过程

[2025-02-26 19:54:53,860] INFO: offload_model is not specified, set to True.
[2025-02-26 19:54:53,860] INFO: Generation job args: Namespace(task='t2v-1.3B', size='832*480', frame_num=81, ckpt_dir='./Wan2.1-T2V-1.3B', offload_model=True, ulysses_size=1, ring_size=1, t5_fsdp=False, t5_cpu=False, dit_fsdp=False, save_file=None, prompt='Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage.', use_prompt_extend=False, prompt_extend_method='local_qwen', prompt_extend_model=None, prompt_extend_target_lang='ch', base_seed=2819604094901642957, image=None, sample_solver='unipc', sample_steps=50, sample_shift=5.0, sample_guide_scale=5.0)
[2025-02-26 19:54:53,860] INFO: Generation model config: {'__name__': 'Config: Wan T2V 1.3B', 't5_model': 'umt5_xxl', 't5_dtype': torch.bfloat16, 'text_len': 512, 'param_dtype': torch.bfloat16, 'num_train_timesteps': 1000, 'sample_fps': 16, 'sample_neg_prompt': '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手 指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走', 't5_checkpoint': 'models_t5_umt5-xxl-enc-bf16.pth', 't5_tokenizer': 'google/umt5-xxl', 'vae_checkpoint': 'Wan2.1_VAE.pth', 'vae_stride': (4, 8, 8), 'patch_size': (1, 2, 2), 'dim': 1536, 'ffn_dim': 8960, 'freq_dim': 256, 'num_heads': 12, 'num_layers': 30, 'window_size': (-1, -1), 'qk_norm': True, 'cross_attn_norm': True, 'eps': 1e-06}
[2025-02-26 19:54:53,860] INFO: Input prompt: Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage.
[2025-02-26 19:54:53,860] INFO: Creating WanT2V pipeline.
[2025-02-26 19:55:26,106] INFO: loading ./Wan2.1-T2V-1.3B\models_t5_umt5-xxl-enc-bf16.pth
[2025-02-26 19:55:34,677] INFO: loading ./Wan2.1-T2V-1.3B\Wan2.1_VAE.pth
[2025-02-26 19:55:35,471] INFO: Creating WanModel from ./Wan2.1-T2V-1.3B
[2025-02-26 19:55:42,221] INFO: Generating video ...40%|██████████████████████████████████████████████████████████████████████████████                                                                                                                     | 20/50 [52:05&lt;1:18:05, 156.18s/it]

我的电脑是

CPU:i9-12900FRAM:64GB显卡:4060Ti16GB
预计生成时间超过2个小时。😓 所以我才有时间把踩过的坑记录下来。

(2.3)执行结果

(2.3.1)默认文件名无法保存
等了2个多小时,最后一步保存文件失败了??? 仅仅是文件名的格式问题,蛤? 这小bug太折磨人了。

[2025-02-26 19:55:42,221] INFO: Generating video ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [2:02:40&lt;00:00, 147.20s/it]
[2025-02-26 22:12:12,834] INFO: Saving generated video to t2v-1.3B_832*480_1_1_Two_anthropomorphic_cats_in_comfy_boxing_gear_and__20250226_221212.mp4
[out#0/mp4 @ 000002818aa85c40] Error opening output \t2v-1.3B_832*480_1_1_Two_anthropomorphic_cats_in_comfy_boxing_gear_and__20250226_221212.mp4: Invalid argument
Error opening output file \t2v-1.3B_832*480_1_1_Two_anthropomorphic_cats_in_comfy_boxing_gear_and__20250226_221212.mp4.
Error opening output files: Invalid argument
cache_video failed, error: result type Float can't be cast to the desired output type Byte
[2025-02-26 22:12:16,213] INFO: Finished.
(wan) >

(2.3.2)成功
两个小时又悄悄的过去了。 增加--save_file参数后OK。

[2025-02-26 22:26:56,407] INFO: Generating video ...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [2:15:32&lt;00:00, 162.64s/it]
[2025-02-27 00:43:17,461] INFO: Saving generated video to D:\TestIt.mp4
[2025-02-27 00:43:17,918] INFO: Finished.
(wan) >

本地部署阿里万象2.1文生视频(Wan2.1-T2V-1.3B)模型生成的示例

三、ComfyUi使用wan2.1

  1. 下载最小 ComfyUI
    首先要把 ComfyUI 更新到最新版本:
  • 秋叶启动器中将内核切换到最新版本。
  • 官方便携包可以在管理器内更新 ComfyUI。

博主使用秋叶启动器,下载2小时,解压后先配置与旧版本共享模型文件夹
复制extra_model_paths.yaml.example-》extra_model_paths.yaml,
修改

a111:base_path: G:\ai\sd-webui-aki\sd-webui-aki-v4.6# 以本机实际目录为准, 可以不改

在这里插入图片描述
启动“绘世启动器.exe”, 点击左侧“版本管理”,先“刷新列表”,立刻选择最新版本“切换”
在这里插入图片描述

更新完成后,启动。

  1. 下载模型
    博主下载的版本很多, 所以建立公共文件夹, 以便不同版本的comfyui使用. 可选
    在这里插入图片描述
    在这里插入图片描述

旧文件夹暂时改名
在这里插入图片描述


mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\clip_vision G:\ai\ComfyUI-aki\models\clip_vision
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\text_encoders G:\ai\ComfyUI-aki\models\text_encoders
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\vae G:\ai\ComfyUI-aki\models\vae
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\clip G:\ai\ComfyUI-aki\models\clip
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\upscale_models G:\ai\ComfyUI-aki\models\upscale_models
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\ipadapter G:\ai\ComfyUI-aki\models\ipadapter
mklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\models\insightface G:\ai\ComfyUI-aki\models\insightfacemklink /d  G:\ai\ComfyUI-aki\ComfyUI-aki-v1.6\ComfyUI\output G:\ai\ComfyUI-aki\output

大模型下载
地址:https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/diffusion_models
放置路径:ComfyUI/models/diffusion_models ComfyUI/models/unet
说明:这个模型实在太大了,我这里就下载一个 1.3B 的文生视频模型作为测试。

在这里插入图片描述

CLIP 下载
地址:https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors?download=true
放置路径:ComfyUI/models/clip_vision
在这里插入图片描述

VAE 下载
地址:https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors?download=true
放置路径:ComfyUI/models/vae
在这里插入图片描述

Text Encoders 下载
地址:https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors?download=true
放置路径:ComfyUI/models/text_encoders
在这里插入图片描述

下载官网工作流 https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/
在这里插入图片描述

操作:将下载好的工作流拖入到 ComfyUI。

在这里插入图片描述

文生视频示例

用 1.3B 的模型速度还是非常快的,在 RTX 4090 上大概一分钟。在这么小的模型上有这种效果还是很不错的。
image
在这里插入图片描述

图生视频示例

来源于官网
image
实测
在这里插入图片描述

A beautiful young woman with flowing long hair, delicate facial features, and bright eyes dances gracefully. She wears a shimmering sequined dance dress that flows with her movements, paired with high heels. The scene is set in a dreamy stage with colorful spotlights—warm yellow beams highlighting her figure, and blue neon lights creating a vibrant atmosphere. Her body bends elegantly, one hand raised gracefully, the other trailing beside her, hips swaying rhythmically, legs stretching smoothly, showcasing professional dance postures like spins and lifts, exuding confidence and charm.

上传图片
请添加图片描述

得到结果, 虽然很慢, 不过电脑配置就这样,安啦

请添加图片描述

相关文章:

ComfyUi教程之阿里的万象2.1视频模型

ComfyUi教程之阿里的万象2.1视频模型 官网Wan 2.1 特点 一、本地安装1.1克隆仓库1.2 安装依赖&#xff08;1.3&#xff09;下载模型&#xff08;1.4&#xff09;CUDA和CUDNN 二、 使用体验&#xff08;2.1&#xff09;官方例子&#xff08;2.2&#xff09;执行过程&#xff08;…...

如何在一个图片上添加另外一个图片

如果你使用的windows10 系统&#xff0c;可以使用系统自带的画图工具 1. 打开windows搜索&#xff0c; 画图工具 2. 在画图软件内&#xff0c; ctrlc 复制图片 &#xff0c; ctrlv粘贴图片 3. 调整想要粘贴的图片&#xff0c;到上图汇总&#xff0c;最后保存&#xff0c;或者…...

【面试题】在 CSS 中,实现一个 div 中的子 div 水平垂直居中

1. 使用 Flexbox 特点&#xff1a;简单、直观&#xff0c;现代浏览器支持良好。 代码&#xff1a; css .parent {display: flex;justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */height: 200px; /* 父容器需有高度 */ } .child {…...

Electron 项目开机自启动

app.setLoginItemSettings 与 auto-launch 对比分析 一、稳定性对比 1. app.setLoginItemSettings 优点&#xff1a;作为Electron官方API&#xff0c;有官方维护和支持缺点&#xff1a; 在某些Windows版本上存在已知问题部分Windows 10/11更新后可能失效在macOS权限更严格的…...

sql基础

本文多数内容属于个人基于网上资料的理解&#xff0c;如果有问题请告知修改&#xff0c;十分感谢 定义 百度百科&#xff1a;SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言&#xff0c;这种语言具有交互性特点&#xff0c;能为用户提供极…...

【C++数据库】SQLite3数据库连接与操作

注意:本文代码均为C++20标准下实现 一、SQLite3库安装 1.1 安装库文件 【工具】跨平台C++包管理利器vcpkg完全指南 vcpkg install sqlite3# 集成至系统目录,之前执行过此命令的无需再次执行 vcpkg integrate install1.2 验证代码 在VS2022中新建控制台项目,测试代码如下…...

数据结构——Map和Set

1. 搜索树 1. 概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它可以是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空&#xff0c;则左⼦树上所有节点的值都⼩于根节点的值 • 若它的右⼦树不为空&#xff0c;则右⼦树上所有节点的值都⼤于根节点的值…...

zsh安装以及安装配置oh-my-zsh安装zsh-autosuggestionszsh-syntax-highlighting

下面是安装 zsh 及配置 oh‑my‑zsh 的详细步骤&#xff0c;适用于 Linux 和 macOS 环境&#xff1a; 1. 安装 zsh 1.1 在 macOS 上安装 zsh macOS 通常预装了 zsh&#xff0c;但建议升级到最新版本。你可以通过 Homebrew 来安装最新版&#xff1a; brew install zsh安装完成…...

VMware 安装 Ubuntu 实战分享

VMware 安装 Ubuntu 实战分享 VMware 是一款强大的虚拟机软件&#xff0c;广泛用于多操作系统环境的搭建。本文将详细介绍如何在 VMware 中安装 Ubuntu&#xff0c;并分享安装过程中的常见问题及解决方法。 1. 安装前的准备工作 (1) 系统要求 主机操作系统&#xff1a;Windo…...

【SpringCloud】Eureka的使用

3. Eureka 3.1 Eureka 介绍 Eureka主要分为两个部分&#xff1a; EurekaServer: 作为注册中心Server端&#xff0c;向微服务应用程序提供服务注册&#xff0c;发现&#xff0c;健康检查等能力。 EurekaClient: 服务提供者&#xff0c;服务启动时&#xff0c;会向 EurekaS…...

Redis:List 类型 内部实现、命令及应用场景

Redis 中的 List&#xff08;列表&#xff09;类型是一种有序的数据结构&#xff0c;它可以存储多个字符串元素&#xff0c;并且这些元素按照插入顺序排列。可以将它理解为一个双向链表&#xff0c;支持在链表的两端进行快速的插入和删除操作。它允许元素重复&#xff0c;并且可…...

Python 字符串正则表达式详解

Python 字符串正则表达式详解 一、正则表达式核心语法 元字符含义正确示例与说明常见错误修正.匹配任意字符&#xff08;换行符除外&#xff09;a.b → 匹配"acb"、“a1b”不匹配换行符&#xff08;需用re.S模式&#xff09;^匹配字符串开头^Hello → 匹配以"H…...

重试机制之指针退避策略算法

一、目的&#xff1a;随着重试次数增加&#xff0c;逐步延长重连等待时间&#xff0c;避免加重服务器负担。 二、计算公式&#xff1a; 每次重试的延迟时间 初始间隔 (退避基数 ^ 重试次数) 通常设置上限防止等待时间过长。 const delay Math.min(initialDelay * Math.pow…...

pyqt第一个窗口程序

文章目录 官方文档相手动创建窗口程序designer创建ui布局 官方文档相 https://doc.qt.io/qtforpython-6/ 手动创建窗口程序 import sys # 导入系统模块&#xff0c;用于获取命令行参数和系统功能 from PySide6.QtWidgets import QApplication, QLabel # 导入Qt组件&#x…...

【蓝桥杯】单片机设计与开发,PWM

一、PWM概述 用来输出特定的模拟电压。 二、PWM的输出 三、例程一&#xff1a;单片机P34引脚输出1kHZ的频率 void Timer0Init(void);unsigned char PWMtt 0;void main(void) {P20XA0;P00X00;P20X80;P00XFF;Timer0Init();EA1;ET01;ET11;while(1);}void Timer0Init(void) //1…...

CSS学习笔记5——渐变属性+盒子模型阶段案例

目录 通俗易懂的解释 渐变的类型 1、线性渐变 渐变过程 2、径向渐变 如何理解CSS的径向渐变&#xff0c;以及其渐变属性 通俗易懂的解释 渐变属性 1. 形状&#xff08;Shape&#xff09; 2. 大小&#xff08;Size&#xff09; 3. 颜色停靠点&#xff08;Color Sto…...

频谱分析仪的最大保持功能

专门应用于例如遥控器之类的&#xff0c;按一下&#xff0c;一瞬间出现的信号的测量。 把仪器连接天线&#xff0c;观测空间中的一些信号&#xff0c;比如WIFI的信号&#xff0c;我们可以看到仪器接收到的信号其实是一直变化的&#xff0c;并不是每一次扫描都能扫到我们想要的这…...

权值线段树算法讲解及例题

算法思想 普通的线段树一般是求区间之和或区间最值&#xff0c;所以这些线段树的每个节点的下标是原数组中的区间范围&#xff0c;每个节点存的是区间和或最值&#xff0c;而权值线段树的每个节点的下标是数组中元素的值&#xff0c;而权值线段树每个节点存的是当前元素出现的…...

3.26刷题(矩阵模拟专题)

1.59. 螺旋矩阵 II - 力扣&#xff08;LeetCode&#xff09; //方法一&#xff1a;变换方向法 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> dirct {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};vector<vect…...

深入解析 JSON-RPC:从基础到高级应用(附调用示例)

在当今的软件开发领域&#xff0c;远程过程调用&#xff08;RPC&#xff09;技术是实现分布式系统间通信的关键手段之一。JSON-RPC&#xff0c;作为一种基于 JSON 数据格式的轻量级 RPC 协议&#xff0c;因其简洁性和高效性而备受青睐。本文将全面深入地探讨 JSON-RPC 的核心概…...

MAC环境给docker换源

2025-03-28 MAC环境给docker换源 在官网下载docker ,dmg 文件 参考&#xff1a; https://blog.csdn.net/qq_73162098/article/details/145014490 {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},&q…...

Ollama及HuggingFace路径环境变量设置

日常经常用到这俩的一些环境变量&#xff0c;特记录下来&#xff0c;如有错误&#xff0c;还请指正。 1. Ollama路径环境变量设置 Ollama 模型路径变量名为OLLAMA_MODELS&#xff0c;设置示例&#xff1a; 变量名示例OLLAMA_MODELS C:\Users\Administrator\.ollama\models D…...

Redis | 基于 Redis 实现机器列表 Token 缓存的 Java 实现

关注&#xff1a;CodingTechWork 引言 在分布式系统中&#xff0c;Token 缓存是一种常见的需求。它可以帮助我们快速验证用户身份&#xff0c;减少对数据库的频繁访问&#xff0c;提高系统的性能和响应速度。本文将介绍如何使用 Redis 来实现机器列表的 Token 缓存&#xff0c…...

Linux\CentOS解决OpenSSH和Nginx安全漏洞

前言 由于有些服务器需要对公网提供服务、客户对于服务器安全比较重视&#xff0c;需要公司提供服务器安全报告。大多数服务器经过漏洞扫描之后、会出现很多软件低版本的漏洞&#xff0c;此时就需要升级软件的版本来解决这些漏洞问题。本篇文章记录升级软件过程。 漏洞编号漏…...

ubuntu22.04 ROS2humble 路径文件

ROS2humble 路径文件 /opt/ros/humble/include/opt/ros/humble/lib/opt/ros/humble/share 下载ros2之后会有下面的文件&#xff0c;在/opt/ros/humble下 /opt/ros/humble/include C/C 头文件&#xff08;.h, .hpp&#xff09; /opt/ros/humble/lib 作用: 存放 编译生成的二…...

zookeeper部署教程

在Linux系统中离线安装并配置ZooKeeper&#xff0c;可按以下步骤操作&#xff1a; 1. 准备安装包和依赖 下载ZooKeeper&#xff1a;在有网络的环境下&#xff0c;前往Apache ZooKeeper官网下载所需的稳定版本&#xff0c;例如zookeeper-3.8.2.tar.gz。准备JDK&#xff1a;Zoo…...

生成信息提取的大型语言模型综述

摘要 信息提取&#xff08;IE&#xff09;旨在从简单的自然语言文本中提取结构知识。最近&#xff0c;生成型大型语言模型&#xff08;LLMs&#xff09;在文本理解和生成方面表现出了显著的能力。因此&#xff0c;已经提出了许多基于生成范式将LLM集成到IE任务中的工作。为了对…...

霸王茶姬小程序(2025年1月版)任务脚本

脚本用于自动执行微信小程序霸王茶姬的日常签到和积分管理任务。 脚本概述 脚本设置了定时任务(cron),每天运行两次,主要用于自动签到以获取积分,积分可以用来换取优惠券。 核心方法 constructor:构造函数,用于初始化网络请求的配置,设置了基础的 HTTP 请求头等。 logi…...

Maven中为什么有些依赖不用引入版本号

先给出一个例子&#xff1a; <parent><artifactId>sky-take-out</artifactId><groupId>com.sky</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>sky-s…...

机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法

一、集成学习框架 对训练样本较少的结构化数据领域&#xff0c;Boosting算法仍然是常用项 XGBoost、CatBoost和LightGBM都是以决策树为基础的集成学习框架 三个学习框架的发展是&#xff1a;XGBoost是在GBDT的基础上优化而来&#xff0c;CatBoost和LightGBM是在XGBoost的基础上…...

第十二章——位运算

按位的与& 若x的第i位和y的第i位都是1&#xff0c;那么&#xff08;x&y&#xff09;1&#xff0c;否则&#xff08;x&y&#xff09; 0 应用&#xff1a;希望让某一位或某些位为0 。取一个数中的一段。 按位的或| 若x的第i位1或y的第i位1&#xff0c;那么&…...

陪伴就诊 APP 功能架构:如何通过特定模块筛选优秀陪诊师

在当今社会&#xff0c;随着人们对医疗服务品质需求的提升&#xff0c;陪诊师这一职业应运而生。然而&#xff0c;市场上陪诊师众多&#xff0c;水平参差不齐&#xff0c;如何筛选出优秀的陪诊师成了大家关注的焦点。而陪伴就诊 APP 的等级功能&#xff0c;为我们提供了一个有效…...

UI产品经理基础(六):如何解决用户的质疑?

在需求调查中遇到用户质疑“不专业”或“不了解需求”&#xff0c;本质上是用户对产品经理的信任缺失或沟通鸿沟导致的。要化解这种质疑&#xff0c;需从专业能力展示、沟通方式优化、用户参与感提升三个维度切入&#xff0c;结合具体场景采取针对性策略。以下是系统化的解决方…...

【江协科技STM32】BKP备寄存器RTC实时时钟(学习笔记)

BKP备寄存器 BKP简介 BKP&#xff08;Backup Registers&#xff09;备份寄存器BKP可用于存储用户应用程序数据。当VDD&#xff08;2.0~3.6V&#xff09;电源被切断&#xff0c;他们仍然由VBAT&#xff08;1.8~3.6V&#xff09;维持供电。当系统在待机模式下被唤醒&#xff0…...

Flutter项目之table页面实现

目录&#xff1a; 1、首页页面index.dart&#xff08;首页table页面&#xff09;searchbar.dart (搜索页面)common_swiper.dart (轮播图)index_navigation.dart (导航区域)index_navigatorItem_list.dart (数组构造) 2、房屋推荐index_recommond.dart (房屋推荐区域)IndexRecom…...

Stable Virtual Camera 重新定义3D内容生成,解锁图像新维度;BatteryLife助力更精准预测电池寿命

在数字内容创作的激烈竞争中&#xff0c;Stability AI 正站在命运的十字路口。这家曾以 Stable Diffusion 引爆图像生成革命的公司&#xff0c;却因上层管理问题陷入了危机。近期&#xff0c;Stability AI 推出了 Stable Virtual Camera 模型&#xff0c;不知能否以一记重拳打破…...

物理安全——问答

目录 1、计算机的物理安全包含哪些内容 1. 设备保护 2. 访问控制 3. 电力与环境安全 4. 数据存储保护 5. 硬件防护 6. 监控与审计 7. 灾难恢复与应急响应 8. 拆卸与维修安全 2、物理安全有哪些需要关注的问题 1、计算机的物理安全包含哪些内容 1. 设备保护 防止盗窃&…...

「查缺补漏」巩固你的 RabbitMQ 知识体系

1 MQ 存在的意义 消息中间件一般主要用来做 异步处理、应用解耦、流量削峰、日志处理 等方面。 1.1 异步处理 一个用户登陆网址注册&#xff0c;然后系统发短信跟邮件告知注册成功&#xff0c;一般有三种解决方法。 串行方式&#xff0c;依次执行&#xff0c;问题是用户注册…...

前后前缀

一种特殊的前缀方法&#xff1a; 通过前后两次前缀&#xff0c;可以求出目的区间值 例题1&#xff1a; 最大或值&#xff1a;2680. 最大或值 - 力扣&#xff08;LeetCode&#xff09;&#xff08;贪心前缀&#xff09; 贪心可知只让一个数变化最后或值最大&#xff0c;所以通过…...

C++细节知识for面试

1. linux上C程序可用的栈和堆大小分别是多少&#xff0c;为什么栈大小小于堆&#xff1f; 1. 栈&#xff08;Stack&#xff09;大小 栈默认为8MB&#xff0c;可修改。 为什么是这个大小&#xff1a; ​安全性&#xff1a;限制栈大小可防止无限递归或过深的函数调用导致内存…...

构建高可用性西门子Camstar服务守护者:异常监控与自愈实践

在智能制造领域,西门子Camstar作为领先的MES系统承载着关键生产业务。但在实际运维中,我们发现其服务常因数据库负载激增(如SQL阻塞链超时)或应用服务器资源耗尽(CPU峰值达90%以上)导致服务不可用。传统人工干预方式平均故障恢复时间长达47分钟,这对连续生产场景构成了严…...

DeepSeek-V3-250324: AI模型新突破,性能超越GPT-4.5

DeepSeek 于 3 月 25 日宣布完成 V3 模型的小版本升级&#xff0c;推出 DeepSeek-V3-250324 版本。新版本在推理能力、代码生成、中文写作及多模态任务上实现显著优化&#xff0c;尤其在数学和代码类评测中得分超越 GPT-4.5&#xff0c;引发行业高度关注。 DeepSeek-V3-250324…...

OSPF邻居状态机

OSPF&#xff08;Open Shortest Path First&#xff09;协议的邻接关系状态机描述了两台OSPF路由器之间建立和维护邻接关系的过程。以下是每个状态的简要描述&#xff1a; Down State&#xff08;关闭状态&#xff09; 描述&#xff1a;这是OSPF邻接关系的初始状态&#xff0c;…...

使用tensorflow实现线性回归

目录 前言使用TensorFlow实现算法的基本套路:实战 前言 实现一个算法主要从以下三步入手: 找到这个算法的预测函数, 比如线性回归的预测函数形式为:y wx b, 找到这个算法的损失函数 , 比如线性回归算法的损失函数为最小二乘法 找到让损失函数求得最小值的时候的系数, 这时一…...

CF每日5题Day4(1400)

好困&#xff0c;感觉很累&#xff0c;今天想赶紧写完题早睡。睡眠不足感觉做题都慢了。 1- 1761C 构造 void solve(){int n;cin>>n;vector<vector<int>>a(n1);forr(i,1,n){//保证每个集合不同a[i].push_back(i);}forr(i,1,n){string s;cin>>s;forr(…...

Vala 编程语言教程-继承

继承‌ 在 Vala 中&#xff0c;一个类可以继承自 ‌一个或零个‌ 其他类。尽管实际开发中通常继承一个类&#xff08;不同于 Java 等语言的隐式继承机制&#xff09;&#xff0c;但 Vala 并不强制要求必须继承。 当定义继承自其他类的子类时&#xff0c;子类的实例与父…...

CLion下载安装(Windows11)

目录 CLion工具下载安装其他 CLion CLion-2024.1.4.exe 工具 系统&#xff1a;Windows 11 下载 1.通过百度网盘分享的文件&#xff1a;CLion-2024.1.4.exe 链接&#xff1a;https://pan.baidu.com/s/1-zH0rZPCZtQ60IqdHA7Cew?pwdux5a 提取码&#xff1a;ux5a 安装 打开…...

QEMU源码全解析 —— 块设备虚拟化(12)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(11) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! QEMU初始化阶段的块设备虚拟化 从模板生成类和类的实例化 本回继续解析QEMU类Java反…...

如何使用VS中的Android Game Development Extension (AGDE) 来查看安卓 Logcat 日志

一、首先按照以下 指引 中的 第1、2步骤&#xff0c;安装一下 AGDE &#xff0c;AGDE 的安装包可以在官网上找到。 UE4 使用AndroidGameDevelopmentExtension&#xff08;AGDE&#xff09;对安卓客户端做“断点调试”与“代码热更”-CSDN博客 在执行第二步骤前&#xff0c;记得…...

Z字形变换

将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你的输出需要从左往右…...