深度学习--卷积神经网络CNN原理
文章目录
- 一、CNN图像原理
- 1、了解CNN如何处理图像
- 二、CNN图像识别
- 1、画面不变性
- 2、主要表现
- 1)平移不变性
- 2)尺度不变性
- 3)旋转不变性
- 3、传统神经网络
- 1)数据预处理
- 2)特征提取
- 3)搭建神经网络模型
- 4)模型训练
- 5)模型评估和预测
- 6)缺点
- 4、卷积神经网络
- 1)如果存在稍微的变形,计算机能识别出来么?
- 2)什么是卷积?
- 3) 卷积层
- 5)卷积操作存在的问题:
- 三、卷积神经网络原理
- 1、图片经过卷积核处理
- 2、卷积神经网络系统
- 3、卷积层计算结果
- 4、池化层Pooling
- 1)池化层的作用
- 2) 常见的池化方法
- 3)池化层操作方法
- 4)最大池化的原理
- 5、全连接层
- 6、感受野
- 1)例子
- 7、卷积神经网络的多种模型
一、CNN图像原理
1、了解CNN如何处理图像
图像在计算机中是一堆按顺序排列的数字,数值为0到255。0表示最暗,255表示最亮,每个数字代表像素点的亮度或颜色值。这些数字矩阵被输入到神经网络中进行处理和学习。神经网络由多个层组成,每一层都包含一些神经元,这些神经元通过学习从输入数据中提取特征。
上图是只有黑白颜色的灰度图,而更普遍的图片表达方式是RGB颜色模型,即红、绿、蓝三原色的色光以不同的比例相加,以产生多种多样的色光。RGB颜色模型中,单个矩阵就扩展成了有序排列的三个矩阵,也可以用三维张量去理解。
其中的每一个矩阵又叫这个图片的一个channel(通道),宽, 高, 深来描述。
二、CNN图像识别
1、画面不变性
一个物体不管在画面左侧还是右侧,都会被识别为同一物体,这一特点就是不变性。
我们的目的就是希望所建立的网络可以尽可能的满足这些不变性特点。
2、主要表现
1)平移不变性
CNN对于图像中物体的平移(即位置的改变)具有一定的不变性。即使物体在图像中移动了一些,CNN仍然能够正确地识别它。这是因为CNN中的卷积层对输入图像的局部区域进行特征提取,并且在后续的池化层中进行降采样,所以即使物体移动了一点,某些特征仍然能够被正确检测到。
2)尺度不变性
CNN对于图像中物体的尺度(即大小的改变)具有一定的不变性。即使物体的大小发生变化,CNN仍然能够正确地识别它。这是因为在卷积层中使用的滤波器是局部感知场,可以检测到物体的不同尺度的特征。
3)旋转不变性
CNN对于图像中物体的旋转具有一定的不变性。即使物体发生了旋转,CNN仍然能够正确地识别它。这是因为卷积层中的滤波器能够检测到旋转不变的特征,例如边缘和纹理。
3、传统神经网络
1)数据预处理
首先,将图像数据进行预处理,包括缩放、裁剪、归一化等操作。这些操作有助于提高模型的鲁棒性和减少计算负担。
2)特征提取
将预处理后的图像数据转化为向量形式。通常使用特征提取方法,如边缘检测、颜色分布等,将图像转化为有意义的特征向量。这些特征向量可以直接作为输入数据供神经网络处理。
3)搭建神经网络模型
定义一个前馈神经网络模型。前馈神经网络由输入层、隐藏层和输出层组成。隐藏层可以包含多个层,每个层包含多个神经元。每个神经元通过权重和激活函数将上一层的输出传递给下一层。
4)模型训练
使用带有标记的训练数据集对神经网络模型进行训练。在训练过程中,通过反向传播算法计算模型参数的梯度,并使用优化算法(如随机梯度下降)更新模型参数,以使模型能够更好地拟合训练数据。
5)模型评估和预测
使用带有标记的测试数据集对训练好的模型进行评估。通过计算模型在测试数据上的准确率、精确率、召回率等指标,可以评估模型的性能和泛化能力。对于新的未知图像,将其输入训练好的模型中,通过前向传播算法计算模型的输出。输出通常是一个概率分布,表示图像属于各个类别的概率。可以选择概率最高的类别作为图像的分类结果。
6)缺点
传统神经网络在图像识别任务上的性能可能相对较弱,因为它往往难以自动地提取和学习到更高级别、更抽象的特征表示。
最好的解决办法就是用大量物体位于不同位置的数据训练,同时增加网络的隐藏层个数从而扩大网络学习这些变体的能力。
4、卷积神经网络
1)如果存在稍微的变形,计算机能识别出来么?
有上述一个标准的X图片(左侧),如何才能识别略微变形的图片X(右侧),此时可以利用一个卷积核来不停地扫描整幅原始图片中的部分内容,将图片一块一块的取出,得到原始图片的数据信息,然后再将待测试的图片以同样的方式取出,比对两幅图像中的构造来判断结果,例如下图所示:
2)什么是卷积?
对图像(不同的数据窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的【卷积】操作,也是卷积神经网络的名字来源。
首先,将这个卷积核顺序对应图片的每一个位置,将然后使其进行点乘,将相乘的结果求和得到一个值即为卷积后图片的像素点的像素值,最终内积完得到一个结果叫特征图。
3) 卷积层
对于一张彩色图像,其由三个通道的颜色构成,所以对其进行卷积操作的时候也是需要使用一个卷积核分别对每个通道的图片进行内积操作,每张图片中的一个部位和卷积核相乘后求和得到一个值,然后再将三个通道相乘得到的值相加即可得到卷积后的单个像素值,如下所示:
卷积层需要更多的卷积核来获取特征,使用同样的操作,再次得到一个新的卷积,多个卷积核做内积后得到多个结果即可表示为该图片的多个特征,即为多个特征图。
5)卷积操作存在的问题:
a. 步长stride:卷积核每次滑动的位置步长。
b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。
c. 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。
三、卷积神经网络原理
1、图片经过卷积核处理
和人眼相似,看物体先看轮廓
2、卷积神经网络系统
CNN的系统结构包括多个层级,一般包括输入层、卷积层、池化层、全连接层和输出层。
- 输入层:接收原始图像作为输入。
- 卷积层:通过应用卷积核对输入图像进行卷积操作,提取图像的特征。每个卷积层可以包含多个卷积核,每个卷积核负责提取不同的特征。
- 激活函数层:通过应用非线性的激活函数(如ReLU)来引入非线性变换,增强网络的表达能力。
- 池化层:通过减少空间维度,降低特征图的大小,同时保留主要的特征。常用的池化操作包括最大池化和平均池化。
- 全连接层:将池化层的输出连接到一个或多个全连接层,进行全局特征关联,提取更高级别的特征。
- 输出层:最后一个全连接层通常是一个softmax层,用于输出模型的预测结果。
通过反向传播算法,CNN可以从标记的训练数据中学习到最优的网络参数,以便能够准确地识别和分类图像。
3、卷积层计算结果
例如输入数据为32323的图像,用10个553的卷积核来进行操作,步长为1,边界0填充为2,结果为?
(32-5+22)/1 +1 =32,输出规模为3232*10的特征图。
4、池化层Pooling
1)池化层的作用
一种降采样,减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。
2) 常见的池化方法
最大池化、平均池化、全局平均池化、全局最大池化。
平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。
最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。是最为常见的。
通常来说,CNN的卷积层之间都会周期性地插入池化层。
3)池化层操作方法
与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。 然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。
如图由44 —> 22
4)最大池化的原理
最大池化的主要功能是压缩,却不会损坏识别结果。 这意味着卷积后的特征图中有对于识别物体不必要的冗余信息。 那么我们就反过来思考,这些“冗余”信息是如何产生的。
5、全连接层
当抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。 全连接层(也叫前馈层)就可以用来将最后的输出映射到线性可分的空间。 通常卷积网络的最后会将末端得到的长方体平摊(flatten)成一个长长的向量,并送入全连接层配合输出层进行分类。
6、感受野
感受野(Receptive Field) 是深度学习(尤其是计算机视觉任务)中的一个核心概念,用于描述神经网络中某一层特征图(Feature Map)上的一个像素点,能够“看到”输入图像中的多大区域。简单来说,它反映了网络对输入图像不同位置的感知范围。
1)例子
两层33的卷积核卷积操作之后的感受野是5 * 5,其中卷积核(filter)的步长(stride)为1、padding为0,如图:
由此可见,两层3 3卷积核操作之后的感受野是5* 5。
三层3 * 3卷积核操作之后的感受野是7 * 7,其中卷积核的步长为1,padding为0,如图:
由此可见,三层3* 3卷积核操作之后的感受野是7* 7
7、卷积神经网络的多种模型
- LeNet:第一个成功的卷积神经网络应用
- AlexNet:类似LeNet,但更深更大。使用了层叠的卷积层来抓取特征(通常是一个卷积层马上一个max pooling层)
- ZF Net:增加了中间卷积层的尺寸,让第一层的stride和filter size更小。
- GoogLeNet:减少parameters数量,最后一层用maxpooling层代替了全连接层,更重要的是Inception-v4模块的使用。
- VGGNet:只使用3x3 卷积层和2x2 pooling层从头到尾堆叠。
- ResNet:引入了跨层连接和batch normalization。
- DenseNet:将跨层连接从头进行到尾。
相关文章:
深度学习--卷积神经网络CNN原理
文章目录 一、CNN图像原理1、了解CNN如何处理图像 二、CNN图像识别1、画面不变性2、主要表现1)平移不变性2)尺度不变性3)旋转不变性 3、传统神经网络1)数据预处理2)特征提取3)搭建神经网络模型4)…...
PostgreSQL 常用客户端工具
PostgreSQL 常用客户端工具 PostgreSQL 拥有丰富的客户端工具生态系统,以下是各类常用工具的详细分类和介绍: 一 图形化客户端工具 1.1 跨平台工具 工具名称特点适用场景许可证pgAdmin官方出品,功能全面开发/运维PostgreSQLDBeaver支持多…...
PostgreSQL数据库yum方式安装详解
PostgreSQL数据库yum方式安装 1. 基础环境配置2. 前期安装准备3. 软件安装3.1 YUM方式安装(PG 13)3.1.1 安装rpm仓库3.1.2 安装软件包PG133.1.3 初始化数据库3.1.4 启动数据库3.1.5 开机自启动3.1.6 编辑环境变量 4. 安装后配置 1. 基础环境配置 2. 前期…...
浅析vue2和vue3的区别
以下是 Vue 2 和 Vue 3 的主要区别: 一、核心特性 1. 响应式机制 Vue 2: 基于 Object.defineProperty 实现响应式。无法检测对象属性的新增和删除,需要使用 Vue.set 或 $set。Vue 3: 使用 Proxy 替代 Object.defineProperty。能够直接检测对象属性的新增和删除,无需额外方…...
【Linux我做主】make和makefile自动化构建
make和makefile自动化构建 make和makefile自动化构建github地址前言背景介绍为什么需要make和makefile? make和makefile解析什么是make和makefile依赖关系和依赖方法核心语法结构简单演示编译清理 多阶段编译示例 make时执行的顺序场景1:clean目标在前(特…...
spring boot应用部署IIS
Windows IIS 部署 Spring Boot 应用详细指南 本文档提供了在 Windows Server 上使用 IIS 部署 Spring Boot 应用的完整步骤和最佳实践。 目录 概述前期准备Spring Boot 应用准备安装配置必要组件配置 IIS 站点配置反向代理配置 Windows 服务配置应用自启动HTTPS 配置日志配置…...
Linux系统之部署TestNet资产管理系统
Linux系统之部署TestNet资产管理系统 一、TestNet 介绍1.1 TestNet简介1.2 主要特点1.3 主要使用场景 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、部署TestNet系统4.1 下载T…...
@EnableAsync+@Async源码学习笔记之六
接上文,我们本文分析 AsyncExecutionAspectSupport 的源码: package org.springframework.aop.interceptor;import java.lang.reflect.Method; import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFu…...
SQL系列:常用函数
1、【MySQL】合并字段函数(列转行) 它可以将两个字段中的数据合并到一个字段中。 1)CONCAT函数 CONCAT函数可以将多个字段中的数据合并到一个字段中。它的语法格式如下: SELECT CONCAT(字段1,字段2,...字段N) FROM 表名;SELEC…...
Git 中修改某个特定的commit提交内容
在 Git 中修改某个特定的提交(commit)通常需要使用 交互式变基(Interactive Rebase) 或 修改提交(Commit Amend)。以下是不同场景下的具体操作步骤: 一、修改最近的提交(最新提交&am…...
FHS --- linux目录结构(部分目录解释)
根目录(/) 的意义和内容 : 根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关 。 由于系统开机时需要特定的开机软件、核心档案、开机所需程序…...
不带无线网卡的Linux开发板上网方法
I.MX6ULL通过网线上网 设置WLAN共享修改开发板的IP 在使用I.MX6ULL-MINI开发板学习Linux的时候,有时需要更新或者下载一些资源包,但是开发板本身是不带无线网卡或者WIFI芯片的,尝试使用网口连接笔记本,笔记本通过无线网卡连接WIFI…...
图书管理系统C语言
图书管理系统C语言代码示例。 该系统可以实现图书信息(包含图书编号、书名、作者、出版社、价格、库存数量)的录入、显示、查询、修改、删除等功能,还具备一定的错误处理和输入验证。 #include <stdio.h> #include <stdlib.h> …...
关于大型语言模型的“生物学”
我知道我们已经聊过很多次,关于LLM是怎么运作的,它们的影响力,还有它们的使用场景。但尽管现在有那么多讲LLM的文章,它们本质上还是个黑箱。 但我们真正要问自己的问题是,为什么理解这些系统的内部结构很重要…...
图像预处理-图像边缘检测(流程)
一.高斯滤波 因为图像边缘检测就是把像素值有差异的地方提取出来,所以噪声会有很大影响,因此需要对图像进行平滑处理,高斯滤波是流程中常用的方法。 二.计算图像的梯度与方向 过程中通常使用sobel算子进行梯度计算,在OpenCV中&am…...
解锁思想道德修养的奥秘:用思维导图开启智慧之旅
在我们的成长过程中,思想道德修养如同基石,奠定了我们为人处世、面对生活挑战的基本态度和准则。而如何高效地梳理和掌握思想道德修养的丰富内容呢?思维导图这一强大工具为我们提供了独特视角和便捷途径。 思想道德修养的关键板块 道德理论…...
swagger的简介及使用方法
Swagger 是一个用于描述、生成、文档化和测试 RESTful API 的开源工具集。它可以自动生成 API 文档,帮助开发者理解和使用 API。Swagger 由 Swagger.io 提供,并已经发展成了一套广泛应用于 API 设计和文档的标准。 Swagger 项目的历史可以追溯到 2010 年…...
解决Ubuntu图形化界面操作适配问题
1 缘起 使用Ubuntu GNOME图形化系统作为开发机, 遇到与Windows操作不一致的地方,比如PyCharm、IntelliJ时无法正确代码跳转, 如CtrlAltLeft,CtrlAltRight无法正常在代码级别跳转,只能在文件级别跳转。 基于这个开端&a…...
End-to-End从混沌到秩序:基于LLM的Pipeline将非结构化数据转化为知识图谱
摘要:本文介绍了一种将非结构化数据转换为知识图谱的端到端方法。通过使用大型语言模型(LLM)和一系列数据处理技术,我们能够从原始文本中自动提取结构化的知识。这一过程包括文本分块、LLM 提示设计、三元组提取、归一化与去重,最终利用 NetworkX 和 ipycytoscape 构建并可…...
使用Ingress发布应用程序
使用Ingress发布应用程序 文章目录 使用Ingress发布应用程序[toc]一、什么是Ingress二、定义Ingress三、什么是Ingress控制器四、部署nginx Ingress控制器1.了解nginx Ingress控制器的部署方式2.安装nginx Ingress控制器3.本地实际测试 五、使用Ingress对外发布应用程序1.使用D…...
llama-factory微调报错:
报错信息 [INFO] [utils.py:789:see_memory_usage] CPU Virtual Memory: used 81.51 GB, percent 64.9% W0419 10:14:27.573000 108354 site-packages/torch/distributed/elastic/multiprocessing/api.py:897] Sending process 108373 closing signal SIGTERM W0419 10:14:27…...
【LLaMAFactory】LoRa + 魔搭 微调大模型实战
前言 环境准备 之前是在colab上玩,这次在国内的环境上玩玩。 魔搭:https://www.modelscope.cn/ 现在注册,有100小时的GPU算力使用。注册好了之后: 魔搭社区 这里使用qwen2.5-7B-Instruct模型,这里后缀Instruct是指…...
【愚公系列】《Python网络爬虫从入门到精通》054-Scrapy 文件下载
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! …...
db中查询关于null的sql该怎么写
正确示例 # 等于null select * from 表名 where 字段名 is NULL; # 不等于null select * from 表名 where 字段名 is not NULL;若需要同时判断字段不等于某个值且不为null select * from users where age ! 30 and age is not null; select * from users where age ! 30 or a…...
React 文章列表
自定义hook 在src/hooks文件夹下封装 useChannel.js // 获取频道列表的逻辑 import { useEffect , useState } from "react" import { getChannelAPI } from "/apis/article"function useChannel(){// 获取频道的逻辑 const [channelList,setChannelList…...
中间件--ClickHouse-12--案例-1-日志分析和监控
1、案例背景 一家互联网公司需要实时分析其服务器日志、应用日志和用户行为日志,以快速发现潜在问题并优化系统性能。 2、需求分析 目标:实时分析日志数据,快速发现问题并优化系统性能。数据来源: 服务器日志:如 Ng…...
QML中的3D功能--自定义着色器开发
在 Qt 3D 中使用自定义着色器可以实现高度定制化的渲染效果。以下是完整的自定义着色器开发方案。 一、基础着色器创建 1. 创建自定义材质 qml import Qt3D.Core 2.15 import Qt3D.Render 2.15 import Qt3D.Extras 2.15Entity {components: [Transform { translation: Qt.v…...
如何防止接口被刷
目录 🛡️ 一、常见的防刷策略分类 🔧 二、技术实现细节 ✅ 1. 基于 IP 限流 ✅ 2. 给接口加验证码 ✅ 3. 使用 Token 限制接口访问权限 ✅ 4. 给接口加冷却时间(验证码类经典) ✅ 5. 使用滑动窗口限流算法(更精…...
18、TimeDiff论文笔记
TimeDiff **1. 背景与动机****2. 扩散模型基础****3. TimeDiff 模型****3.1 前向扩散过程****3.2 后向去噪过程** 4、TimeDiff(架构)原理训练推理其他关键点解释 DDPM(相关数学)1、正态分布2、条件概率1. **与多个条件相关**&…...
docker底层原理
一句话,dockerfile里面的一行指令,就是一个layer层 docker底层原理 在机器上安装docker服务器端的程序,就会在机器上自动创建以下目录,默认安装路径是/var/lib/ docker服务器端的工作目录的作用如下,镜像的每一层的元数…...
YOLO拓展-NMS算法
1.概述 NMS(non maximum suppression)即非极大值抑制,其本质就是搜索局部极大值,抑制非极大值元素,可以理解为局部最大搜索。 这里不讨论通用的NMS算法(参考论文《Efficient Non-Maximum Suppression》对1维和2维数据…...
Docker Swarm 容器与普通 Docker 容器的网卡差异
问题背景 在 Docker Swarm 网络空间启动的容器有两张网卡(eth0 和 eth1),而普通 Docker 容器只有一张网卡(eth0)。以下通过分析 ip addr show 和 ip link show 的输出,解释原因。 命令输出解析 Docker S…...
【Linux】线程ID、线程管理、与线程互斥
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🌐 C 语言 上篇文章: 【Linux】线程:从原理到实战,全面掌握多线程编程!-CSDN博客 下…...
服务器简介(含硬件外观接口介绍)
服务器(Server)是指提供资源、服务、数据或应用程序的计算机系统或设备。它通常比普通的个人计算机更强大、更可靠,能够长时间无间断运行,支持多个用户或客户端的请求。简单来说,服务器就是专门用来存储、管理和提供数…...
自动驾驶---决策规划之导航增强端到端
1 背景 自动驾驶算法通常包括几个子任务,包括3D物体检测、地图分割、运动预测、3D占用预测和规划。近年来,端到端方法将多个独立任务整合到多任务学习中,优化整个系统,包括中间表示,以实现最终的规划任务。随着端到端技…...
Datawhale AI春训营 世界科学智能大赛--合成生物赛道:蛋白质固有无序区域预测 小白经验总结
一、报名大赛 二、跑通baseline 在魔塔社区创建实例,根据教程完成速通第一个分数~ Datawhale-学用 AI,从此开始 三、优化实例(这里是我的学习优化过程) 1.先将官方给的的模型训练实例了解一遍(敲一敲代码) 训练模…...
基于Java(Struts2 + Hibernate + Spring)+MySQL实现的(Web)在线预约系统
基于Struts2 Hibernate Spring的在线预约系统 1.引言 1.1编写目的 针对医院在线预约挂号系统,提供详细的设计说明,包括系统的需求、功能模块、界面设计、设计方案等,以辅助开发人员顺利进行系统的开发并让项目相关者可以对这个系统进行分…...
PHP获取大文件行数
在PHP中获取大文件的行数时,直接读取整个文件到内存中可能会导致内存溢出,特别是对于非常大的文件。因此,最有效的方法是逐行读取文件并计数。以下是一些实现方法: 方法一:使用 fgets() fgets() 函数逐行读取文件&am…...
2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型? 一、8大主流Web开发语言技术对比 1. PHP开发:中小型网站的首选方案 最新版本:PHP 8.3(2023年11月发布)核心优势: 全球78%的网站…...
Win7模拟器2025中文版:重温经典,掌上电脑体验
随着科技的快速发展,现代操作系统变得越来越高级,但许多用户仍然怀念经典的Windows 7系统。如果你也想重温那种熟悉的操作体验,Win7模拟器2025中文版 是一个不错的选择。这款软件能够让你在手机上轻松实现Windows 7系统的模拟,带来…...
HTML5+CSS3小实例:CSS立方体
实例:CSS立方体 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0&q…...
使用 Vite 快速搭建现代化 React 开发环境
1.检查环境 说明:检测环境,node版本为18.20.6。 2.创建命令 说明:创建命令,选择对应的选项。 npm create vitelatest 3.安装依赖 说明:安装相关依赖。 npm i...
Linux网络编程——基于ET模式下的Reactor
一、前言 上篇文章中我们已经讲解了多路转接剩下的两个接口:poll和epoll,并且知道了epoll的两种工作模式分别是 LT模式和ET模式,下来我们就实现的是一个简洁版的 Reactor,即半同步半异步I/O,在linux网络中,…...
【现代深度学习技术】循环神经网络04:循环神经网络
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
1. 认识DartGoogle为Flutter选择了Dart语言已经是既
1. 认识Dart Google为Flutter选择了Dart语言已经是既定的事实,无论你多么想用你熟悉的语言,比如JavaScript、TypeScript、ArkTS等来开发Flutter,至少目前都是不可以的。 Dart 是由谷歌开发的计算机编程语言,它可以被应用于 Web/…...
学习设计模式《三》——适配器模式
一、基础概念 适配器模式的本质是【转换匹配,复用功能】; 适配器模式定义:将一个类的接口转换为客户希望的另外一个接口;适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式的目的:复用…...
【Java面试系列】Spring Boot微服务架构下的分布式事务处理与性能优化 - 2025-04-19详解 - 3-5年Java开发必备知识
【Java面试系列】Spring Boot微服务架构下的分布式事务处理与性能优化 - 2025-04-19详解 - 3-5年Java开发必备知识 引言 在微服务架构中,分布式事务处理和性能优化是面试中高频出现的主题。随着系统规模的扩大,如何保证数据一致性和系统性能成为开发者…...
Elasticsearch只返回指定的字段(用_source)
在Elasticsearch中,当你想要查询文档但不返回所有字段,只返回指定的字段(比如这里的id字段),你可以使用_source参数来实现这一点。但是,有一点需要注意:Elasticsearch的_source字段默认是返回的…...
【Linux “sed“ 命令详解】
本章目录: 1. 命令简介sed 的优势: 2. 命令的基本语法和用法基本语法:参数说明:常见用法场景:示例1:替换文本示例2:删除空行示例3:从命令输出中处理内容 3. 命令的常用选项及参数常用命令动作&a…...
JMETER使用
接口测试流程: 1.获取接口文档,熟悉接口业务 2.编写接口测试用例以及评审 正例:输入正常的参数,验证接口能否正常返回 反例:权限异常(为空、错误、过期)、参数异常(为空、长度异常、类型异常)、其他异常(黑名单、调用次数限制)、兼容异常(一个接口被多种…...