机器学习12-视觉识别任务
机器学习12-视觉识别任务
- 分类
- 语义分割
- 滑动窗口
- 滑动窗口的实现思路
- 优点
- 缺点
- 现代替代方法
- 全卷积(Fully Convolutional Networks, FCN)
- FCN 的工作原理
- FCN 的性能优势
- FCN 的应用案例
- FCN 的局限性
- 改进方向
- 下采样
- 可学习的上采样:转置卷积
- 目标检测
- 区域建议SelectiveSearch
- **一、R-CNN的核心原理**
- **二、R-CNN的完整流程**
- **三、R-CNN的优缺点**
- **四、R-CNN的后续演进**
- **一、图示整体结构**
- **二、核心步骤解析**
- **1. 候选区域映射到特征图**
- **2. 特征点的双线性插值**
- **3. 子区域采样与特征组合**
- **三、RoI Align vs. RoI Pooling**
- **四、图示技术细节**
- **五、RoI Align的意义**
- **总结**
- **五、总结**
- 实例分割
分类
语义分割
滑动窗口
在语义分割任务中,滑动窗口方法是一种基于传统计算机视觉技术的思路,其核心思想是通过滑动窗口对图像进行局部处理,从而实现像素级别的分类。以下是滑动窗口在语义分割中的实现思路和优缺点:
滑动窗口的实现思路
-
窗口定义
选择一个固定大小的窗口(通常是正方形或矩形),从图像的左上角开始,按照一定的步长(通常是像素数)在图像上滑动。 -
特征提取与分类
每次滑动窗口时,提取窗口内的特征,并对窗口内的像素进行分类。分类结果可以用于确定窗口内像素的类别。 -
重叠区域处理
由于窗口之间存在重叠,滑动窗口方法会多次计算重叠区域的特征,这可能导致效率较低。 -
结果整合
对所有窗口的分类结果进行整合,最终生成整幅图像的语义分割结果。
优点
- 简单直观:滑动窗口方法易于理解和实现,适合初学者入门。
- 局部处理:能够对图像的局部区域进行细致处理,适合处理小目标或局部特征。
缺点
- 效率低下:由于窗口之间存在重叠,导致大量重复计算,效率较低。
- 难以处理大图像:对于高分辨率图像,滑动窗口方法的计算成本过高。
- 依赖手工特征:传统滑动窗口方法依赖手工设计的特征,泛化能力有限。
现代替代方法
尽管滑动窗口方法在早期的语义分割任务中被广泛使用,但随着深度学习的发展,全卷积网络(FCN)等基于卷积神经网络的方法逐渐成为主流。这些方法通过端到端的训练,能够直接输出像素级别的分类结果,避免了滑动窗口的效率问题。
总结来说,滑动窗口方法在语义分割中虽然简单易懂,但在效率和性能上存在明显不足。现代语义分割任务更多采用基于深度学习的全卷积网络或其他先进架构。
全卷积(Fully Convolutional Networks, FCN)
让整个网络只包含卷积层,一次性输出所有像素的类别预测。
全卷积网络(Fully Convolutional Networks, FCN)是一种用于语义分割的经典深度学习架构,其核心思想是将传统卷积神经网络(CNN)中的全连接层替换为卷积层,从而实现对任意尺寸输入图像的像素级分类。
FCN 的工作原理
-
卷积化(Convolutional)
FCN将CNN中的全连接层转换为卷积层,使得网络能够输出与输入图像大小相同的特征图,从而为每个像素提供分类预测。 -
上采样(Upsample)
由于卷积和池化操作会降低特征图的分辨率,FCN通过上采样(通常使用转置卷积)将特征图恢复到与输入图像相同的尺寸。 -
跳跃连接(Skip Layer)
为了结合浅层特征以保留更多细节信息,FCN引入了跳跃连接,将不同层次的特征图进行融合。例如,FCN-32s、FCN-16s 和 FCN-8s 分别通过不同方式结合浅层特征,提升了分割结果的细节和精度。
FCN 的性能优势
-
端到端训练
FCN可以直接将原始图像作为输入,输出分割结果,无需手动设计特征或复杂的后处理。 -
支持任意尺寸输入
由于完全基于卷积操作,FCN能够处理任意尺寸的输入图像。 -
多尺度预测
通过结合不同层次的特征图,FCN能够更好地处理不同尺度的目标。 -
丰富的语义信息
FCN能够学习到图像中的语义信息,使得分割结果更加准确和有意义。
FCN 的应用案例
-
语义分割
FCN最早被应用于街景图像分割,能够对图像中的每个像素进行分类,识别出道路、车辆、行人等。 -
医学图像分析
在医学图像分割中,FCN可用于分割MRI或CT图像中的不同组织或器官。 -
遥感图像解译
FCN可用于遥感图像中的地物分类,例如区分耕地、城市区域等。 -
视频分割
FCN可以扩展到视频分割任务,对视频中的每一帧进行分割,实现物体的跟踪。
FCN 的局限性
尽管FCN在语义分割中取得了重要突破,但它也存在一些局限性:
-
计算量大
上采样和跳跃连接增加了模型的复杂度。 -
分割边界不精确
FCN的分割结果在细节处理和边界清晰度上存在不足。 -
对全局语义信息捕获能力有限
由于卷积核的感受野有限,FCN对全局语义信息的捕获能力较弱。
改进方向
为了克服FCN的局限性,研究者们提出了多种改进方法:
-
结合条件随机场(CRF)
在分割结果上应用CRF优化边界细节。 -
引入注意力机制
使用注意力机制提升模型对重要区域的关注。 -
多尺度特征融合
结合不同尺度的特征以捕获更丰富的上下文信息。 -
使用更深的网络结构
结合ResNet、EfficientNet等更强大的基础网络提升性能。
总之,FCN作为语义分割领域的奠基之作,虽然存在一些局限性,但其核心思想为后续的分割网络(如U-Net、DeepLab等)提供了重要的参考。
下采样
整个网络只包含卷积层,并在网络中嵌入下采样与上采样过程。
下采样:池化,卷积核步长为2
上采样:反向池化操作
这张图片展示了卷积神经网络中的最大池化(Max Pooling)和最大反池化(Max Unpooling)的过程。
左侧:最大池化(Max Pooling)
- 输入:一个 ( 4 × 4 4 \times 4 4×4) 的矩阵。
- 过程:
- 将输入矩阵分为四个 ( 2 × 2 2 \times 2 2×2) 的子矩阵。
- 在每个子矩阵中,选择数值最大的元素。
- 输出:一个 ( 2 × 2 2 \times 2 2×2) 的矩阵,包含每个子矩阵中的最大值。
- 示例:
- 左上角的子矩阵 ( [ 1 2 3 5 ] \begin{bmatrix} 1 & 2 \\ 3 & 5 \end{bmatrix} [1325]) 中最大的元素是 5。
- 右上角的子矩阵 ( [ 6 3 2 1 ] \begin{bmatrix} 6 & 3 \\ 2 & 1 \end{bmatrix} [6231]) 中最大的元素是 6。
- 左下角的子矩阵 ( [ 1 2 2 1 ] \begin{bmatrix} 1 & 2 \\ 2 & 1 \end{bmatrix} [1221]) 中最大的元素是 2。
- 右下角的子矩阵 ( [ 7 8 3 4 ] \begin{bmatrix} 7 & 8 \\ 3 & 4 \end{bmatrix} [7384]) 中最大的元素是 8。
- 因此,输出矩阵为 ( [ 5 6 2 8 ] \begin{bmatrix} 5 & 6 \\ 2 & 8 \end{bmatrix} [5268])。
右侧:最大反池化(Max Unpooling)
- 输入:一个 ( 2 × 2 2 \times 2 2×2) 的矩阵,包含最大池化过程中选择的最大值。
- 过程:
- 使用最大池化过程中记录的每个最大值的位置信息,将这些值放回原始位置。
- 其他位置用零填充。
- 输出:一个 ( 4 × 4 4 \times 4 4×4) 的矩阵,与最大池化前的输入矩阵尺寸相同。
- 示例:
- 原始最大池化的输出矩阵是 ( [ 5 6 2 8 ] \begin{bmatrix} 5 & 6 \\ 2 & 8 \end{bmatrix} [5268])。
- 根据最大池化过程中记录的位置信息,将这些值放回原始位置。
- 其他位置用零填充。
- 因此,输出矩阵为 ( [ 0 0 2 0 0 1 0 0 0 0 0 0 3 0 0 4 ] \begin{bmatrix} 0 & 0 & 2 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 3 & 0 & 0 & 4 \end{bmatrix} 0003010020000004 )。
总结
- 最大池化:通过选择每个子矩阵中的最大值来降低特征图的尺寸,同时保留最重要的特征信息。
- 最大反池化:通过使用最大池化过程中记录的位置信息,将这些值放回原始位置,从而恢复特征图的尺寸。
这种最大池化和最大反池化的组合在卷积神经网络中常用于构建编码器-解码器结构,如U-Net,用于图像分割等任务。
可学习的上采样:转置卷积
这张图片详细解释了转置卷积(transpose convolution)的工作原理,特别是一个 ( 3 × 3 3 \times 3 3×3) 的转置卷积核,步长(stride)为2,填充(pad)为1的情况。以下是对图片内容的详细解释:
转置卷积的其他叫法
- Deconvolution (bad):这个术语有时被用来描述转置卷积,但可能会导致混淆,因此不是一个好的术语。
- Upconvolution:强调了转置卷积的上采样功能。
- Fractionally strided convolution:强调了转置卷积中步长可能不是整数的特性。
- Backward strided convolution:强调了步长的方向与标准卷积相反。
输入和输出
- 输入:一个 ( 2 × 2 2 \times 2 2×2) 的矩阵。
- 输出:一个 ( 4 × 4 4 \times 4 4×4 ) 的矩阵。
转置卷积的过程
- 输入提供滤波器的权重:输入矩阵为转置卷积核提供权重。
- 步长和填充:
- 步长(stride):为2,这意味着滤波器在输出特征图上每移动一个像素,在输入特征图上移动两个像素。
- 填充(pad):为1,这意味着在输入矩阵的边缘添加一圈零,以确保输出矩阵的尺寸正确。
- 滤波器移动:滤波器在输出特征图上每移动两个像素,在输入特征图上移动一个像素。
- 重叠区域的值需要求和:在转置卷积中,由于步长和填充的使用,滤波器可能会覆盖输入特征图的相同区域多次。这些重叠区域的值需要求和,以生成输出特征图的最终值。
转置卷积的作用
转置卷积主要用于上采样,即增加特征图的空间维度。这在图像分割、生成模型(如GANs)等任务中非常有用,因为它可以恢复图像的细节信息。通过学习滤波器的权重,转置卷积可以更灵活地调整特征图的尺寸,而不仅仅是简单地插值。
总结来说,这张图片展示了转置卷积如何通过步长和填充来控制输出特征图的尺寸,并通过学习滤波器的权重来实现上采样。
目标检测
目标检测的问题在于你不知道图像中有多少个目标,所以你必须把图像的每一个区域进行分类提取边界对于计算机来说计算量是巨大的。那么怎么来降低计算量,是目标检测的关键。
区域建议SelectiveSearch
一、R-CNN的核心原理
- 区域建议生成
R-CNN通过**选择性搜索(Selective Search)**生成约2000个候选区域(Region Proposals),这些区域可能包含物体。选择性搜索利用颜色、纹理、边缘等低级特征合并相似区域,减少冗余框。 - 特征提取
每个候选区域被裁剪并调整至固定尺寸(如224x224),输入预训练的CNN(如AlexNet)提取4096维特征向量。这一步骤替代了传统手工特征(如SIFT、HOG),使特征更具判别性。 - 分类与回归
• 分类:使用多个SVM分类器(每类一个)判断特征向量所属类别,输出置信度。
• 边界框回归:通过线性回归模型修正候选框的位置和尺寸,提升定位精度。
二、R-CNN的完整流程
- 候选区域生成
输入图像经过选择性搜索生成约2000个候选框,覆盖不同尺度和形状的潜在目标。 - CNN特征提取
每个候选框独立通过CNN提取特征,耗时较长(需2000次前向传播)。 - SVM分类与NMS过滤
SVM输出类别得分后,通过非极大值抑制(NMS)去除重叠框,保留高置信度结果。 - 边界框精调
回归模型基于特征向量调整框的坐标,使其更贴合目标边界。
三、R-CNN的优缺点
- 优点
• 高精度:CNN特征显著优于传统方法,PASCAL VOC数据集上mAP提升至53.7%。
• 模块化设计:各步骤(候选区域、特征提取、分类)可独立优化。 - 缺点
• 计算效率低:2000次CNN前向传播导致单张图片处理需数十秒。
• 存储开销大:需保存所有候选区域的特征向量,占用大量磁盘空间。
• 训练复杂:需分阶段训练CNN、SVM和回归模型,流程繁琐。
四、R-CNN的后续演进
- Fast R-CNN
• 改进点:引入ROI池化层,将候选区域映射到特征图上统一处理,共享CNN计算,速度提升10倍。
• 端到端训练:分类与回归整合到单一网络,采用多任务损失函数。
以下是对这张图的详细解读,结合图示元素与RoI Align的核心原理:
一、图示整体结构
这张图展示了 RoI Align(Region of Interest Align) 的关键操作流程,主要用于解决传统RoI Pooling中因两次量化(坐标取整)导致的特征错位问题,是Mask R-CNN的核心改进之一。图示分为三部分:
- 输入图像(左上):包含目标(小猫)和候选区域(红色框)。
- CNN特征图(中下):输入图像经CNN提取后的特征图(尺寸更小,通道数更多)。
- 特征点计算(右侧):展示如何通过双线性插值(Bilinear Interpolation)从特征图中精确提取特征。
二、核心步骤解析
1. 候选区域映射到特征图
• 坐标映射关系
输入图像的候选区域(红色框)通过比例缩放映射到特征图上。例如,输入图像尺寸为 640x480
,特征图尺寸为 20x15
,则缩放比例为 640/20=32
和 480/15=32
,即特征图每个网格对应输入图像的 32x32
像素区域。
• 关键改进:RoI Align不进行坐标取整(图中标注“不进行规整操作”),直接保留浮点数坐标(如 (x,y)
),避免传统RoI Pooling的量化误差。
2. 特征点的双线性插值
• 目标:对特征图上的浮点坐标 (x,y)
,通过其周围四个邻近网格单元(图中 f11, f12, f21, f22
)的特征值,计算插值后的特征 f(x,y)
。
• 插值公式(图中底部公式):
[ f ( x , y ) = ∑ i , j = 1 2 ( 1 − ∣ x − x i ∣ ) ( 1 − ∣ y − y j ∣ ) ⋅ f i j f(x,y) = \sum_{i,j=1}^2 (1 - |x - x_i|)(1 - |y - y_j|) \cdot f_{ij} f(x,y)=∑i,j=12(1−∣x−xi∣)(1−∣y−yj∣)⋅fij]
其中 ‘ ( x i , y j ) ‘ `(x_i, y_j)` ‘(xi,yj)‘ 是四个邻近网格的整数坐标,f_{ij}
是这些网格的特征值。通过距离加权平均,保留亚像素级精度。
3. 子区域采样与特征组合
• 子区域划分:将候选区域划分为多个子区域(例如 2x2
的网格),在每个子区域内均匀采样多个点(如4个点)。
• 特征聚合:对每个采样点进行双线性插值,再通过最大池化或平均池化聚合为最终特征。图中标注“bilinear interpolation”即指此过程。
三、RoI Align vs. RoI Pooling
对比项 | RoI Pooling | RoI Align |
---|---|---|
坐标量化 | 两次取整(候选框→特征图网格) | 保留浮点坐标,无量化 |
插值方式 | 最近邻插值(粗略) | 双线性插值(精细) |
特征对齐精度 | 低(导致目标边缘模糊) | 高(保留亚像素级细节) |
应用场景 | Faster R-CNN | Mask R-CNN(实例分割) |
四、图示技术细节
- 输入图像与特征图尺寸
• 输入图像:3x640x480
(3通道,宽640,高480)。
• 特征图:512x20x15
(512通道,宽20,高15),说明CNN对图像进行了下采样(如VGG16下采样比例为1/32)。 - 特征点计算示例
图中以坐标(x,y)
为例,其周围四个网格单元为:
•(x1,y1)
:左上角网格,特征值f11
•(x2,y1)
:右上角网格,特征值f21
•(x1,y2)
:左下角网格,特征值f12
•(x2,y2)
:右下角网格,特征值f22
通过双线性插值,f(x,y)
是这四个特征的加权和。
五、RoI Align的意义
• 解决实例分割的关键问题:在Mask R-CNN中,RoI Align通过高精度特征对齐,使像素级掩膜预测更准确。
• 性能提升:在COCO数据集上,RoI Align比RoI Pooling提升掩膜AP约10%(He et al., ICCV 2017)。
总结
这张图清晰展示了RoI Align如何通过保留浮点坐标和双线性插值,避免特征错位,提升目标检测与分割的精度。其设计思想是深度学习模型从“粗粒度”向“细粒度”演进的重要体现,尤其在需要像素级预测的任务(如医学图像分割、自动驾驶)中至关重要。
2. Faster R-CNN
• 区域提议网络(RPN):替代选择性搜索,生成高质量候选框,实现端到端检测。
• 速度与精度平衡:VGG16模型下检测速度达5FPS,mAP达70%以上。
3. Mask R-CNN
• 实例分割:在Faster R-CNN基础上增加掩膜预测分支,支持像素级分割。
• ROI Align:改进池化层,避免量化误差,提升定位精度。
五、总结
R-CNN开创了深度学习目标检测的先河,但其计算瓶颈促使了Fast/Faster R-CNN等改进。尽管当前主流算法已转向单阶段模型(如YOLO)或Transformer架构(如DETR),R-CNN系列仍因其高精度在特定场景(如医疗图像分析)中广泛应用。其核心思想——区域建议与特征提取分离——为后续研究提供了重要范式。
实例分割
相关文章:

机器学习12-视觉识别任务
机器学习12-视觉识别任务 分类语义分割滑动窗口滑动窗口的实现思路优点缺点现代替代方法 全卷积(Fully Convolutional Networks, FCN)FCN 的工作原理FCN 的性能优势FCN 的应用案例FCN 的局限性改进方向下采样可学习的上采样:转置卷积 目标检测区域建议Se…...

使用paramiko爆破ssh登录
一.确认是否存在目标主机是否存在root用户 重跑 CVE-2018-15473用户名枚举漏洞 检测: import paramiko from paramiko.ssh_exception import AuthenticationExceptiondef check_user(username, hostname, port):ssh paramiko.SSHClient()ssh.set_missing_host_key…...

游戏引擎学习第146天
音高变化使得对齐读取变得不可能,我们可以支持循环声音了。 我们今天的目标是完成之前一段时间所做的音频代码。这个项目并不依赖任何引擎或库,而是一个教育项目,目的是展示从头到尾运行一个游戏所需要的全部代码。无论你对什么方面感兴趣&a…...

装饰器模式--RequestWrapper、请求流request无法被重复读取
目录 前言一、场景二、原因分析三、解决四、更多 前言 曾经遇见这么一段代码,能看出来是把request又重新包装了一下,核心信息都不会改变 后面了解到这叫 装饰器模式(Decorator Pattern) :也称为包装模式(Wrapper Pat…...

【算法题】小鱼的航程
问题: 分析 分析题目,可以看出,给你一个开始的星期,再给一个总共天数,在这些天内,只有周六周日休息,其他全要游泳250公里。 那分支处理好啦 当星期为6时,需要消耗2天,…...

视频录像机视频通道是指什么
视频录像机的视频通道是指摄像机在监控矩阵或硬盘录像机设备上的视频输入的物理位置。 与摄像头数量关系:在视频监控系统中,有多少个摄像头就需要多少路视频通道,通道数量决定了视频录像机可接入摄像头的数量,一般硬盘录像机有4路…...

RISC-V医疗芯片工程师复合型转型的路径与策略
从RISC-V到医疗芯片:工程师复合型转型的路径与策略 一、引言 1.1 研究背景 在科技快速发展的当下,芯片技术已然成为推动各行业进步的核心驱动力之一。其中,RISC-V 架构作为芯片领域的新兴力量,正以其独特的优势迅速崛起,对整个芯片产业的格局产生着深远影响。RISC-V 架…...

《Gradio : AI awesome-demos》
《Gradio : AI awesome-demos》 This is a list of some wonderful demos & applications built with Gradio. Heres how to contribute yours! 🖊️ Natural language processing Demo name (link to demo)input type(s)output type(s)status badgeruDALL-ET…...

DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)
DeepSeek R1-7B 医疗大模型微调实战全流程指南 目录 环境配置与硬件优化医疗数据工程微调策略详解训练监控与评估模型部署与安全持续优化与迭代多模态扩展伦理与合规体系故障排除与调试行业应用案例进阶调优技巧版本管理与迭代法律风险规避成本控制方案文档与知识传承1. 环境配…...

javascript实现生肖查询
今年是农历乙巳年,蛇年,今天突发奇想,想知道公元0年是农历什么年,生肖是什么。没想到AI给我的答复是,没有公元0年。我瞬间呆愣,怎么可能?后来详细查询了一下,还真是没有。具体解释如…...

UE5从入门到精通之如何创建自定义插件
前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …...

《今日AI-人工智能-编程日报》
一、AI行业动态 AI模型作弊行为引发担忧 最新研究表明,AI在国际象棋对弈中表现出作弊倾向,尤其是高级推理模型如OpenAI的o1-preview和DeepSeek的R1模型。这些模型通过篡改代码、窃取棋路等手段试图扭转战局,且作弊行为与其智能水平正相关。研…...

sanitizer和valgrind
sanitizer sanitizer使用 Valgrind valgrind使用 使用上sanitizer加编译选项即可 发现sanitizer程序要正常退出才能给出分析,ctrlc退出不行,valgrind ctrlc退出也可以给出分析...

如何解决前端的竞态问题
前端的竞态问题通常是指多个异步操作的响应顺序与发起顺序不一致,导致程序出现不可预测的结果。这种问题在分页、搜索、选项卡切换等场景中尤为常见。以下是几种常见的解决方法: 1. 取消过期请求 当用户发起新的请求时,取消之前的请求&…...

(ECCV2018)CBAM改进思路
论文链接:https://arxiv.org/abs/1807.06521 论文题目:CBAM: Convolutional Block Attention Module 会议:ECCV2018 论文方法 利用特征的通道间关系生成了一个通道注意图。 由于特征映射的每个通道被认为是一个特征检测器,通道…...

Python脚本,音频格式转换 和 视频格式转换
一、音频格式转换完整代码 from pydub import AudioSegment import osdef convert_audio(input_dir, output_dir, target_format):if not os.path.exists(output_dir):os.makedirs(output_dir)for filename in os.listdir(input_dir):if filename.endswith((.mp3, .wav, .ogg)…...

基于Spring Boot的高校就业招聘系统的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

强化学习(赵世钰版)-学习笔记(4.值迭代与策略迭代)
本章是整个课程中,算法与方法的第一章,应该是最简单的入门方法。 上一章讲到了贝尔曼最优方程,其目的是计算出最优状态值,从而确定对应的最优策略。 而压缩映射理论推出了迭代算法 对初始值V0赋一个随机的初始值,算法最…...

Cursor安装配置
1.安装 通过网盘分享的文件:Cursor Setup 0.45.11 - x64.exe 链接: 百度网盘 请输入提取码 提取码: 6juv 2. 配置 选择AI工具的语言 输入AI工具的语言为 "中文" ,输入完语言之后,直接点击 "Continue" 下一步&#x…...

相机几何:从三维世界到二维图像的映射
本系列课程将带领读者开启一场独特的三维视觉工程之旅。我们不再止步于教科书式的公式推导,而是聚焦于如何将抽象的数学原理转化为可落地的工程实践。通过解剖相机的光学特性、构建成像数学模型、解析坐标系转换链条,直至亲手实现参数标定代码࿰…...

【GoTeams】-5:引入Docker
本文目录 1. Dokcer-compose回顾下Docker知识编写docker-compose.yaml运行docker 2. 部署go服务编写dockerfile 1. Dokcer-compose 这里简单先用一下win版本的Docker,后期开发好了部署的时候再移植到服务器下进行docker部署。 输入命令docker-compose version 就可…...

基金股票期权期货投资方式对比
以下是基金、股票、期权和期货的详细对比分析,涵盖定义、核心特点、优势、劣势、适用场景及相互区别: 一、基金 定义 基金是通过集合投资者的资金,由专业管理人(基金经理)进行多元化投资的金融工具。根据投资标的可分…...

大模型AI平台DeepSeek 眼中的SQL2API平台:QuickAPI、dbapi 和 Magic API 介绍与对比
目录 1 QuickAPI 介绍 2 dbapi 介绍 3 Magic API 介绍 4 简单对比 5 总结 统一数据服务平台是一种低代码的方式,实现一般是通过SQL能直接生成数据API,同时能对产生的数据API进行全生命周期的管理,典型的SQL2API的实现模式。 以下是针对…...

K8S学习之基础十九:k8s的四层代理Service
K8S四层代理Service 四层负载均衡Service 在k8s中,访问pod可以通过ip端口的方式,但是pod是由生命 周期的,pod在重启的时候ip地址往往会发生变化,访问pod就需要新的ip地址,这样就会很麻烦,每次pod地址改变就…...

揭开AI-OPS 的神秘面纱 第六讲 AI 模型服务层 - 开源模型选型与应用 (时间序列场景|图神经网络场景)
时间序列场景 AI 模型服务层 - 开源模型选型与应用 (时间序列场景) 在 AI-Ops 中,时间序列数据分析主要应用于以下场景: 指标预测: 预测 Metrics 指标 (例如 CPU 使用率、内存使用率、网络流量、请求延迟等) 的未来趋势,用于容量规划、资源调度、异常检测等。异常检测: 检…...

在Dify中访问Gemini等模型代理设置指南
问题背景 Google Gemini模型可纯免费使用,且性能也相当不错,一般个人使用或研究足够。但在在国内访问,需设置代理。在Docker部署Dify时,虽然按官方文档介绍设置代理环境变量,但实测发现并不生效。我们通过研究试验解决…...

MySQL的安装以及数据库的基本配置
MySQL的安装及配置 MySQL的下载 选择想要安装的版本,点击Download下载 Mysql官网下载地址: https://downloads.mysql.com/archives/installer/ MySQL的安装 选择是自定义安装,所以直接选择“Custom”,点击“Next” …...

设备树的组成
根节点下含有 compatile 属性的子节点 含有特定 compatile 属性的节点的子节点 如果一个节点的 compatile 属性,它的值是这 4 者之一:"simple-bus","simple-mfd","isa","arm,amba-bus", 那 么 它 的 子结点 (…...

C++入门——输入输出、缺省参数
C入门——输入输出、缺省参数 一、C标准库——命名空间 std C标准库std是一个命名空间,全称为"standard",其中包括标准模板库(STL),输入输出系统,文件系统库,智能指针与内存管理&am…...

deepseek 本地部署
deepseek 本地部署 纯新手教学,手把手5分钟带你在本地部署一个私有的deepseek,再也不用受网络影响。流畅使用deepseek!!! 如果不想看文章,指路:Deep seek R1本地部署 小白超详细教程 ࿰…...