U-Net 模型改进和应用场景研究性综述

news2024/10/7 10:26:07

U-Net综述

    • 1 文章介绍
    • 2 U-Net介绍
    • 3 结构改进
    • 4 非结构改进
      • 4.1 预处理——数据增强
      • 4.2 训练——数据归一化
      • 4.3 训练——激活函数
      • 4.4 训练——损失函数
      • 4.5 结构改进总结
    • 5 U-Net应用场景
      • 5.1 视网膜血管分割
      • 5.2 肺结节分割
      • 5.3 肝脏和肝脏肿瘤分割
      • 5.4 脑肿瘤分割
      • 5.5 不同应用场景总结
    • 6 总结

1 文章介绍

在这里插入图片描述

闲来无事,被封宿舍,代码不好码,正好有几篇综述,拿来看看,这篇文章主要从U-Net模型的结构性和非结构性改进两个方向做出综述,同时还介绍了视网膜血管,肺结节,肝脏肝脏肿瘤,脑肿瘤四种典型任务为例,阐述不同数据的分割特点和难点;

2 U-Net介绍

参考之前的一篇文章:U-Net代码练习

对U-Net有一定了解之后,一定要动手跑一下,加深映像;总的来说,U-Net 网 络 模 型 结 构 主 要 包 括 编 码 器 、解 码 器 和跳跃连接部分。编码器用于提取抽象特征和上 下 文 信 息 ,解 码 器 用 于 将 图 像 逐 步 恢 复 至 原 始 尺 寸 ,而 跳 跃 连 接 则 将 不 同 层 次 的 特 征 进 行 融 合 。

3 结构改进

结构性改进就三种情况,编码器解码器改进,跳连接改进,以及模型整体结构改进;大 部 分 改 进 工 作是在原有模块的基础上,增加残差模块、Dense 模 块 、Inception 模 块 、Attention 模 块 等 经 典 网 络 模 块 , 或 综 合 运 用 其 中 的 几 种 模 块 ,以 提 高 网 络 的 分 割 性 能。

2018年的一篇MDU-Net: Multi-scale Densely Connected U-Net for biomedical image segmentation,就是添加了Dense和Inceptioon模块,然后不同层之间进行特征连接,增加网络的学习能力,结构图如下:
在这里插入图片描述

代码如何实现呢:应该是定义好各个卷积模块和采样模块,在def forward中来回的进行连接吧,有机会就回来实现一下代码;

2018年的另外一篇文章,Recurrent Residual Convolutional Neural Network based on U-Net (R2U-Net) for Medical Image Segmentation,与原 始 U-Net 相比,这种网络分别在编/解码器阶段用循环卷积层(RCLs)和带有残差单元的循环卷积层(RCLs)代替原有的正向卷积层,使得网络在不增加参数量的同时具有优于U-Net和ResU-Net 的分割性能,网络结构图如下:
在这里插入图片描述

代码如何实现呢:不太会,因为这个循环卷积层没用过,只是在NLP任务中听说过循环神经网络(RNN),不知道是否有关系?

2019年一篇顶会文章,Prostate Segmentation using 2D Bridged U-net,文章中是串联了U-Net,每个跳连接之间在通过其他方式连接起来,比较适合病灶分割,结合我之前看过的一篇文章,也是串联U-Net,主要用来进行视网膜血管分割,可以对比学习一下,文章链接:Iter-Net——迭代式U-Net变型

在这里插入图片描述

代码如何实现呢:可以封装U-Net,将跳连接部分的接口放出来,但是可能也不太好实现,最莽的手段就是在forward里面按部就班的写;

再来一篇2018年的顶刊文章M-Net,发表在TMI上的文章,主要思想,将输入图片缩放成不同的大小传入U-Net的每一层,同时也将U-Net每一层的输出都拿出来进行损失计算,反向传播,这样可以的大大增加拟合强度,我第一次接触这种每一层都输出结果进行计算的思想,是在 U 2 − N e t U^2-Net U2Net中,文章讲解:套娃式U-Net网络结构;M-Net网络结构如下:
在这里插入图片描述

代码如何实现:我猜将图片缩放之后,存入列表中做参数传入网络结构中,那GT图像也要进行同比例的缩放,这样计算Loss时才方便,同时,训练和测试时,输入输出可能不一样,这在 U 2 − N e t U^2-Net U2Net中有表现;

那针对U-Net的结构型改进总结如下:
在这里插入图片描述

4 非结构改进

4.1 预处理——数据增强

数据增强的目的是有意地从原始训练数据中生成更多的训练数据来提高网络性 能 ,常见的数据增 强方法有镜像对称、旋转 、翻转 、随机裁剪等;最最重要的,也是我新学到的:Image Patch操作,在血管分割中,将大图片裁剪成多个小图片,这样能大大增加图片数量!!
数 据 增 强 的 方 法 有 很 多 ,但 具 体 选 择 哪 些 数 据 增 强 方 法 往 往 不 是 固 定 的 ,何 种 数 据 增 强 技 术 是 最 佳 的 也 很 难 衡 量 。 在 实 际 应 用 中 ,要 根 据 训 练 数 据 集 的 特 点 进 行 合 理 选 择 ,使 网 络 具 有 最 佳 的 泛 化 能 力 和 鲁 棒 性 ,进 而 有 助 于 网 络 性 能 的 提升;

代码如何实现呢:Pytorch有自带已集成好的方法,但是传入参数是单个的PIL或者是Numpy数据,不能是object或者是List数据,意味着你需要调用两次才能实现原始图像和GT图像同时变换,而且有时候随机数不同,两者的变化也不同,因此,建议在github上找一个大神写好的,然后自己修修改改,作为自己的,同时以后也可以作为实验室祖传代码传下去,哈哈哈哈哈!

4.2 训练——数据归一化

常见的是BN,BN 层可使网络中的数据分布得更 均 匀 ,从而可以缓解梯度弥散,加快训练速度,但BN算法容易受到batch size的影响,因此出现了样 本 归 一 化(IN),即 只 对 每 个 样 本 进 行 类 似 BN 的 标准化处理,使其不受通道和 batch size 的影响;组 归 一 化(GN)将 通 道 划 分 为 组 ,在 组 内 计 算 数 据 的 均 值 和 方 差 ,进 而 实 现 对 图 像 的 归 一 化 处 理,之后还有集大成者,谷歌在 2019 年提出了新的归 一 化 层 ——FRN(filter response normalization),它 既 能 解 决 mini batch 问 题 ,又 能 在 batch 较 大 时 具 有 比 使 用 BN 更 好 的 性 能,5种归一化方法介绍:BN、GN、LN、IN、SN 、FRN

4.3 训练——激活函数

激活函数可使输入输出之间生成 非 线 性 映 射 ,从 而 使 得 网 络 能 够 学 习 更 为 复 杂 的 内 容 。 U-Net 网 络 及 大 部 分 的 改 进 网 络 均 使 用 ReLU 函 数 进 行 激 活 ,能 够 有 效 避 免 和 纠 正 梯 度 消 失 问 题;但是其也存在着梯度消失问题;因此人们剔除LeakReLU,ELU,mish等激活函数,常见激活函数如下:Pytorch 非线性激活函数

代码如何实现:有时候不同的激活函数产生的效果不同,Pytorch提供的激活函数非常的全面,重点是学习前辈论文,然后有选择性的使用激活函数,这个在发表论文中,如果仅仅只是使用,是不够发论文的,除非你新发明了一种新的激活函数!

4.4 训练——损失函数

损失函数是神经网络寻找最优权重参数的指标。常用的损失函数有BCELoss,BCE,DIceLoss, IoULoss等,同时组合使用损失函数也是当前发论文的一种方向,但是想要取得成果,其实还是很难的,毕竟你不仅要有效果,还有指出为何有效果;不同的损失函数优化目标不同,有时候选择不同的损失函数,都会导致训练不收敛,因此损失函数寻找和组合需要谨慎和细心,Pytorch现有损失函数如下:Pytorch Loss

代码如何实现:Pytorch集成的损失函数只有一少部分,大部分的分割损失函数需要自己实现,这里就需要平时多看GitHub进行收集了,收集好了,作为实验室祖传代码,哈啊哈!

4.5 结构改进总结

针对 U-Net 网络在结构改进和非结构改进方面取得的成效,按照改进的目的对改进措施和代表性网络进行了归纳总结,结果如下:
在这里插入图片描述

5 U-Net应用场景

根 据 不 同 的 疾 病 图 像 特 点 ,我 们 采 取 适 当 的 措 施 对 U-Net 模 型 加 以 改 进 ,并 将 其 应 用 于 不 同 医 学 图 像 的 分 割 中 ,会 取 得 不 错 的 效 果 。 下 面 将 对 U-Net 及 其 改 进 后 的 网 络 在 视 网 膜 血 管 分 割 、肺 结 节 分 割 、肝 脏 和 肝 脏 肿 瘤 分 割 、脑 肿 瘤 分 割 四 种 不 同 医 学 图 像 分 割 中 的 应 用 研究进行总结:

5.1 视网膜血管分割

二 维 彩 色 眼 底 图 和 三 维 光 学 相 干 断 层 扫 描 (OCT)图 像 是 眼 科 疾 病 最 常 见 的 诊 断 依 据;
其本身存在的困难点为 结 构 极 其 复 杂 ,具 有 很 高 的 弯 曲 度 ,且 形 态 各 异 ,同 时 视 网 膜 血 管 细 小 ,分 叉 和 交 叉 区 域 较 多,分割精度要求较为严格;文章中举例了DUNet: A deformable network for retinal vessel segmentation,在三个公开数据集DRIVESTARECHASE上的分割效果很好,优于传统的U-Net,针对血管分割,需要提升网络学习细小血管的能力,因此需要更多的信息采集模块,文章后面提到的添加Inception模块,也是相同的思想;同时,我之前看过的一篇文章Iter-Net:Iter-Net——迭代式U-Net变型,也是通过串行U-Net提升网络分割精度的;

5.2 肺结节分割

通 过 观 察 CT 图 像 中 肺 结 节 的 纹 理 特 征 ,可 以 较 为 清 晰 地 判 断 病 人 是 否 有 肺 癌 隐 患 ,并 量 化 分 析 肺 癌 的 恶 性 程 度 , 从 而 高 效 地 辅 助 医 生 进 行 诊 断;
其 存 在 的 分 割 难 点 在 于:肺 结 节 体 积微小,与肺实质中的血管等组织相似,且在 CT 图 像 中 存 在 边 缘 模 糊 、对 比 度 低 、灰 度 不 均 匀 等 问 题 , 容 易 受 到 噪 声 和 伪 影 的 影 响 ,从 而 在 一 定 程 度 上 对 医 生 的 诊 断 造 成 了 干 扰;
文章中举例了Dense U-Net,Res U-Net,也有添加了Inception的U-Net,分割效果都不断的优化,同时最令我注意的是,其实很多分割存在着两个阶段,第一阶段是粗分割,分割出大致区域或者是个数,第二阶段,精细分割,确定分割范围,这个我没接触过,以后可以试一试;
同时文章中主要列举了分割的改进方法:

  1. 通 过 引 入 条 件 随 机 场 能 够 关 联 不 同 像 素 之 间 的 关 系 ,对 边 缘 模 糊 的 情 况 有 较 好 的 改 善 作 用 ;
  2. 通 过 引 入 密 集 连 接 或 构 建 子 网 络 模 块 ,促 进 多 尺 度 特 征 的 提 取 ,有 助 于 网 络 对 不 同 尺 寸 肺 结 节 的 分 割 ,特 别 是 小 结 节 区 域 或 血 管 粘 连 部 位 ,但 这 会 在 一 定 程 度 上 增 加 网 络 的 计 算 成 本 ;
  3. 引 入 空 间 注 意 力 模 块 和 通 道 注 意 力 模 块 有 助于增强特征提取的有效性以及网络对不同尺度 特 征 的提取能力;
  4. 增 加 深 度 监 督 机 制 能 够 进 一 步 优 化 网 络 的 分 割 性 能 ,在 一 定 程 度 上 减 少 假 阳 性 的 发生。

5.3 肝脏和肝脏肿瘤分割

实现肝脏精准分割有助于肝段切除和肝移植 体积测量。因此这一块主要说的是3D领域的分割;
其分割难点在于:肝脏和肝脏肿瘤在形状和大小上 都 是 不 规 则 的 ,它 们 可 能 与 周 围 的 器 官 比 较 相 似; 由 于 仪 器 设 备 参 数 不 同 ,CT 图 像 间 的 灰 度 值 也 存 在 差 异 ,进 而 肝 脏 所 显 示 的 位 置 也 不 同 。
从文中介绍的三个网络来看,增 加 三 维 条 件 随 机 场 的 3D UNet-C2 能 够 有 效 减 少 假 阳 性 ,剔 除 非 肝 脏 区 域 ,同 时 优 化 肝 脏 边 缘 的 分 割 效 果 。 BSU-Net 能 够 更 好 地 控 制 形 状 变 形 、减 少 假 阳 性 和 假 阴 性 ,从 而 验 证 了 使 用 密 集 连 接 模 块 及扩展编码路径的有效性。LV-Net 通过使用深度 监督机制使网络在减少参数量的同时仍然具有较 好的分割表现。

5.4 脑肿瘤分割

MRI 是 一 种 典 型 的 非 侵 入 式 成 像 技 术 ,能 够 生 成 高 质 量 的 无 损 伤 和 无 颅 骨 伪 影 的 脑 影 像 ,是 进 行 脑 肿 瘤 诊 疗 的 主 要 技 术 手 段。
脑 肿 瘤 区 域 的 分 割 难 度 相 比 其 他 种 类 图 像 的 分 割 难 度 更 大 ,不 同 的 肿 瘤 区 域 又 存 在 不 同 的 分 割 难 点 。 比 如 :

  1. 完 整 肿 瘤 区 域(WT)易 将 背 景 部 分 分 割 进 来 ,造 成 过 分 割 ;
  2. 肿 瘤 核 心 区 域(TC)易 与 其 他 区 域 产 生 粘 连 ;
  3. 增 强 肿 瘤 区 域(ET)多 存 在 点 状 、 不 连 续 的 细 小 肿 瘤 ,分 割 难 度 更 大 。

公开数据集是:BRATS,文章中提到了3D-HDC-UNet网络结构,其中通过Dice 损失和 Focal 损失的混合损失函数替换原来单一的 Dice 损 失 函 数 ,加 强 了 稀 疏 类 对 损 失 函 数 的 贡 献 ,提 高 了 肿瘤核心区域的分割精度;
从文章分析结果来看:

  1. 通过引 入 密 集 连 接 和 残 差 连 接 能 够 有 效 改 善 该 问 题 ,不 仅 能 更 加 细 致 地 分 割 出 肿 瘤 核 心 区 域 ,避 免 与 其 他 区 域 粘 连 ,同 时 对 分 割 难 度 最 大 的 增 强 肿 瘤 区 域也能够很好地进行分割;
  2. 包含刚性或仿射的变 形以及包括亮度和弹性变形的数据增强方法对全 部完整肿瘤和肿瘤核心区域分割的改善作用明 显 ,但 对 增 强 肿 瘤 区 域 分 割 的 改 善 效 果 不 明 显 ;
  3. 混合膨胀卷积的使用有助于对大区域的分 割 ,混 合 了 Dice 损 失 和 Focal 损 失 的 损 失 函 数 有 利 于 对 小 区 域 目 标 的 识 别 ,同 时 对 分 割 难 度 较 大 的 肿瘤核心和增强肿瘤区域的识别也更加准确。

5.5 不同应用场景总结

不 同 类 型 的 疾 病 在 进 行 诊 断 时 所 使 用 的 图 像 略 有 不 同 ,比 如 视 网 膜 区 域 的 疾 病 往 往 通 过 眼 底 彩 色 图 像 进 行 诊 断肺 结 节 和 肝 脏 肿 瘤 常 通 过 CT 图 像 进 行 诊 断而 脑 肿 瘤 一般通过磁共振图像进行诊断。各部位的图像具 有 各 不 相 同 的 特 点 ,因 此 在 进 行 图 像 分 割 时 也 存 在 不 同 的 分 割 难 点 。 针 对 各 种 问 题 ,研 究 人 员 采 取 了 相 应 的 改 进 措 施 ,有 效 地 提 高 了 分 割 精 度 和 网 络 性 能 。 根 据 上 述 内 容 ,本 文 对 U-Net 及 其 改 进 网 络 在 各 类 疾 病 图 像 分 割 中 的 相 关 应 用 进 行 了 总 结 ,具 体如下:
在这里插入图片描述

6 总结

通 过 研 究 大 量 相 关 改 进 工 作 可 以 看 出 ,U-Net 模 型 的 改 进 ,网 络 结 构 改 进 中 ,残 差 模 块、Dense 模块、Inception 模块和 Attention 模块是最 常 见 的 引 入 模 块 ,这 些 模 块 能 够 使 网 络 有 效 提 取 特 征 ,充 分 利 用 上 下 文 信 息 ,从 而 提 高 分 割 精 度 ;对 于 引 入 的 卷 积 来 说 ,扩 张 卷 积 和 可 变 形 卷 积 最 为 常 见 ,它 们 能 够 调 整 感 受 野 的 大 小 ,减 少 参 数 量 ,使 网 络 可 以 利 用 不 同 层 次 的 特 征 ,从 而 有 效 避 免 过 拟 合;
非 结 构 改 进 对 网 络 性 能 提 升 的 有 效 性 也 逐 渐 得 到 了 关 注 ,有 些 研 究 者 在 进 行 网 络 结 构 改 进 的 同 时 ,充 分 考 虑 了 数 据 增 强 和 数 据 归 一 化 方 法 的 综 合 运 用 ,并 提 出 了 一 些 新 的 混 合 损 失 函 数 ,有 针 对 性 地 训 练 网 络 ,从 而 提 升 了 网 络 的 性 能;
自己的想法:

  1. 是将其真正落地,做成接口嵌入到硬件中;
  2. 进行半监督和无监督的网络改进;
  3. 将Transformer引入到医学图像分割中;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计基于Springboot校刊投稿系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Vue学习:模板语法

容器里面的模板&#xff1a;对应的模板语法 {{xxx}}:插值语法 指令语法&#xff1a; v-bind&#xff1a;vue指令 绑定 后面的数据会变成属性或者方法 <h1>指令语法</h1><!-- v-bind会将"xxx"里面的内容当成表达式执行 --><a v-bind:href&quo…

这些 MySQL 最朴素的监控方式!用完爱不释手!

对于当前数据库的监控方式有很多&#xff0c;分为数据库自带、商用、开源三大类&#xff0c;每一种都有各自的特色&#xff1b;而对于 mysql 数据库由于其有很高的社区活跃度&#xff0c;监控方式更是多种多样&#xff0c;不管哪种监控方式最核心的就是监控数据&#xff0c;获取…

嵌入式之总线协议:1、UART

嵌入式之总线协议&#xff1a;1、UART 目录 第一章 UART 帧格式讲解 第二章 UART 寄存器讲解 第三章 UART 编程 第四章 输出重定向 第五章 RS232、RS485协议原理与应用 第一章 UART嵌入式之总线协议&#xff1a;1、UART前言一、UART简介1、串行/并行1.1 并行1.2 串行2、异步3、…

C语言第十八课:初阶结构体

目录 前言&#xff1a; 一、结构体类型的声明&#xff1a; 1.结构的基础知识&#xff1a; 2.结构的声明&#xff1a; 3.结构成员允许的类型&#xff1a; 4.结构体变量的定义&#xff1a; 5.结构体变量的初始化&#xff1a; 二、结构体成员的访问&#xff1a; 1.结构体变量访…

[附源码]计算机毕业设计实验室管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

4 第一个程序

第一个程序 1 源程序 源程序中包括两种指令&#xff1a;伪指令和汇编指令 汇编指令是有对应机器码的指令&#xff0c;可以用CPU直接执行 伪指令没有对应的机器码&#xff0c;只有编译器执行不用CPU执行 1.1 segment ends segment和ends的功能是定义一个段。使用格式如下 …

[附源码]计算机毕业设计三星小区车辆登记系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

多线程中的公平锁、非公平锁、可重入锁、死锁【详细总结】

目录公平锁非公平锁公平锁和非公平锁的用法可重入锁synchronized可重入锁示例ReentrantLock的示例代码死锁死锁产生的原因常用解决死锁的方法判断程序是否发生死锁死锁的案例&#xff08;面试会问&#xff09;公平锁 多个线程按照申请锁的顺序去获得锁&#xff0c;线程会直接进…

第十六章 Dijkstra算法的讲解以及证明(与众不同的通俗证明)

第十六章 Dijsktra算法的讲解以及粗略证明一、Dijkstra的用途二、Dijkstra的思想及证明&#xff08;1&#xff09;相关结论及证明&#xff1a;结论1&#xff1a;必须借助中间点时某个点到终点的最短路程&#xff1d;该点到中间点的最短距离&#xff0b;中间点到终点的最短距离结…

数据分析思维(一)|信度与效度思维

信度与效度思维 1、概念 信度与效度思维通常用于在数据分析中进行更有价值的指标选择。 信度&#xff1a;指标的可靠程度。包括一致性及稳定性。&#xff08;口径是否一致&#xff0c;是否具有波动性&#xff09; 效度&#xff1a;指标的有效性。一个数据或指标的生成&…

JavaFX项目打包成可安装exe文件

开发环境&#xff1a;Windows 10 2H JDK&#xff1a;jdk1.8.0_112 IDEA&#xff1a;2020.3 1. 项目中导入插件依赖 <plugin><groupId>io.github.fvarrui</groupId><artifactId>javapackager</artifactId><version>1.6.6</version>&…

[附源码]计算机毕业设计JAVA婴幼儿玩具共享租售平台

[附源码]计算机毕业设计JAVA婴幼儿玩具共享租售平台 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM …

Java学习之多态一

目录 一、入门案例 Food类 Animal类 Master类 运行测试 分析 运行结果 问题总结 二、方法的多态 三、对象的多态&#xff08;重难点/核心&#xff09; 四个非常重要的知识点&#xff08;背诵&#xff09; 举例说明 父类-Animal类 子类-Dog类 子类-Cat类 运行-Po…

如何将数据库从 CloudKit 迁移到 Firebase

为什么要迁移 如果该服务仅支持 Apple 设备,则使用 CloudKit 和 CoreData 可能是最佳选择。但是,如果您还需要支持 Web 和 Android,情况就不同了。 当同时支持Web和Android时,可以使用CloudKit JS访问iCloud DB。但是实施起来比较困难,需要有苹果账号。 如果未来有同时支…

【滤波跟踪】基于北方苍鹰和粒子群算法优化粒子滤波器实现目标滤波跟踪附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

[nacos]nacos2.x+nginx集群搭建以及过程中遇到的坑

参考文档 nacos官方集群部署说明centos7安装并配置jdknacos2.x集群实现centos7安装mysql8使用nginx反代nacos报错 badrequest 400 环境准备 vmware虚拟机上跑的centos7 (原本内存2g 坑点之一!2g内存无法启动三台nacos集群,官方说明需要4g)centos7安装并配置jdk8 安装教程参考 …

Mongoose【node.js的优雅mongodb对象建模】

Mongoose基础运行流程&#xff1a; 文章目录Mongoose基础运行流程&#xff1a;官方 Docs 地址1. 安装&#xff1a;2. 使用&#xff1a;2.1 目录结构&#xff1a;2.2 初始化连接实例 [ 创建 DBHelper.js ]2.2.1 链接地址书写格式[ mongoose.connect&#xff08;参数格式 &#x…

java计算机毕业设计ssm网络相册设计sepo8(附源码、数据库)

java计算机毕业设计ssm网络相册设计sepo8&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。…

机器学习笔记之受限玻尔兹曼机(四)推断任务——边缘概率

机器学习笔记之受限玻尔兹曼机——推断任务[边缘概率]引言回顾&#xff1a;场景构建推断任务——边缘概率求解边缘概率与Softplus函数引言 上一节介绍了受限玻尔兹曼机中随机变量节点的后验概率&#xff0c;本节将介绍随机变量结点的边缘概率。 回顾&#xff1a;场景构建 已…