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

基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)

摘要
医学图像分析中的深度学习模型易受数据集伪影偏差、相机差异、成像设备差异等导致的分布偏移影响,导致在真实临床环境中诊断不可靠。领域泛化(Domain Generalization, DG)方法旨在通过多领域训练提升模型在未知领域的性能,但其依赖精确的领域标签,而医学数据通常缺乏此类标签。为此,我们提出一种无需领域标签的领域泛化框架——提示驱动的潜在领域泛化(Prompt-driven Latent Domain Generalization, PLDG)。该框架包含无监督领域发现与提示学习:首先通过聚类与偏差相关的风格特征生成伪领域标签,随后利用协作式领域提示引导视觉变换器(ViT)从多样化的潜在领域学习知识。通过领域提示生成器实现跨领域知识共享,并采用领域混合策略缓解伪标签噪声问题。在皮肤癌分类、糖尿病视网膜病变分类和组织病理学癌症检测等任务上的实验表明,PLDG无需领域标签即可达到或超越传统DG方法的性能。

关键词:领域泛化,提示学习,皮肤病学,皮肤癌,糖尿病视网膜病变

I. 引言

深度学习在医学图像分析中取得了显著进展,但其性能易受分布偏移的影响。例如,皮肤镜图像分类模型可能过度依赖标尺、凝胶气泡等伪影而非实际病灶特征;糖尿病视网膜病变(Diabetic Retinopathy, DR)分类模型可能过拟合特定相机的成像风格。此类偏差导致模型在真实临床场景中的泛化能力受限。传统领域泛化方法旨在通过多领域训练提升模型对未知领域的适应性,但其依赖预定义的领域标签。然而,医学数据中领域标签常面临以下挑战:

  1. 获取成本高:领域标签需人工标注,耗时费力;

  2. 定义模糊:医学图像的领域划分(如伪影类型、医院来源)缺乏统一标准,不同专家可能存在分歧;

  3. 任务依赖性:领域划分与下游任务强相关,难以跨任务迁移。

现有方法存在两大局限性:

  1. 数据集层面:依赖领域标签的假设不切实际;

  2. 算法层面:领域不变特征学习可能忽略对未知领域有用的信号,而集成学习方法未充分利用跨领域信息。

为此,我们提出潜在领域泛化(Latent Domain Generalization, LDG),通过无监督方式自动发现潜在领域并实现模型泛化。本文的核心贡献如下:

  1. 无需领域标签的框架:提出PLDG,通过聚类ViT浅层风格特征生成伪领域标签,结合提示学习实现跨领域知识迁移;

  2. 领域提示生成器:通过低秩分解促进领域提示间的知识共享;

  3. 领域混合策略:缓解伪标签噪声问题,增强决策边界灵活性;

  4. 广泛验证:在皮肤病变、DR分类、癌症检测及去偏任务中验证有效性,性能超越传统DG方法。


II. 相关工作

A. 领域泛化

传统方法包括:

  • 领域对抗训练:如DANN通过对抗损失对齐特征分布;

  • 统计对齐:如CORAL匹配二阶统计量;

  • 元学习:通过模拟领域偏移优化模型鲁棒性。
    近期研究表明,ViT因其对纹理偏差的弱敏感性,在DG任务中表现优于CNN。然而,现有方法仍依赖领域标签,且医学图像领域泛化研究较少。

B. 医学图像中的领域泛化

现有工作多依赖人工标注的伪影标签或数据集差异作为领域标签,但存在噪声和定义不准确问题。例如,Bissoto等人通过二元分类器标注皮肤数据集的伪影标签,但标注结果可能存在误差;Mohammad等人将不同DR数据集直接视为不同领域,忽略了数据集内部相机多样性。本文首次提出基于ViT风格特征的无监督领域发现方法,摆脱对预定义标签的依赖。

C. 提示学习

提示学习通过添加可学习向量适配预训练模型至下游任务。例如,VPT在ViT中插入可学习提示以微调模型;Doprompt为不同领域设计独立提示以捕获领域特定知识。与现有方法不同,PLDG引入领域提示生成器,通过共享提示与低秩分解实现跨领域协作学习。


III. 方法

A. 问题定义

B. 整体框架

PLDG框架如图1所示,包含以下步骤:

  1. 无监督领域发现:基于ViT浅层CLS令牌的风格特征聚类生成伪领域标签;

  2. 领域提示学习:通过领域提示生成器与混合策略优化模型,提升跨领域泛化能力。


C. 基于简约性偏差的伪领域标签聚类

深度学习模型存在简约性偏差(Simplicity Bias),即倾向于学习简单特征(如背景伪影)而非复杂语义特征。本文利用该特性,从ViT浅层(如第1层)提取CLS令牌风格特征,通过k-means聚类生成伪领域标签。风格特征对齐损失定义为:


D. 基于ViT的领域提示学习


2. 损失函数


IV. 实验结果

A. 实验设置


B. 对比实验

1. 皮肤癌分类(表I)

PLDG在Derm7pt_derm和PAD数据集上分别提升3.46%和14.18%,平均ROC-AUC达84.32%,优于DANN、CORAL等传统方法。

2. DR分类(表II)

PLDG平均准确率达75.6%,显著高于依赖领域标签的方法(如ERM++:72.1%),表明其在领域标签噪声场景下的优势。

3. 癌症检测(表III)

PLDG在Camelyon17-WILDS上准确率为89.7%,仅次于使用领域标签的EPVT(90.2%),验证其实际应用价值。


C. 消融实验(表IV、V)

逐步添加提示(P)、适配器(A)、混合(M)、生成器(G)组件,结果显示:

  • +P:平均ROC-AUC提升3.39%;

  • +P+A+M:进一步提升0.87%;

  • +P+A+M+G:最终提升1.26%,验证各模块的有效性。


D. 超参数分析(图4)

  • 提示长度:4时性能最优;

  • 聚类数:4时平均ROC-AUC最高,且对聚类数不敏感(2~5均表现良好)。


E. 领域提示权重分析(图5)

领域距离(Fr'echet距离)与提示权重呈负相关,表明模型能自适应关注与目标领域相似的源领域。


F. 聚类分析(图6、7)

  • ViT浅层(L1)CLS令牌聚类结果与类别标签无关(NMI=0.12),主要反映风格特征;

  • t-SNE可视化显示伪领域对应“墨水标记”、“暗角”、“深肤色”等医学相关偏差。


G. 去偏评估(图8)

在陷阱数据集中,PLDG在最高偏差等级(Bias=1)时ROC-AUC为68.5%,显著优于ERM(62.37%),表明其对分布偏移的鲁棒性。


V. 结论

本文提出PLDG框架,首次在医学图像分类中实现无需领域标签的潜在领域泛化。实验表明:

  1. 领域标签非必要:通过伪标签发现,PLDG性能媲美甚至超越传统DG方法;

  2. 跨领域知识共享:领域提示生成器有效促进知识迁移;

  3. 鲁棒性:领域混合策略缓解伪标签噪声,提升模型泛化能力。未来工作将扩展至多模态医学数据与实时部署场景。(代码QQandweichat)


参考文献

[1] P. Schramowski, W. Stammer, S. Teso, A. Brugger, F. Herbert,
X. Shao, H. Luigs, A. Mahlein, and K. Kersting, “Making deep neural
networks right for the right scientific reasons by interacting with their
explanations,” Nat. Mach. Intell. , vol. 2, no. 8, pp. 476–486, 2020.
[Online]. Available: https://doi.org/10.1038/s42256-020-0212-3
[2] A. S. Ross, M. C. Hughes, and F. Doshi-Velez, “Right for the
right reasons: Training differentiable models by constraining their
explanations,” in Proceedings of the Twenty-Sixth International Joint
Conference on Artificial Intelligence, IJCAI 2017, Melbourne, Australia,
August 19-25, 2017 , C. Sierra, Ed. ijcai.org, 2017, pp. 2662–2670.
[Online]. Available: https://doi.org/10.24963/ijcai.2017/371
[3] A. Bissoto, C. Barata, E. Valle, and S. Avila, “Artifact-based domain
generalization of skin lesion models,” in ECCV Workshops , 2022.
[4] A. Bissoto, M. Fornaciali, E. Valle, and S. Avila, “(de) constructing
bias on skin lesion datasets,” 2019 IEEE/CVF Conference on Computer
Vision and Pattern Recognition Workshops (CVPRW) , pp. 2766–2774,
2019.
[5] S. Yan, Z. Yu, X. Zhang, D. Mahapatra, S. S. Chandra, M. Janda,
P. Soyer, and Z. Ge, “Towards trustable skin cancer diagnosis via rewrit
ing model’s decision,” in Proceedings of the IEEE/CVF Conference
on Computer Vision and Pattern Recognition (CVPR) , June 2023, pp.
11 568–11 577.
[6] M. Atwany and M. Yaqub, “Drgen: Domain generalization in diabetic
retinopathy classification,” in Medical Image Computing and Computer
Assisted Intervention – MICCAI 2022 , L. Wang, Q. Dou, P. T. Fletcher,
S. Speidel, and S. Li, Eds. Cham: Springer Nature Switzerland, 2022,
pp. 635–644.
[7] D. M. Nguyen, T. T. Mai, N. T. Than, A. Prange, and D. Sonntag,
“Self-supervised domain adaptation for diabetic retinopathy grading
using vessel image reconstruction,” in KI 2021: Advances in Artificial
Intelligence: 44th German Conference on AI, Virtual Event, September
27–October 1, 2021, Proceedings 44 . Springer, 2021, pp. 349–361.

图1 传统领域泛化与潜在领域泛化对比

图2 PLDG算法流程
图3 领域提示生成器与混合策略示意图


图4 提示长度与聚类数对性能的影响


图5 领域提示权重与领域距离的关系
图6 伪领域标签与类别/领域标签的标准化互信息(NMI)


图7 伪领域标签的t-SNE可视化


图8 陷阱数据集去偏性能对比

相关文章:

基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)

摘要 医学图像分析中的深度学习模型易受数据集伪影偏差、相机差异、成像设备差异等导致的分布偏移影响,导致在真实临床环境中诊断不可靠。领域泛化(Domain Generalization, DG)方法旨在通过多领域训练提升模型在未知领域的性能,但…...

【C++】5.4.3 范围for语句

范围for语句基本形式: for(声明变量:序列容器) {循环执行语句; } 其中,“序列容器”是指花括号括起来的初始值列表、数组、vector或者string等类型的对象,主要特点是拥有能返回迭代器的 begin() 和 end() 成员; “声明变量”是一个类似声明…...

LeetCode 排序章节

快速排序 简单 LCR 159. 库存管理 III 仓库管理员以数组 stock 形式记录商品库存表,其中 stock[i] 表示对应商品库存余量。请返回库存余量最少的 cnt 个商品余量,返回 顺序不限。 示例 1: 输入:stock [2,5,7,4], cnt 1 输出&a…...

常见的限流算法有哪些?

一、固定窗口算法(Fixed Window) 原理: 将时间划分为固定长度的窗口(如1秒、1分钟),每个窗口内统计请求次数,超过阈值则拒绝后续请求。例如:每秒限流100次,窗口结束后计…...

【pyqt】(十一)单选框

控件-单选框 单选框的类名为QRadioBox,在学习新的控件的时候, 需要掌握的内容主要除了属性之外,其信号触发方法也非常重要。还可以利用Designer来辅助我们进行学习,尤其是利用Designer的属性展示和设置。 单选框中,最…...

深度解析:视频软编码与硬编码的优劣对比

视频编码 一、基本原理与核心技术 压缩原理 通过时空冗余消除实现数据压缩: 空间冗余:利用帧内预测(如DC/角度预测)消除单帧内相邻像素相似性。时间冗余:运动估计与补偿技术(ME/MC)减少连续帧间…...

[Windows] 批量为视频或者音频生成字幕 video subtitle master 1.5.2

参考原文:[Windows] 批量为视频或者音频生成字幕 video subtitle master 1.5.2 Video Subtitle Master 1.5.2 介绍 Video Subtitle Master 1.5.2 是一款功能强大的客户端工具,能够批量为视频或音频生成字幕,还支持批量将字幕翻译成其他语言…...

Lab 3 Page Table

题目链接 我的问题: 1 每个进程的kernel stack是干啥的来着?在何时初始化的? 题目2:A kernel page table per process (hard) 1 一些题目要求 Your first job is to modify the kernel so that every process uses its own c…...

爬虫逆向:脱壳工具 frida-dexdump 的使用详解

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. 工具简介1.1 frida-dexdump介绍1.2 frida-dexdump支持场景1.3 frida-dexdump优点1.4 frida-dexdump工具使用方法2. 环境准备3. 安装 frida-dexdump4. 使用步骤4.1 步骤一:连接 Android 设备4.1 步骤二:安装目标应用…...

图论-腐烂的橘子

994.腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一:值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。返回 直到…...

FPGA-DE2115开发板实现4位全加器、3-8译码器。

文章目录 一、安装quartus二、4位全加器三、3-8译码器(8段数码管)四、参考文章 一、安装quartus 安装quartus参考文章:Quartus Prime 18.0与ModelSim的安装 Quartus II 18.0安装教程(非常详细)从零基础入门到精通&…...

【leetcode hot 100 48】旋转图像

方法一:(原地旋转)对于矩阵中第 i 行的第 j 个元素,在旋转后,它出现在倒数第 i 列的第 j 个位置。matrix[row][col]在旋转后的新位置为matrix[col][n−row−1]。只要旋转四次就能回到原点。 class Solution {public vo…...

TWind 的黑马点评随笔

TWind 的黑马点评随笔 ​ 目前是把黑马点评的技术部分完全做完了,不能说吃得饱饱,也算个半饱吧。 ​ 黑马点评严格来说不算项目,因为它给的前端过于垃圾,内容又重在Redis,所以称之为Redis练习貌似跟贴切。 ​ 尽管如…...

Fork/Join 框架详解:分支合并的高性能并发编程

目录 引言 一、Fork/Join 框架概述 1.1 什么是 Fork/Join 框架? 1.2 Fork/Join 框架的核心组件 二、Fork/Join 框架的使用步骤 三、Fork/Join 框架的示例 3.1 示例 1:计算数组元素之和 代码实现 代码解析 3.2 示例 2:并行排序 代码…...

爬虫逆向:脱壳工具ZjDroid的使用详解

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. 工具简介2. 环境准备3. ZjDroid工具的使用方法4. 使用步骤4.1 步骤一:连接 Android 设备4.2 步骤二:安装目标应用4.3 步骤三:启动 ZjDroid 脱壳脚本4.4 步骤四:触发应用加载壳内代码4.5 步骤五:获取脱壳后的文件…...

上海市闵行区数据局调研云轴科技ZStack,共探数智化转型新路径

为进一步深化人工智能、大模型技术的应用,推动区域数字经济高质量发展,2025年2月27日,上海市闵行区数据局局长吴畯率队赴上海云轴科技股份有限公司(以下简称“云轴科技ZStack”)开展专题调研。此次调研旨在深入了解企业…...

Python----数据分析(Matplotlib五:pyplot的其他函数,Figure的其他函数, GridSpec)

一、pyplot的其他函数 1.1、xlabel 在matplotlib中, plt.xlabel() 函数用于为当前活动的坐标轴(Axes)设置x轴的 标签。当你想要标识x轴代表的数据或单位时,这个函数非常有用。 plt.xlabel(xlabel text) 1.2、ylabel 在matplotl…...

Android Coil总结

文章目录 Android Coil总结概述添加依赖用法基本用法占位图变形自定义ImageLoader取消加载协程支持缓存清除缓存监听 简单封装 Android Coil总结 概述 Coil 是一个用于 Android 的 Kotlin 图像加载库,旨在简化图像加载和显示的过程。它基于 Kotlin 协程&#xff0…...

mybatisplus 开发流程

目录 什么是mybatisplus? 创建项目 先创建一个简单的Java项目​编辑 引入依赖 1.引入父依赖 2.引入其他依赖 springboot配置 application.yml qppication-dev.yml 创建包 实体类 映射(创建一个接口) 构建测试环境 进行方法的实…...

父进程和子进程

思维导图&#xff1a; 1.使用父子进程实现一个图片的拷贝 要求父进程拷贝前一部分 子进程拷贝后一部分 使用diff查看两个文件是否相同 #include <head.h> int main(int argc, const char *argv[]) {int fd1open("/home/ubuntu/3.6/xiaoxin.bmp",O_RDONLY);…...

网络安全 信息安全 计算机系统安全

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、网络安全概述 1、网络安全&#xff1a;网络安全是指通过采取必要措施&#xff0c;防范对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故&#xff0c;…...

C语言基础2

一、变量的作用域 局部变量的作用域是变量所在的局部范围&#xff0c;全局变量的作用域是整个工程。 int main() { { int a 10; printf("a %d\n", a); } printf("a %d\n", a); //报错位置 return 0; } 这里会发生报错&#xff1a; “a”: 未声明的…...

在springboot项目中引入log4j 2.x

步骤 1&#xff1a;排除 Spring Boot 默认的日志依赖 Spring Boot 默认使用 Logback 作为日志框架&#xff0c;所以需要先排除它&#xff0c;在 pom.xml&#xff08;如果是 Maven 项目&#xff09; 中添加如下配置&#xff1a; <dependency><groupId>org.springf…...

大模型推理显存优化:从KV Cache压缩到量化策略实战

引言&#xff1a;显存瓶颈的困境 随着ChatGPT等大语言模型的广泛应用&#xff0c;模型推理过程中的显存占用问题日益凸显。以典型的Llama2-13B模型为例&#xff0c;单次推理就需要占用超过6GB显存&#xff0c;严重制约了服务吞吐量和硬件利用率。本文将深入探讨大模型推理中的…...

使用阿里云 API 进行声音身份识别的方案

使用阿里云 API 进行声音身份识别的方案 阿里云提供 智能语音交互&#xff08;智能语音识别 ASR&#xff09; 和 声纹识别&#xff08;说话人识别&#xff09; 服务&#xff0c;你可以利用 阿里云智能语音 API 进行 说话人识别&#xff0c;实现客户身份验证。 方案概述 准备工…...

03 面向对象

1、封装 1.1 属性和行为 #include <iostream> using namespace std;// 面向对象三大特性&#xff1a;封装、继承、多态/* 封装的语法&#xff1a;class 类名 { 访问权限:属性&#xff08;成员变量&#xff09;行为&#xff08;成员函数&#xff09; }; */class Hero {/…...

【YOLOv12改进trick】多尺度大核注意力机制MLKA模块引入YOLOv12,实现多尺度目标检测涨点,含创新点Python代码,方便发论文

&#x1f34b;改进模块&#x1f34b;&#xff1a;多尺度大核注意力机制&#xff08;MLKA&#xff09; &#x1f34b;解决问题&#x1f34b;&#xff1a;MLKA模块结合多尺度、门控机制和空间注意力&#xff0c;显著增强卷积网络的模型表示能力。 &#x1f34b;改进优势&#x1f…...

java 初学知识点总结

自己总结着玩 1.基本框架 public class HelloWorld{ public static void main(String[] args){ }//类名用大写字母开头 } 2.输入&#xff1a; (1)Scanner:可读取各种类型&#xff0c;字符串相当于cin>>; Scanner anew Scanner(System.in); Scan…...

File文件和目录

一、文件和目录相关概念 计算机文件&#xff08;File&#xff09;:以计算机硬盘为载体存储在计算机上的信息集合,可以是文本&#xff08;.txt&#xff09;、图片(.jpg、.png、.jpeg)、视频(.mp4)、程序(.exe)等&#xff0c;文件一般有拓展名&#xff0c;表示文件的类型。 文件…...

C++ 数据结构详解及学习规划

C++数据结构详解及学习规划 一、C++常用数据结构详解与示例 以下是C++中核心数据结构的分类及具体实现示例: 1. 线性数据结构 a. 数组(Array) • 定义:存储固定大小、同类型元素的连续内存结构。 • 特点:快速随机访问(O(1)),但插入/删除效率低(O(n))。 • 应用场…...

Mac同时安装jdk8和jdk17,默认选择jdk8

在Mac上同时安装JDK 8和JDK 17&#xff0c;并设置默认版本为JDK 8&#xff0c;可以按照以下步骤操作&#xff1a; 一、下载并安装JDK 8和JDK 17 下载JDK 8 访问Oracle JDK下载页面。在“Java SE Archive Downloads”部分&#xff0c;找到JDK 8的下载链接。选择适合您Mac芯片类…...

PTA 7-6 列出连通集

题目详情&#xff1a; 给定一个有 n 个顶点和 m 条边的无向图&#xff0c;请用深度优先遍历&#xff08;DFS&#xff09;和广度优先遍历&#xff08;BFS&#xff09;分别列出其所有的连通集。假设顶点从 0 到 n−1 编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出…...

计算机毕业设计SpringBoot+Vue.js疗养院管理系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

分布式系统设计(架构能力)

一、微服务架构 服务治理 Nacos 注册中心&#xff08;AP模式&#xff09; CAP选择&#xff1a;Nacos 默认采用 AP 模式&#xff08;可用性 分区容忍性&#xff09;&#xff0c;通过心跳检测实现服务健康管理。服务发现&#xff1a;客户端定时拉取服务列表&#xff0c;支持权重…...

CR电路介绍

CR电路&#xff08;RC电路&#xff09;介绍 CR电路&#xff08;电阻-电容电路&#xff09;由电阻&#xff08;R&#xff09;和电容&#xff08;C&#xff09;组成&#xff0c;是电子系统中的基础模块&#xff0c;广泛用于信号处理、定时、滤波等场景。以下是其核心功能、实现方…...

Redis数据结构,渐进式遍历,数据库管理

1.Redis的其他数据结构 前面我们主要讲述了Redis中比较常用的集中数据结构String&#xff0c;List&#xff0c;Hash&#xff0c;Set&#xff0c;Zset&#xff0c;但这并不代表Redis只用这几种数据结构还有如Streams&#xff0c;Geospatial&#xff0c;Hyperloglog&#xff0c;…...

动态规划01背包问题系列一>最后一块石头的重量II

这里写目录标题 题目分析&#xff1a;状态表示&#xff1a;状态转移方程&#xff1a;初始化&#xff1a;填表顺序&#xff1a;返回值&#xff1a;代码呈现&#xff1a;优化版本&#xff1a;代码呈现&#xff1a; 题目分析&#xff1a; 状态表示&#xff1a; 状态转移方程&#…...

GCC编译

目录 gcc编译c语言流程&#xff1a; 步骤 编译器 预处理 编译 汇编 链接 完整编译 多文件编译 其他常用gcc选项 gcc编译c语言流程&#xff1a; 预处理大写-E 编译为大写-S &#xff0c;生成汇编代码文件 汇编为小写-c 链接这里可以加-o 重命名a.out这个可…...

康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术

随着自动驾驶技术的迅猛发展&#xff0c;构建高保真、动态的仿真场景成为了行业的迫切需求。传统的三维重建方法在处理复杂场景时常常面临效率和精度的挑战。在此背景下&#xff0c;3D高斯点阵渲染&#xff08;3DGS&#xff09;技术应运而生&#xff0c;成为自动驾驶仿真场景重…...

Jetson NV 上解决 PyQt5 “Could not load the Qt platform plugin ‘xcb‘“ 错误

在 Jetson NV 上运行 PyQt5 应用程序时&#xff0c;可能会遇到以下错误&#xff1a; qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed…...

计算机毕业设计Python+DeepSeek-R1大模型微博的话题博文及用户画像分析系统 微博舆情可视化(源码+ 文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

文件上传靶场(1--9关)

实验环境&#xff1a; 1&#xff0c;upload的靶场环境可以去GitHub上自行查找 2&#xff0c;打开小皮面板的nginx和数据库 3&#xff0c;将文件上传的靶场部署到本地&#xff1a; 放到小皮的phpstduy_pro的www下面 小提示&#xff1a; 另外如果你用的是php7的版本建议将版…...

2025年渗透测试面试题总结-字某某动-安全研究实习生(二面)(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 字某某动-安全研究实习生&#xff08;二面&#xff09; 1. 护网行动中的核心工作 2. 防护层级选择&…...

LeetCode 965题详解 | 单值二叉树的“一统江湖”:如何判断所有节点值全等?

题目如下&#xff1a; 解题过程如下&#xff1a; 示例中&#xff0c;即便这个结点是空结点也返回true。 若根结点不为空&#xff0c;那么先判断它的左孩子结点里的值是否与根结点里的值相等&#xff08;这里要先确保左孩子不为空&#xff0c;因为左孩子结点里的值是解引用操作…...

Java阻塞队列深度解析:高并发场景下的安全卫士

一、阻塞队列的核心价值 在电商秒杀系统中&#xff0c;瞬时涌入的10万请求如果直接冲击数据库&#xff0c;必然导致系统崩溃。阻塞队列如同一个智能缓冲带&#xff0c;通过流量削峰和异步解耦两大核心能力&#xff0c;成为高并发系统的核心组件。 二、Java阻塞队列实现类对比 …...

使用 Docker 部署 RabbitMQ 并实现数据持久化

非常好&#xff01;以下是一份完整的 Docker 部署 RabbitMQ 的博客文档&#xff0c;包含从安装到问题排查的详细步骤。你可以直接将其发布到博客中。 使用 Docker 部署 RabbitMQ 并实现数据持久化 RabbitMQ 是一个开源的消息队列系统&#xff0c;广泛应用于分布式系统中。使用…...

VsCode 快捷键备忘

移动光标及选择文本 Ctrl ← / → &#xff1a;以单词为单位移动游标Home / End&#xff1a;光标移到行首/行位Ctrl Home / End&#xff1a;光标移到文件首和文件尾Ctrl Shift \&#xff1a;在匹配的分隔符之间跳转 配对的分隔符 是指分隔代码元素的字符&#xff0c;比如字…...

蓝桥杯备考:动态规划路径类DP之矩阵的最小路径和

如题&#xff0c;要求左上角到右下角的最短路径&#xff0c;我们还是老样子按顺序做 step1:确定状态表示 f[i][j]表示(1,1)到(i,j)的最短距离 step2 :推导状态表达方程 step3:确定填表顺序&#xff0c;应该是从上到下&#xff0c;从左到右 step4:初始化 step5 找结果&#…...

大模型工程师学习日记(十五):Hugging Face 模型微调训练(基于 BERT 的中文评价情感分析)

1. datasets 库核心方法 1.1. 列出数据集 使用 d atasets 库&#xff0c;你可以轻松列出所有 Hugging Face 平台上的数据集&#xff1a; from datasets import list_datasets# 列出所有数据集 all_datasets list_datasets()print(all_datasets)1.2. 加载数据集 你可以通过 l…...

Spring Boot 异步编程

文章目录 一、异步方法的使用1. 开启异步支持2. 定义异步方法3. 调用异步方法踩坑记录心得体会 二、线程池配置1. 自定义线程池2. 使用自定义线程池踩坑记录心得体会 三、异步任务的监控与管理1. 日志记录2. 异常处理3. 线程池监控踩坑记录心得体会 在现代应用程序开发中&#…...