基于Unet卷积神经网络的脑肿瘤MRI分割

项目源码获取方式见文章末尾! 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。

《------往期经典推荐------》

项目名称
1.【YOLO模型实现农作物病虫害虫识别带GUI界面】
2.【卫星图像道路检测DeepLabV3Plus模型】
3.【GAN模型实现二次元头像生成】
4.【CNN模型实现mnist手写数字识别】
5.【fasterRCNN模型实现飞机类目标检测】
6.【CNN-LSTM住宅用电量预测】
7.【VGG16模型实现新冠肺炎图片多分类】
8.【AlexNet模型实现鸟类识别】
9.【DIN模型实现推荐算法】
10.【FiBiNET模型实现推荐算法】
11.【钢板表面缺陷检测基于HRNET模型】

摘 要

本文探讨了利用卷积神经网络(CNN)和UNet模型对脑肿瘤MRI图像进行精确分割的方法。论文中不仅深入分析了CNN和UNet的基础框架,还引入了注意力机制和Transformer模块,通过这些先进的技术,使得模型在处理脑肿瘤MRI图像分割任务时具有更高的效率和精度。这种模型的优化提高了图像分割的速度、精度和质量,极大地减轻了临床医生的工作负担,降低了误诊率。通过提高分割准确性,本研究加强了对脑肿瘤患者的筛查、诊断和预测能力,从而有助于提高患者的生存率。这一研究成果不仅对医学图像处理领域具有重要的理论意义,也具有显著的实际应用价值。

关键词:UNet模型、脑肿瘤、图像分割


Abstract

In this thesis, the author explores methods for precise segmentation of brain tumor MRI images using Convolutional Neural Networks (CNN) and the UNet model. The thesis not only delves into the basic frameworks of CNN and UNet but also incorporates attention mechanisms and Transformer modules. Through these advanced technologies, the model achieves higher efficiency and accuracy in handling brain tumor MRI image segmentation tasks. The optimization of this model enhances the speed, precision, and quality of image segmentation, significantly reducing the workload of clinicians and lowering the rate of misdiagnosis. By improving segmentation accuracy, this research strengthens the screening, diagnosis, and prognosis capabilities for brain tumor patients, thereby helping to increase patient survival rates. The findings of this study hold significant theoretical importance in the field of medical image processing and offer substantial practical application value.

Key words: UNet model、brain tumor、image segmentation.

目 录

摘 要I

AbstractII

目 录I

第1章 绪论1

1.1 选题背景1

1.2 选题意义3

1.3 主要内容4

1.4 预期目标4

1.5 拟解决的关键问题5

第2章 系统方案设计6

2.1、技术路线图6

2.2、系统方案7

第3章 系统详细设计9

3.1、数据处理9

(4)训练与测试数据集的划分10

(5)数据加载器的配置10

3.2、模型训练11

(1) 环境配置与数据加载11

根据计算资源的可用性,代码首先配置计算设备,优先使用CUDA(NVIDIA的并行计算架构),若不可用则回退到CPU。12

(5)训练与评估12

  1. 执行训练13

3、模型运行结果:13

参考文献17

附录A:源代码20

第1章 绪论

  1. 选题背景

脑肿瘤是神经系统中常见的疾病之一,也称为颅内肿瘤,对人类神经系统的功能有很大的危害。一般分为原发和继发两大类。原发性肿瘤可发生于脑组织、脑膜、颅神经、垂体、血管残余胚胎组织等。继发性肿瘤则指身体其它部位的恶性肿瘤转移或侵入颅内形成的转移瘤。

近年来,脑肿瘤发病率呈上升趋势,据统计,脑肿瘤约占全身肿瘤的5%,占儿童肿瘤的70%,而其它类型的恶性肿瘤最终会有20-30%转入颅内,由于其膨胀的浸润性生长,在颅内一旦占据一定空间时,不论其性质是良性还是恶性,都势必使颅内压升高,压迫脑组织,导致中枢神经损害,危及患者生命。根据国家卫健委发布的《脑胶质瘤诊疗指南 》中数据显示,2022年世界脑胶质瘤发病率为5.48/10万,脑恶性肿瘤年病死率为4.37/10万,对人类的健康造成了很大的威胁。

(2)MRI技术优势

磁共振成像(magnetic resonance imaging,MRI)是继CT之后的又一种高敏感度的检查方法,因其具有无放射线损害、多体位(矢状面、冠状面、横断面)扫描、高度软组织对比及无骨性伪影的特点,已经成为了现代医疗领域中诊断脑肿瘤的重要手段。通过T1、T2、T1ce和Flair 4种MRI扫描序列,对脑肿瘤进行分割辨别,可以观察分析肿瘤的大小、形状和边界特征,根据得到的信息,有助于判断肿瘤的类型以及预测后续生长方式,可以为患者的治疗制定更加合适的方案,而且早期的筛查和诊断也能够有效提高脑肿瘤患者的存活率。

(3)脑肿瘤MRI分割现状

而由于脑肿瘤的多样化、图像噪点和病灶形态各异等,其MRI图像分割最初依靠机器学习方法进行手工特征提取,如Atlas、决策森林、条件随机场等,所以寻求方法精准的医学图像分割是一大难题。目前临床上绝大多数的分割工作还是由医生进行手动标注,劳动强度大,并且过于依赖医生经验,效率不高,极易受个体差异影响。所以许多国内外研究人员对脑肿瘤MRI的深度学习技术做了大量的探索和实践,以寻求一种快速、准确的MRI脑肿瘤分割方法,帮助医生快速确定病变范围,具有非常重要的现实意义。

(4)CNN和UNet研究现状

随着深度学习的发展,可以自动识别图像特征,深度神经网络逐渐成为脑肿瘤分割领域的主要方法,而作为人工智能领域的分支,卷积神经网络(convolutional neural network, CNN)模型善于通过深度学习对图像进行分析处理,其在医学中应用日益广泛。CNN具有鲁棒性、复杂程度低、易于训练等特点,在图像优化过程中可以通过减少参数来进行学习。

UNet作为医学图像语义分割领域中最受欢迎的深度学习框架,同时也是应用广泛的分割模型。其基于对称的收缩路径和扩展路径并在两个路径之间使用跳跃连接构成体系结构,其衍生的多种变体在解决图像到图像的映射任务中有显著效果。融入Transformer模块的UNet变体SwinUNETR可以对3D图像可以进行自我监督的预训练,无需从头开始训练权重,简单的微调操作即可实现更高的精度和更快的收敛速度。而融入了入坐标注意力(coordinate attention,CA)机制的UNet变体可以从三个维度聚合特征以应对 3D MRI图像复杂的特点。

  1. 选题意义

基于以上叙述,本文提出基于CNN和UNet,并于UNet中引入注意力机制和Transformer模块,彼此进行互补,构建一个在脑肿瘤MRI图像分割领域的训练模型,使其具有更好的数据处理能力,可以提高脑肿瘤MRI图像分割的速度、精度和质量,减轻临床工作的负担并降低错误率,从而加强对脑肿瘤患者的筛查、诊断和预测能力,提高患者的存活率。

  1. 主要内容

    1. MR成像原理及其脑肿瘤MRI特征: 根据不同类型脑肿瘤其MR信号不同的特点,由此来进行特征提取并进一步识别分割;
    2. 卷积神经网络的应用: 卷积神经网络善于通过深度学习对图像进行分析处理,具有鲁棒性、复杂程度低、易于训练等特点,在图像优化过程中可以通过减少参数来进行学习;
    3. UNet及其变体的应用: UNet其衍生的多种变体在解决图像的映射任务中有显著效果,如SwinUNETR可以对3D图像可以进行自我监督的预训练;
    4. 设计并实现训练模型方案: 学习如何基于Pytorch平台融合CNN和UNet变体来创建一个可行的训练模型,并对数据集进行变换处理;
    5. 模型评估及可行性分析: 基于Dice Score、IoU和Hausdorff距离三个指标来对训练模型进行评价,查看不足并判断其优良性。
  1. 预期目标

利用CNN和UNet网络模型,构建一个在脑肿瘤MRI图像分割领域的训练模型,使其具有更好的分割能力,可以提高脑肿瘤MRI临床上分割的速度、精度和质量,加强对脑肿瘤患者的早期筛查、临床诊断和发展预测能力,提高患者的存活率

  1. 拟解决的关键问题

    1. 图像分割精度不佳
    2. 预处理:降噪,图像增强;
    3. 损失函数选择:CEL-Dice los,结合了交叉熵损失的稳定性和类不平衡不影响Dice loss的特性,拥有两者的优点。
    4. 过拟合,泛化能力不足
    5. 使用更多的数据进行训练;
    6. 数据增强:应用数据增强来人为地增加数据集的大小;
    7. 正则化:防止参数过大,过分拟合,以提高泛化能力。
    8. 边缘问题
    9. 提高输入图像的分辨率和中间层的分辨率;
    10. 对网络输出的分割边界增加额外损失;网络边界特征和区域内部特征分开建模训练。
  2. 系统方案设计

2.1、技术路线图

在这里插入图片描述

2.2、系统方案

  1. 设置数据集和预处理: 从国际医学图像计算和计算机辅助干预协会(Medical Image Computing and Computer Assisted Intervention Society,MICCAI)获取相关数据集BraTS,将其训练集以8:1:1的比例划分出新的训练集、验证集和测试集作为模型的训练数据,并对数据进行预处理;

  2. 定义图像的变换处理: 为训练和验证定义图像的变换处理,对输入图像进行规范化处理,转换图像、数组形状或标签,之后进行数据加载,分批发送给训练循环并进行相应转换;

  3. 创建训练循环: 搭建神经网络模型(CNN)并联合损失函数和优化器计算模型误差,以更新模型的参数并最小化损失函数;

  4. 绘制损失和精度曲线: 训练曲线可以表示模型的学习性能,验证曲线可以体现模型的泛化性;
    在这里插入图片描述

  5. 评估网络模型: 通过Dice Score、IoU和Hausdorff距离三个指标来对模型进行评价,其中Dice Score、IoU是衡量两个集合的重合程度,是判断预测区间与Ground truth符合程度的主要指标,但是Dice Score倾向于平均表现,而IoU则帮助你理解最坏情况下的表现,Hausdorff距离则是度量两个点集间的距离,判断预测边缘与真实边缘的差距;

    在这里插入图片描述
    在这里插入图片描述

  6. 可行性分析: 将模型得出的结果与传统的分割方法进行对比,从而证明选择的算法和模型在脑肿瘤MRI分割领域的可行性以及优良性。

第3章 系统详细设计

3.1、数据处理

(1)数据集准备与预处理

本文定义了数据集的根目录 kaggle_3m。通过遍历此目录,获取所有子目录,每个子目录包含了具体病例的MRI图像及对应的病灶掩膜文件。代码通过分析文件名区分原始MRI图像与掩膜图像,将它们分别存储于 data_img(原始图像列表)和 data_label(掩膜图像列表)中。图像与掩膜对应关系确认。


为确保每个MRI图像与其对应的掩膜图像匹配,代码通过文件名匹配方法(去除文件名中的“mask”标记),重新整理图像和掩膜的对应关系。


(2) 筛选具有病灶的MRI数据

通过检查每个掩膜图像的最大像素值,只有当掩膜图像中存在非零像素(即至少有一处病灶标记)时,才将该MRI图像及其掩膜纳入最终的数据列表 data_newimg 和 data_newlabel 中。这一步骤确保了训练数据的有效性,即所有选用的数据都具有实际的训练价值。


(3) 图像数据的变换

为了统一输入神经网络的数据格式,所有的MRI图像及掩膜图像都被转换为统一的尺寸(256x256像素)并转化为张量格式。这一处理步骤通过 transforms.Compose 实现,包括调整大小和转换为张量的操作。


定义了一个名为 BrainMRIdataset 的类,继承自 torch.utils.data.Dataset。此类重写了 getitemlen 方法,使其可以作为PyTorch数据加载器(DataLoader)的输入。在 getitem 方法中,同时读取图像文件和掩膜文件,并应用预定义的转换,最终返回一对处理后的图像和掩膜张量。


(4)训练与测试数据集的划分


代码中预设了一个变量 s 用于定义训练数据集和测试数据集的划分阈值。前1000对图像和掩膜用于训练,剩余的用于测试。这样的划分帮助模型在训练过程中进行有效学习,同时留出独立的测试集评估模型的泛化能力。


(5)数据加载器的配置


使用 DataLoader 来批量加载数据,为训练和测试过程提供支持。训练数据加载器和测试数据加载器分别设定了批量大小为4,且训练数据加载器启用了数据洗牌功能以增强模型的泛化能力。


3.2、模型训练

在这里插入图片描述

使用PyTorch框架和Segmentation Models PyTorch库实现的深度学习模型,旨在通过MRI图像进行脑部病变区域的分割。本模型使用了具有预训练权重的U-Net网络,进行图像分割任务的训练和评估。


  1. 环境配置与数据加载


根据计算资源的可用性,代码首先配置计算设备,优先使用CUDA(NVIDIA的并行计算架构),若不可用则回退到CPU。


(2)数据集实例化

通过自定义的BrainMRIdataset类,分别实例化训练数据和测试数据集。数据加载器(DataLoader)配置为每批处理4幅图像,并在训练过程中打乱图像顺序以增强模型的泛化能力。


(3) 模型定义

采用Unet网络架构,选择resnet34作为编码器,并初始化编码器权重为ImageNet上的预训练权重。模型输入通道设置为3(适用于RGB图像),输出通道设置为2,对应于图像的背景和病变区域。


(4)损失函数与优化器

定义交叉熵损失函数用于评估模型的预测与实际标签之间的差异。选择Adam优化器,并设置学习率为0.0001,以优化网络权重。


(5)训练与评估


定义train_epoch函数,负责单个训练周期的执行。函数内部包含对训练数据集的迭代处理,每次迭代中执行前向传播、损失计算、梯度清零、反向传播和权重更新。此外,函数还计算每个批次的交并比(IOU),以评估模型对图像分割任务的准确性。

(6)测试与性能记录

在每个训练周期结束后,函数切换模型至评估模式,使用测试数据集进行性能评估,计算损失值、准确率和IOU。性能指标包括训练损失、训练准确率、测试损失、测试准确率和测试IOU。


(7) 权重保存

在每个训练周期结束时,模型权重被保存至指定目录,以便后续的模型评估或继续训练使用。


(8)执行训练


在脚本的主体部分,设置训练周期数并调用train_epoch函数进行模型训练。每个周期结束后,打印出相应的训练和测试性能指标。


3.3、模型运行结果

epoch: 0 loss: 0.039 accuracy: 0.827 IOU: 0.223 test_loss: 0.066 test_accuracy: 0.981 test_iou: 0.413

epoch: 1 loss: 0.016 accuracy: 0.983 IOU: 0.507 test_loss: 0.039 test_accuracy: 0.988 test_iou: 0.62

epoch: 2 loss: 0.01 accuracy: 0.989 IOU: 0.662 test_loss: 0.029 test_accuracy: 0.989 test_iou: 0.669

epoch: 3 loss: 0.008 accuracy: 0.99 IOU: 0.701 test_loss: 0.021 test_accuracy: 0.992 test_iou: 0.751

epoch: 4 loss: 0.006 accuracy: 0.991 IOU: 0.729 test_loss: 0.017 test_accuracy: 0.991 test_iou: 0.703
在这里插入图片描述
在这里插入图片描述


致 谢

在这段令人难忘的学术旅程结束之际,我衷心感谢所有在这一过程中给予我支持和帮助的人。首先,我必须感谢我的导师,他不仅在学术上提供了宝贵的指导,还在生活上给予我无限的鼓励和支持。他的专业知识和细心指导使我能够顺利完成这项研究。

感谢实验室的同事们,他们的友好合作和宝贵意见极大地丰富了我的研究经验。我们共同度过了无数日夜,共同解决问题,分享研究心得,这些都是我宝贵的回忆。

我还要感谢我的家人,特别是我的父母,他们始终相信我,支持我追求学术梦想。在我遇到困难和挑战时,是他们给了我力量和勇气,使我能够坚持到最后。

此外,我还要感谢所有参与和支持这项研究的资助机构和合作伙伴。没有他们的财政和技术支持,这项研究不可能达到如此高的成就。

最后,感谢所有参与论文审阅和提供建议的专家学者。他们的严谨态度和有价值的反馈帮助我在研究过程中不断进步和完善。

再次感谢所有人的支持和帮助,我将这份成就献给你们,同时期待未来能与大家继续合作,共创佳绩。


参考文献

  1. 褚张晴,钟志强,颜子夜,等. 基于特征融合与注意力机制的脑肿瘤分割算法[J]. 计算机工程,2023,49(10):154-161. DOI:10.19678/j.issn.1000-3428.0066311.
  2. 戴天虹,宋洁绮. 基于多编码器的多模态MRI脑肿瘤分割[J]. 计算机科学,2023,50(z1):509-514. DOI:10.11896/jsjkx.220200108.
  3. 高曦,谢希,王文韬. MRI深度学习在膝关节骨性关节炎中的研究进展[J]. 磁共振成像,2023,14(6):192-197. DOI:10.12015/issn.1674-8034.2023.06.035.
  4. 徐光宪,冯春,马飞.基于UNet的医学图像分割综述[J].计算机科学与探索,2023,17(8):1776-1792
  5. 徐京瑶,刘晓民,张新峰,等. 基于MRI增强的乳腺癌肿瘤三维体积人工智能测量技术的研究进展[J]. 磁共振成像,2023,14(9):148-153. DOI:10.12015/issn.1674-8034.2023.09.027.
  6. 魏颖,林子涵,齐林,李伯群.基于空间自注意力机制和深度特征重建的脑MR图像分割方法[J].东北大学学报:自然科学版,2023,44(2):177-185
  7. 刘维肖,方进,王莹,等. 生成对抗式网络在心脏磁共振中的应用[J]. 磁共振成像,2023,14(6):139-144. DOI:10.12015/issn.1674-8034.2023.06.025.
  8. 张付春,李盟,吴凉,王玉文,吴樾.融合纹理特征和注意力机制的异常脑MRI分割方法[J].印刷与数字媒体技术研究,2023(4):203-211
  9. 毋小省,杨奇鸿,唐朝生,孙君顶.融合注意力机制的多模态脑肿瘤MR图像分割[J].计算机辅助设计与图形学学报,2023,35(9):1429-1438
  10. 周煜松,陈罗林,王统,徐胜舟.基于双重注意力机制和迭代聚合U-Net的脑肿瘤MR图像分割方法[J].中南民族大学学报:自然科学版,2023,42(3):373-381
  11. 葛婷,詹天明,李勤丰,牟善祥.基于核磁共振图像的脑肿瘤分割方法研究[J].南京理工大学学报,2021,45(2):179-188
  12. 申璐璐,于慧华,周春艳,李可,刘林栋.基于级联卷积神经网络的前列腺MR图像自动分割算法研究[J].中国医学装备,2023,20(7):1-5
  13. 叶正洁,王玉涛,徐建,金炜.基于结合Transformer和卷积神经网络的生成对抗网络在磁共振成像中分割胎盘组织[J].宁波大学学报:理工版,2023,36(1):22-34
  14. 李健,罗蔓,罗晓,蓝威,周怀恒,陈荣耀.基于多尺度卷积神经网络的磁共振成像脑肿瘤分割研究[J].中国医学装备,2016,13(2):25-28
  15. 黄坚,余卓,徐璐,周海春,俞刚.基于卷积神经网络的儿童病毒性脑炎磁共振影像分类与早期诊断研究[J].磁共振成像,2023,14(1):54-60
  16. 樊小宇,蔺素珍,王彦博,刘峰,李大威.基于残差图卷积神经网络的高倍欠采样核磁共振图像重建算法[J].计算机应用,2023,43(4):1261-1268
  17. 蒋可欣,张晓东.基于半月板MRI的深度学习研究进展[J].放射学实践,2023,38(9):1222-1226
  18. 张剑,李光辉,胡艳,戴梦莹,吕发金.磁共振成像子宫及子宫肌瘤图像分割方法研究进展[J].中国医疗器械信息,2023,29(13):46-48
  19. 胡晓阳,李哲.基于卷积神经网络和Transformer的肝脏CT图像分割方法[J].中国医学物理学杂志,2023,40(4):423-428

👍感谢小伙伴们点赞、关注! 如有其他项目需求的,可以在评论区留言,抽空制作更新!
✌粉丝福利:点击下方名片↓↓↓ 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。

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

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

相关文章

记一次:使用使用Dbeaver连接Clickhouse

前言:使用了navicat连接了clickhouse我感觉不太好用,就整理了一下dbeaver连接 0、使用Navicat连接clickhouse 测试连接 但是不能双击打开,可是使用命令页界面,右键命令页界面,然后可以用sql去测试 但是不太好用&#…

python nan是什么

NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大&…

ABAP开发学习——内存管理二

SAP内存与ABAP内存的不同 SAP内存 当在某个事务程序中输入了物料号等,在打开其他需要输入物料号的事务窗口中会自动带出,不需要自己输入,因为这些地方使用相同的parameter id,共享相同SAP内存区域 在数据库表TPARA中可以查看到 S…

如何在短时间内入门并掌握深度学习?

如何在短时间内快速入门并掌握深度学习,是很多读者的困惑——晦涩难懂的数学 知识、复杂的算法、烦琐的编程……深度学习虽然让无数读者心怀向往,却也让不少人望而生畏,深感沮丧:时间没少花,却收效甚微。 如何才能更好…

ubuntu交叉编译zlib库给arm平台使用

1.下载并解压: 2.生成makefile 3.修改makefile 4.编译: make 出现下面错误先安装 gcc-arm-linux-gnueabihf 安装 gcc-arm-linux-gnueabihf

MySQL数据类型——针对实习面试

目录 MySQL字段类型分类char和varchar的区别null和“ ”的区别datetime和timestamp的区别为什么在MySQL中不推荐使用text或blob类型MySQL中如何表示布尔类型在设计数据库中,如何优化性能(一般不会问那么深,了解就行) MySQL字段类型…

【有啥问啥】视频插帧算法技术原理详解

视频插帧算法技术原理详解 引言 视频插帧(Video Interpolation)技术,作为计算机视觉领域的一项重要应用,旨在通过算法手段在已有的视频帧之间插入额外的帧,从而提升视频的帧率,使其看起来更加流畅。这一技…

我在命令行下学日语

同一个动作重复 300 遍,肌肉就会有记忆,重复 600 遍,脊柱就会有记忆,学完五十音图不熟练,经常遗忘或者要好几秒才想得起来一个怎么办?没关系,我做了个命令行下的小游戏 KanaQuiz 来帮助你记忆&a…

开源一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码

大家好,我是一颗甜苞谷,今天分享一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码。 介绍 当前系统集成了ChatGPT的聊天应用,不仅提供了基本的即时通讯功能,还引入了先进的AI技术&#x…

【C++滑动窗口】2653. 滑动子数组的美丽值|1785

本文涉及的基础知识点 C算法:滑动窗口及双指针总结 C堆(优先队列) LeetCode2653. 滑动子数组的美丽值 给你一个长度为 n 的整数数组 nums ,请你求出每个长度为 k 的子数组的 美丽值 。 一个子数组的 美丽值 定义为:如果子数组中第 x 小整数…

HarmonyOS NEXT: 抓住机遇,博

鸿蒙生态崛起:开发者如何抓住机遇,创造卓越应用体验 鸿蒙系统的崛起与优势开发者面临的机遇与挑战解决方案与前景分析开发人员学习路径 在移动操作系统领域,安卓(Android)和苹果iOS系统长期占据主导地位。然而&#xf…

django5入门【04】Django框架配置文件说明:settings.py

文章目录 1. 基础路径配置2. 启动模式配置3. 站点访问权限配置4. App配置5. 中间件配置6. 模板配置7. 数据库配置8. 路由配置9. 语言与时区配置10. 静态文件配置11. 总结 1. 基础路径配置 在settings.py文件中,通过BASE_DIR配置项来绑定项目的绝对路径。这个路径是…

ZeroNL2SQL:零样本 NL2SQL

发布于:2024 年 10 月 30 日 星期三 #RAG #NL2SQL # Zero-Shot 自然语言到 SQL(NL2SQL)的转换是一个重要的研究领域,它允许非技术用户轻松访问和分析数据,在商业智能、数据分析等领域具有广泛的应用前景。然而&#x…

nginx配置https及url重写

nginx配置https及url重写 一、https简介1、安全访问2、数据的安全性3、数据的完整性3、身份的真实性 二、配置https网站1、环境规划2、部署私有CA3、部署https的虚拟主机 三、URL重写1、语法 四、location的写法1、语法2、location uri {}3、location ~ uri { }4、location ~*…

【安全解决方案】深入解析:如何通过CDN获取用户真实IP地址

一、业务场景 某大型互联网以及电商公司为了防止客户端获取到真实的ip地址,以及达到保护后端业务服务器不被网站攻击,同时又可以让公安要求留存网站日志和排查违法行为,以及打击犯罪的时候,获取不到真实的ip地址,发现…

4. 日志系统实现

log.h 文件定义了一个单例模式的日志类 Log,用于记录系统日志。 单例设计模式: 主要功能 根据上述分析,这个日志类 Log 主要实现了以下功能: 1. 日志写入 该日志类提供了 write_log() 方法用于将日志内容写入文件。日志内容可以…

【SQL】SQL函数

📢 前言 函数 是指一段可以直接被另一段程序调用的程序或代码。主要包括了以下4中类型的函数。 字符串函数数值函数日期函数流程函数 🎄 字符串函数 ⭐ 常用函数 函数 功能 CONCAT(S1,S2,...Sn) 字符串拼接,将S1,S2&#xff0…

论文翻译 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES

摘要 最近的信息检索研究主要集中在如何从一个任务(通常有丰富的监督数据)转移到其他各种监督有限的任务上,其隐含的假设是从一个任务可以泛化到所有其他任务。然而,这忽略了这样一个事实,即存在许多多样化和独特的检索…

【MySQL】深入理解隔离性

目录 一、数据库并发的场景 1. 读-读并发 2. 读-写并发 3. 写-写并发 二、多版本并发控制( MVCC ) 2.1.MVCC的核心思想 2.2.MVCC的优势 2.3.MVCC的工作原理 2.4.MVCC的应用场景 三、理解MVCC 3.1. 3个记录隐藏字段 3.2.undo日志 4.快照的概…

目录遍历漏洞

目录遍历 目录 概念漏洞分析 加密型传递参数编码绕过目录限定绕过绕过文件后缀过滤(截断上传原理) 漏洞挖掘 访问图片文件测试时去掉文件名只访问目录路径搜索引擎谷歌关键字 pikachu目录遍历 目录遍历与任意文件下载其实差不多,但是如果目录遍历比如etc/passwd只能看不能下…