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

LightM-UNet(2024 CVPR)

论文标题LightM-UNet: Mamba Assists in Lightweight UNet for Medical Image Segmentation
论文作者Weibin Liao, Yinghao Zhu, Xinyuan Wang, Chengwei Pan, Yasha Wang and Liantao Ma
发表日期2024年01月01日
GB引用> Weibin Liao, Yinghao Zhu, Xinyuan Wang, et al. LightM-UNet: Mamba Assists in Lightweight UNet for Medical Image Segmentation[J]., 2024.
> [1]Weibin Liao, Yinghao Zhu, Xinyuan Wang, et al. LightM-UNet: Mamba Assists in Lightweight UNet for Medical Image Segmentation[J]. Arxiv E-prints, 2024, abs/2403.05246.
DOI10.48550/arXiv.2403.05246

摘要

UNet及其变体在医学图像分割中得到了广泛的应用。然而,这些模型,特别是基于Transformer架构的模型,由于参数数量众多和计算负担重,给移动健康应用带来了挑战。最近,以Mamba为代表的State Space Models(SSMs)作为CNN和Transformer架构的有力竞争者出现。基于此,我们采用Mamba作为UNet中CNN和Transformer的轻量级替代品,旨在解决真实医疗环境中计算资源限制带来的挑战。为此,我们引入了轻量级的Mamba UNet(LightM-UNet),它在一个轻量级框架中集成了Mamba和UNet。具体来说,LightM-UNet以纯粹的Mamba方式利用残差视觉Mamba层提取深层语义特征和建模长距离空间依赖关系,具有线性计算复杂度。在两个真实世界的2D/3D数据集上进行的广泛实验表明,LightM-UNet超越了现有的最先进文献。值得注意的是,与著名的nnU-Net相比,LightM-UNet在显著降低参数和计算成本116倍和21倍的同时,实现了更优越的分割性能。这突显了Mamba在促进模型轻量化方面的潜力。我们的代码实现公开可访问于https://github.com/MrBlankness/LightM-UNet。

研究问题

基于Transformer架构的模型,由于参数数量众多和计算负担重,给移动健康应用带来了挑战。

  • 残差视觉Mamba层(RVM Layer):用于提取深层语义特征,同时几乎不增加新的参数和计算复杂度。
  • Vision State-Space Module(VSS Module):用于长距离空间建模,通过并行分支和Hadamard乘积来聚合特征。
  • 编码器和解码器块:编码器块仅包含Mamba结构,解码器块用于解码特征图并恢复图像分辨率。

研究方法

论文通过以下主要方法解决了医疗图像分割模型的轻量化问题

  • 引入Mamba模型:Mamba是一种状态空间模型(SSM),它能够有效地建立长距离依赖关系,并且具有线性的输入大小复杂度。论文中提出使用Mamba作为UNet中的轻量级替代方案,以减少模型的参数数量和计算负担。
  • 设计LightM-UNet架构:LightM-UNet结合了UNet的架构和Mamba的特点,创建了一个轻量级的网络。这个网络在保持UNet的对称U形结构的同时,通过集成Mamba来提取深层语义特征和建模长距离空间依赖。
  • 提出残差视觉Mamba层(RVM Layer):为了在不增加额外参数和计算复杂度的情况下增强SSM的能力,论文提出了RVM Layer。这一层利用残差连接和调整因子来提取图像的深层特征,并增强对长距离空间依赖的建模能力。
  • 实现Vision State-Space Module(VSS Module):VSS Module用于长距离空间建模,它通过两个并行分支处理特征,并通过Hadamard乘积聚合特征,以生成具有相同形状的输出。
  • 优化编码器和解码器块:LightM-UNet的编码器块仅包含Mamba结构,以最小化参数和计算成本。解码器块则用于解码特征图并恢复图像分辨率,同时利用跳跃连接提供多级特征图。
  • 实验验证:通过在LiTs和Montgomery&Shenzhen数据集上的实验,论文验证了LightM-UNet在2D和3D分割任务中的性能。实验结果表明,LightM-UNet在参数数量和计算成本上显著低于现有的最先进模型,同时在性能上达到了或超过了这些模型。
  • 消融研究:为了证明所提出模块的有效性,论文进行了消融研究,分析了在UNet框架中CNN、Transformer和Mamba的表现,并验证了RVM Layer中调整因子和残差连接的重要性。

通过这些方法,论文成功地开发了一个轻量级且高效的医疗图像分割模型,该模型在保持高性能的同时,显著降低了模型的参数数量和计算成本。

LightM-UNet以纯Mamba的方式利用Residual Vision Mamba Layer来**提取深度语义特征,并建模长期空间依赖关系,具有线性计算复杂度**。

技术上,我们提出了残差视觉Mamba层(RVM层),以纯Mamba方式从图像中提取深度特征。通过引入最少的新参数和计算开销,我们**利用残差连接和调整因子,进一步增强了SSM模拟视觉图像中长距离空间依赖的能力**。

💡(以3D版本为例的方法论)

总体架构

提出的LightM-UNet的整体架构如图2所示。

给定一个输入图像 I ∈ R C × H × W × D I\in\mathbb{R}^{C\times H\times W\times D} IRC×H×W×D ,其中 C C C H H H W W W D D D分别表示 3 D 3D 3D医学图像的通道数、高度、宽度和切片数。LightM-UNet首先使用深度卷积(DWConv)层进行浅层特征提取,生成浅层特征图 F S ∈ R 32 × H × W × D F_S\in\mathbb{R}^{32\times H\times W\times D} FSR32×H×W×D,其中32表示固定的滤波器数量。

💡为什么使用深度卷积(DWConv)层进行浅层特征提取?

  • DWConv可以有效地降低网络的复杂度,减少训练参数的数目。它通过局部连接、权值共享及池化操作等特性,使得网络更轻量级。
  • DWConv使模型对平移、扭曲、缩放具有一定程度的不变性,并具有强鲁棒性和容错能力。这有利于浅层特征提取。
  • DWConv层可以提取图像的局部特征,保留空间信息。这对于后续深层特征提取和语义建模非常有用。
  • 在LightM-UNet中,使用DWConv层进行浅层特征提取,可以减少参数和计算量,使得整个网络更轻量级。这与LightM-UNet的设计目标一致。
  • DWConv层输出的特征图,可以直接作为后续Encoder Block的输入,参与深层特征提取和建模。

综上所述,使用DWConv层进行浅层特征提取,可以有效地降低网络复杂度,同时保留有用的局部特征信息,为深层特征建模打下良好基础。这与LightM-UNet的轻量化和高性能目标是一致的。

💡相对于其他卷积(如普通卷积、点卷积、空洞卷积等),有什么优势吗?

  • 参数数量减少:DWConv通过分离输入通道和输出通道的卷积操作,只对输入的每个通道单独进行卷积,大大减少了参数数量。对于输入通道数为C的图像,普通卷积的参数数量为C×C×k×k(k为卷积核大小),而DWConv的参数数量仅为C×k×k。这降低了模型的复杂度和内存占用。
  • 计算效率提高:由于参数数量减少,DWConv的计算效率相比普通卷积更高。这对于移动设备和边缘计算等资源受限的场景尤为重要。
  • 保持空间信息:DWConv保留了输入特征图的空间信息,因为每个输入通道的卷积操作都是独立的。这有助于在后续的神经网络层中保持位置信息。
  • 易于集成:DWConv可以很容易地集成到现有的神经网络架构中,作为单独的层使用,或者与其他类型的卷积层组合使用。

💡相比于其他卷积的劣势

  • 普通卷积:相比DWConv,普通卷积的参数数量多,计算量大,但在某些情况下能够更好地捕捉多通道之间的交互信息
  • 点卷积:点卷积(Pointwise Convolution)实际上是一种1×1的卷积,用于实现跨通道的交互。它的参数数量比DWConv多,但能够灵活地融合不同通道的信息
  • 空洞卷积:空洞卷积(Atrous Convolution)通过引入空洞来扩大感受野,但不增加参数数量。它在某些任务中能够提供更大的感受野,但相比DWConv,空洞卷积的计算效率可能较低。

总的来说,DWConv在轻量化和计算效率方面具有优势,适合用于构建轻量级的神经网络模型,尤其是在资源受限的设备上。然而,具体使用哪种卷积操作还需要根据具体的应用场景和任务需求来决定。

💡那在实际应用中怎么选择呢?

任务需求

如果任务需要模型具有很高的空间分辨率和细节捕捉能力,可能会倾向于使用普通卷积。 如果任务需要模型具有较宽的视野和捕捉长期依赖关系,可能会选择空洞卷积对于轻量级模型或移动设备上的实时任务深度卷积可能是更好的选择。

资源限制

在资源受限的环境(如移动设备、嵌入式系统)中深度卷积由于其较低的参数数量和计算复杂度而更具优势。 如果计算资源不是限制因素,可以使用普通卷积或点卷积来构建更复杂的模型。

模型性能

需要评估不同卷积类型对模型性能的影响。有时,虽然深度卷积减少了参数和计算量,但可能会牺牲一些性能。需要通过实验来确定最佳的平衡点。 可以通过消融研究来比较不同卷积类型对模型性能的影响。

训练时间

深度卷积通常训练速度更快,因为它有更少的参数需要优化。 普通卷积和空洞卷积的训练时间可能更长,因为它们有更多的参数。

模型集成

考虑到模型是否需要与其他组件或网络层集成。例如,深度卷积可以很容易地与其他类型的卷积层组合使用,形成混合卷积层

实际应用场景

对于实时应用,如自动驾驶、视频监控等,需要快速响应,因此轻量级模型和深度卷积可能更合适。 对于需要高精度和复杂特征提取的任务,如医学图像分析,可能会使用普通卷积或空洞卷积。

最终,选择哪种卷积类型通常需要通过实验来确定。可以尝试不同的卷积类型,并使用验证集来评估模型的性能,从而找到最适合当前任务和资源限制的卷积类型。

随后,LightM-UNet结合三个连续的编码器块(Encoder Blocks)来从图像中提取深度特征。在每个编码器块之后,特征图的通道数翻倍,而分辨率减半。因此,在第 l l l个编码器块中,LightM-UNet提取深度特征 F l D ∈ R ( 32 × 2 l ) × ( H / 2 l ) × ( W / 2 l ) × ( D / 2 l ) F_l^D\in \mathbb{R}^{(32\times2^l)\times(H/2^l)\times(W/2^l)\times(D/2^l)} FlDR(32×2l)×(H/2l)×(W/2l)×(D/2l),其中 I ∈ { 1 , 2 , 3 } I\in\{1,2,3\} I{1,2,3}

在此之后,LightM-UNet使用一个瓶颈块(Bottleneck Block)来模拟长距离空间依赖,同时保持特征图的大小不变。接着,LightM-UNet整合了三个连续的解码器块(Decoder Blocks)进行特征解码和图像分辨率恢复。在每个解码器块之后,特征图的通道数减半,分辨率翻倍。最后,最后一个解码器块的输出达到与原始图像相同的分辨率,包含32个特征通道。LightM-UNet使用深度卷积(DWConv)层将通道数映射到分割目标的数量,并应用SoftMax激活函数来生成图像掩码。与UNet的设计一致,LightM-UNet也采用跳跃连接(skip connections)为解码器提供多级特征图。

Encoder Block

为了最小化参数数量和计算成本

LightM-UNet采用仅包含Mamba结构的编码器块(Encoder Blocks)来从图像中提取深度特征。具体来说,给定一个特征图 F l ∈ R C ~ × H ~ × W ~ × D ~ F_l\in\mathbb{R}^{\widetilde{C}\times\widetilde{H}\times\widetilde{W}\times\widetilde{D}} FlRC ×H ×W ×D <

相关文章:

LightM-UNet(2024 CVPR)

论文标题LightM-UNet: Mamba Assists in Lightweight UNet for Medical Image Segmentation论文作者Weibin Liao, Yinghao Zhu, Xinyuan Wang, Chengwei Pan, Yasha Wang and Liantao Ma发表日期2024年01月01日GB引用> Weibin Liao, Yinghao Zhu, Xinyuan Wang, et al. Ligh…...

2025年02月01日Github流行趋势

项目名称&#xff1a;oumi 项目地址url&#xff1a;https://github.com/oumi-ai/oumi 项目语言&#xff1a;Python 历史star数&#xff1a;544 今日star数&#xff1a;103 项目维护者&#xff1a;xrdaukar, oelachqar, taenin, wizeng23, kaisopos 项目简介&#xff1a;一切你需…...

自动化测试框架搭建-封装requests-优化

目的 1、实际的使用场景&#xff0c;无法避免的需要区分GET、POST、PUT、PATCH、DELETE等不同的方式请求&#xff0c;以及不同请求的传参方式 2、python中requests中&#xff0c;session.request方法&#xff0c;GET请求&#xff0c;只支持params传递参数 session.request(me…...

什么是线性化PDF?

线性化PDF是一种特殊的PDF文件组织方式。 总体而言&#xff0c;PDF是一种极为优雅且设计精良的格式。PDF由大量PDF对象构成&#xff0c;这些对象用于创建页面。相关信息存储在一棵二叉树中&#xff0c;该二叉树同时记录文件中每个对象的位置。因此&#xff0c;打开文件时只需加…...

XML DOM 浏览器差异

DOM 解析中的浏览器差异 所有现代的浏览器都支持 W3C DOM 规范。 然而&#xff0c;浏览器之间是有差异的。一个重要的差异是&#xff1a; 处理空白和换行的方式 DOM - 空白和换行 XML 经常在节点之间包含换行或空白字符。这是在使用简单的编辑器&#xff08;比如记事本&…...

电子电气架构 --- 汽车电子拓扑架构的演进过程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…...

01-六自由度串联机械臂(ABB)位置分析

ABB工业机器人&#xff08;IRB2600&#xff09;如下图所示&#xff08;d1444.8mm&#xff0c;a1150mm&#xff0c;a2700mm&#xff0c;a3115mm&#xff0c;d4795mm&#xff0c;d685mm&#xff09;&#xff0c;利用改进DH法建模&#xff0c;坐标系如下所示&#xff1a; 利用改进…...

04树 + 堆 + 优先队列 + 图(D1_树(D6_B树(B)))

目录 一、学习前言 二、基本介绍 三、特性 1. 从概念上说起 2. 举个例子 四、代码实现 节点准备 大体框架 实现分裂 实现新增 实现删除 五、完整源码 一、学习前言 前面我们已经讲解过了二叉树、二叉搜索树&#xff08;BST&#xff09;、平衡二叉搜索树&#xff08…...

350.两个数组的交集 ②

目录 题目过程解法 题目 给你两个整数数组 nums1 和 nums2 &#xff0c;请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数&#xff0c;应与元素在两个数组中都出现的次数一致&#xff08;如果出现次数不一致&#xff0c;则考虑取较小值&#xff09;。可以不考虑…...

C#,入门教程(09)——运算符的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(08)——基本数据类型及使用的基础知识https://blog.csdn.net/beijinghorn/article/details/123906998 一、算术运算符号 算术运算符号包括&#xff1a;四则运算 加 , 减-, 乘*, 除/与取模%。 // 加法&#xff0c;运算 int va 1 …...

Python-基于PyQt5,wordcloud,pillow,numpy,os,sys等的智能词云生成器

前言&#xff1a;日常生活中&#xff0c;我们有时后就会遇见这样的情形&#xff1a;我们需要将给定的数据进行可视化处理&#xff0c;同时保证呈现比较良好的量化效果。这时候我们可能就会用到词云图。词云图&#xff08;Word cloud&#xff09;又称文字云&#xff0c;是一种文…...

海外问卷调查之渠道查,企业经营的指南针

海外问卷调查&#xff0c;是企业调研最常用到的方法&#xff0c;有目的、有计划、有系统地收集研究对象的现实状况或历史状况的一种有效手段&#xff0c;是指导企业经营的有效手段。 海外问卷调查充分运用历史法、观察法等方法&#xff0c;同时使用谈话、问卷、个案研究、测试…...

C++:虚函数与多态性习题

题目内容&#xff1a; 构建一个车&#xff08;vehicle&#xff09;基类&#xff0c;包含Run、Stop两个纯虚函数。由此基类&#xff0c;派生出&#xff08;Car&#xff09;轿车类&#xff0c;&#xff08;truck&#xff09;卡车类&#xff0c;在这两个类中别分定义Run和Stop两个…...

单片机基础模块学习——超声波传感器

一、超声波原理 左边发射超声波信号&#xff0c;右边接收超声波信号 左边的芯片用来处理超声波发射信号&#xff0c;中间的芯片用来处理接收的超声波信号 二、超声波原理图 T——transmit 发送R——Recieve 接收 U18芯片对输入的N_A1信号进行放大&#xff0c;然后输入给超声…...

通过protoc工具生成proto的pb.go文件以及使用protoc-go-inject-tag工具注入自定义标签

1.ProtoBuf认识,安装以及用法 参考:[golang 微服务] 3. ProtoBuf认识&#xff0c;安装以及golang 中ProtoBuf使用 2. 使用protoc-go-inject-tag工具注入自定义标签 这里有一个案例: syntaxproto3; package test;option go_package ".;test";message MyMessage {int6…...

42【语言的编码架构】

不同语言采用的编码架构不一样 火山采用&#xff1a;UTF-16 易语言采用&#xff1a;GBK php采用&#xff1a;UTF-8 这个编码架构指的就是文本所代表的字节集&#xff0c;比如易语言中“你好”表示的就是{196,227,186,195} 窗口程序集名保 留 保 留备 注窗口程序集_启动窗口 …...

TOF技术原理和静噪对策

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时&#xff0c;也能帮助其他需要参考的朋友。如有谬误&#xff0c;欢迎大家进行指正。 一、什么是TOF TOF 是Time of Flight的缩写&#xff0c;它是一种通过利用照射波和反射波之间的时间差来测量到物体的距离的测…...

ssh调试:fatal: Could not read from remote repository.

我遇到的原因和网上说的什么在生产密钥时没加邮箱&#xff0c;以及多个密钥的配置问题都不一样&#xff1b; 例如https://blog.csdn.net/baoyin0822/article/details/122584931 或https://blog.csdn.net/qq_55558061/article/details/124117445 我遇到的问题的原因跟他们都i不…...

win10部署本地deepseek-r1,chatbox,deepseek联网(谷歌网页插件)

win10部署本地deepseek-r1&#xff0c;chatbox&#xff0c;deepseek联网&#xff08;谷歌网页插件&#xff09; 前言一、本地部署DeepSeek-r1step1 安装ollamastep2 下载deepseek-r1step2.1 找到模型deepseek-r1step2.2 cmd里粘贴 后按回车&#xff0c;进行下载 step3 测试指令…...

SpringCloud系列教程:微服务的未来(十九)请求限流、线程隔离、Fallback、服务熔断

前言 前言 在现代微服务架构中&#xff0c;系统的高可用性和稳定性至关重要。为了解决系统在高并发请求或服务不可用时出现的性能瓶颈或故障&#xff0c;常常需要使用一些技术手段来保证服务的平稳运行。请求限流、线程隔离、Fallback 和服务熔断是微服务中常用的四种策略&…...

Hot100之子串

560和为K的子数组 题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列 思路解析 ps&#xff1a;我们的presum【0】就是0&#xff0c;如果没有这个0的话我们的第一个元素就无法减去上…...

SpringBoot笔记

1.创建 使用idea提供的脚手架创建springboot项目&#xff0c;选上需要的模块&#xff0c;会自动进行导包 打成jar包&#xff0c;之前直接用原生的maven打包的是一个瘦jar&#xff0c;不能直接跑&#xff0c;把服务器上部署的jar排除在外了&#xff0c;但是现在加上打包查件&am…...

一、TensorFlow的建模流程

1. 数据准备与预处理&#xff1a; 加载数据&#xff1a;使用内置数据集或自定义数据。 预处理&#xff1a;归一化、调整维度、数据增强。 划分数据集&#xff1a;训练集、验证集、测试集。 转换为Dataset对象&#xff1a;利用tf.data优化数据流水线。 import tensorflow a…...

4 Hadoop 面试真题

4 Hadoop 面试真题 1. Apache Hadoop 3.0.02. HDFS 3.x 数据存储新特性-纠删码Hadoop面试真题 1. Apache Hadoop 3.0.0 Apache Hadoop 3.0.0在以前的主要发行版本&#xff08;hadoop-2.x&#xff09;上进行了许多重大改进。 最低要求的Java版本从Java 7增加到Java 8 现在&…...

信息学奥赛一本通 ybt 1608:【 例 3】任务安排 3 | 洛谷 P5785 [SDOI2012] 任务安排

【题目链接】 ybt 1608&#xff1a;【 例 3】任务安排 3 洛谷 P5785 [SDOI2012] 任务安排 【题目考点】 1. 动态规划&#xff1a;斜率优化动规 2. 单调队列 3. 二分答案 【解题思路】 与本题题面相同但问题规模不同的题目&#xff1a; 信息学奥赛一本通 1607&#xff1a…...

实验六 项目二 简易信号发生器的设计与实现 (HEU)

声明&#xff1a;代码部分使用了AI工具 实验六 综合考核 Quartus 18.0 FPGA 5CSXFC6D6F31C6N 1. 实验项目 要求利用硬件描述语言Verilog&#xff08;或VHDL&#xff09;、图形描述方式、IP核&#xff0c;结合数字系统设计方法&#xff0c;在Quartus开发环境下&#xff…...

基于最近邻数据进行分类

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 完整代码&#xff1a; import torch import numpy as np from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt# 生成一个简单的数据…...

SpringSecurity:There is no PasswordEncoder mapped for the id “null“

文章目录 一、情景说明二、分析三、解决 一、情景说明 在整合SpringSecurity功能的时候 我先是去实现认证功能 也就是&#xff0c;去数据库比对用户名和密码 相关的类&#xff1a; UserDetailsServiceImpl implements UserDetailsService 用于SpringSecurity查询数据库 Logi…...

redex快速体验

第一步&#xff1a; 2.回调函数在每次state发生变化时候自动执行...

Flask框架基础入门教程_ezflaskapp

pip install flaskFlask 快速入门小应用 学东西&#xff0c;得先知道我们用这个东西&#xff0c;能做出来一个什么东西。 一个最小的基于flask 的应用可能看上去像下面这个样子&#xff1a; from flask import Flask app Flask(__name__)app.route(/) def hello_world():ret…...

Anaconda 全面解析:从入门到精通的操作教程

大家好&#xff0c;我是滔滔&#xff0c;欢迎来到我的空间。先简单介绍下anconda 一、环境管理 轻松创建独立的 Python 环境&#xff1a;可以为不同的项目创建不同的环境&#xff0c;每个环境可以有不同的 Python 版本和安装不同的包&#xff0c;避免了包冲突问题。例如&…...

3D图形学与可视化大屏:什么是材质属性,有什么作用?

一、颜色属性 漫反射颜色 漫反射颜色决定了物体表面对入射光进行漫反射后的颜色。当光线照射到物体表面时&#xff0c;一部分光被均匀地向各个方向散射&#xff0c;形成漫反射。漫反射颜色的选择会直接影响物体在光照下的外观。例如&#xff0c;一个红色的漫反射颜色会使物体在…...

HTML-新浪新闻-实现标题-排版

标题排版 图片标签&#xff1a;<img> src&#xff1a;指定图片的url&#xff08;绝对路径/相对路径&#xff09; width&#xff1a;图片的宽度&#xff08;像素/相对于父元素的百分比&#xff09; heigth&#xff1a;图片的高度&#xff08;像素/相对于父元素的百分比&a…...

.Net / C# 分析文件编码 并将 各种编码格式 转为 另一个编码格式 ( 比如: GB2312→UTF-8, UTF-8→GB2312)

相关库 .Net 8 编码识别: github.com/CharsetDetector/UTF-unknown <PackageReference Include"UTF.Unknown" Version"2.5.1" />代码 using UtfUnknown;var dir_path "D:\\Desktop\\新建文件夹2\\新建文件夹"; var dir_new_path &quo…...

本地部署 DeepSeek-R1 大模型

本地部署 DeepSeek-R1 大模型指南 1. 引言 1.1 DeepSeek-R1 模型简介 在人工智能的世界里&#xff0c;大型语言模型&#xff08;LLM&#xff09;正如一座巨大的宝库&#xff0c;里面储存着丰富的信息和无限的潜力。而DeepSeek-R1&#xff0c;就像那扇打开智慧之门的钥匙。它…...

canvas的基本用法

canvas canvas元素简介 1.是个container元素<canvas width100 height100></canvas>&#xff0c;有开闭标签 2.有且只有width和height两个attribute&#xff0c;不需要写单位 canvas的基本使用 const canvasEl document.getElementById(canvas01) const ctx …...

力扣【416. 分割等和子集】详细Java题解(背包问题)

首先我们可以求出数组和&#xff0c;当我们找到一个子集中元素的和为数组和的一半时&#xff0c;该就说明可以分割等和子集。 对于该问题我们可以转换成背包问题&#xff0c;求 数组里的元素 装入 数组和的一半大小的背包 能取得的最大值。 然后注意可以剪枝的地方。 代码&…...

UE学习日志#17 C++笔记#3 基础复习3

19.2 [[maybe_unused]] 禁止编译器在未使用某些内容时发出警告 19.3 [[noreturn]] 永远不会把控制权返回给调用点 19.4 [[deprecated]] 标记为已弃用&#xff0c;仍然可以使用但是不鼓励使用 可以加参数表示弃用的原因[[deprecated("")]] 19.5 [[likely]]和[[un…...

c++:vector

1.使用 1.1构造函数 常见的三种构造方式&#xff1a;空构造&#xff0c;拷贝构造&#xff0c;指定元素构造 1.2iterator begin和end也分为正向和反向。 注意&#xff1a;反向迭代器可以反向遍历是因为在定义rbegin和rend函数的时候把尾地址给到了rbegin&#xff0c;而不是说改…...

37. RGBLCD实验

一、RGBLCD显示原理简介 1、像素点 于一个“小灯“&#xff0c;不管是液晶屏&#xff0c;还是手机&#xff0c;平板&#xff0c;RGBLCD屏幕他都是有由一个个的彩色小灯构成的。彩色点阵屏每个像素点有三个小灯&#xff0c;红色、绿色和蓝色&#xff0c;也叫做RGB。RGB就是光的…...

反馈驱动、上下文学习、多语言检索增强等 | Big Model Weekly 第55期

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 01 A Bayesian Approach to Harnessing the Power of LLMs in Authorship Attribution 传统方法严重依赖手动特征&#xff0c;无法捕捉长距离相关性&#xff0c;限制了其有效性。最近的研究利用预训练语言模型的…...

【深度分析】微软全球裁员计划不影响印度地区,将继续增加当地就业机会

当微软的裁员刀锋掠过全球办公室时&#xff0c;班加罗尔的键盘声却愈发密集——这场资本迁徙背后&#xff0c;藏着数字殖民时代最锋利的生存法则。 表面是跨国公司的区域战略调整&#xff0c;实则是全球人才市场的地壳运动。微软一边在硅谷裁撤年薪20万美金的高级工程师&#x…...

H. Mad City

题目链接&#xff1a;Problem - H - Codeforces 题目大意&#xff1a;给定一个带环的图&#xff0c; 以及a, b两点 判断再图上不断的移动&#xff0c; b想不与a相遇&#xff0c; a想捉到b, 并且二者只能移动一步。 若b跑不掉 NO 否则YES. 具体题目看链接 输入&#xff1a; …...

【C++】类与对象(下)

&#x1f984; 个人主页: 小米里的大麦-CSDN博客 &#x1f38f; 所属专栏: 小米里的大麦——C专栏_CSDN博客 &#x1f381; 代码托管: 小米里的大麦的Gitee仓库 ⚙️ 操作环境: Visual Studio 2022 文章目录 1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit 关键…...

AJAX案例——图片上传个人信息操作

黑马程序员视频地址&#xff1a; AJAX-Day02-11.图片上传https://www.bilibili.com/video/BV1MN411y7pw?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p26 图片上传 <!-- 文件选择元素 --><input type"file"…...

Redis-布隆过滤器

文章目录 布隆过滤器的特点:实践布隆过滤器应用 布隆过滤器的特点: 就可以把布隆过滤器理解为一个set集合&#xff0c;我们可以通过add往里面添加元素&#xff0c;通过contains来判断是否包含某个元素。 布隆过滤器是一个很长的二进制向量和一系列随机映射函数。 可以用来检索…...

OpenCV 图像旋转

在学习 OpenCV 和 Matplotlib 处理图像时&#xff0c;遇到了一些关于 cv2.imread()、cv2.getRotationMatrix2D()、plt.imshow() 的问题&#xff1a; import cv2 import numpy as np import matplotlib.pyplot as pltimg cv2.imread(img2.png, 1) # 读取彩色图像&#xff08;…...

联想Y7000+RTX4060+i7+Ubuntu22.04运行DeepSeek开源多模态大模型Janus-Pro-1B+本地部署

直接上手搓了&#xff1a; conda create -n myenv python3.10 -ygit clone https://github.com/deepseek-ai/Janus.gitcd Januspip install -e .pip install webencodings beautifulsoup4 tinycss2pip install -e .[gradio]pip install pexpect>4.3python demo/app_januspr…...

在线知识库创建与维护提升企业效率与知识共享能力

内容概要 在当今数字化快速发展的背景下&#xff0c;在线知识库逐渐成为企业管理信息的重要工具。其核心在于将知识进行系统化、结构化的整理和存储&#xff0c;便于员工获取和分享。这不仅提高了信息的访问效率&#xff0c;还促进了团队之间的协作。在线知识库的建立可以有效…...

C语言指针专题二 -- 字符指针与字符串

目录 1. 字符指针与字符串的核心原理 字符串的本质 字符串的存储 字符指针的特性 字符指针的操作 2. 编程实例 3. 常见陷阱与注意事项 4. 总结 1. 字符指针与字符串的核心原理 字符串的本质 C语言中没有独立的字符串类型&#xff0c;字符串本质是 以\0&#xff08;空…...