卷积神经网络和深度神经网络的区别是什么?
近 6000 字长文梳理深度神经网络结构。
先来一个省流版回答:卷积神经网络(CNN)只是深度神经网络(DNN)家族中的一员,其处理数据(如图像)的核心方式是卷积操作,因此而得名。而深度神经网络不是某一种网络,而是一个统称,它可以是任何结构的神经网络,自然CNN也包含其中。原则上,只要神经网络层数达到一定数量(当然也不是固定的)都可以称作DNN。
好了,解释完了,下面进入找茬时间,请快速从下图中找到卷积神经网络。
图片来源:https://www.asimovinstitute.org/neural-network-zoo/
是不是看起来似乎都一个样,因为这些不同的神经网络本质上都是由基本的计算单元(神经元)构成的,差别主要体现在神经元之间的链接模式,神经层的安排,权重共享和局部感知域,以及数据流向等方面。
想深入了解的请往下看。
理解神经网络中的基本概念
神经元
神经元(Neuron)是人工神经网络(ANN)的基本运算单元,它模拟通过模拟生物神经元的工作方式来处理数据。下面是一个人工神经元的基本构成和工作原理:
- 输入。输入是一组原始数据(比如图像的像素值)或前一层神经元的输出,即图中的x;
- 权重和偏置。每一个输入信号都对应着一个权重(w),它的意义是觉得哪一路信号更重要(高权值),所谓的训练模型就是不断更新这些权值。偏置(b)则是传递函数中一个独立于输入值的参数。
- 传递函数。简单说就是把所有的输入信号组合称为一个输输出值,计算方式是加权之和,再加上偏置b,即图中的net_i。
- 激活函数。传递函数计算出来的输出值,还要经过一个激活函数才能成为神经元最终的输出。它的作用是引入非线性关系,使得神经网络能模拟和学习复杂的数据模式。常见的激活函数包括Sigmoid、ReLU、Tanh等
- 输出。经过激活函数处理后的值就是该神经元的输出,它将作为输入被传递给下一个神经层的神经元。
现在已经有了一个神经元,把多个这样的神经元堆叠在一起就构成了一层神经层,而多个神经层沿着纵向继续堆叠下去,就形成了深度神经网络。所谓的“深”其实就是表达神经网络的层数的规模和每层的复杂程度。
一点最典型的神经网络由输入层(1个)、隐藏层(1个或多个)和输出层构成。比如下面这个网络就包含两个隐藏层。
不同的神经网络结构就是如何设计这些神经元的运算、连接方式,不同神经层的安排,以及数据流向等等,以达到处理各种结构数据的目的。
深度神经网络DNN——MLP
一个最基本、最典型的DNN就是多层感知机(MLP),上图中这个共4层的全连接网络就是一个多层感知机。从数据流的角度看,它是一种前馈神经网络。
- 基本结构。多层感知机包含一个输入层和一个输出层,中间则是多个隐藏层,每一层由一系列神经元组成。运算方式也如同上面讲解神经元的基础运算方式相同。除此之外,它没有更特殊的结构。
- 用途。尽管结构简单,多层感知机还是可以学习输入数据和输出数据之间的复杂关系,用于分类、回归等机器学习任务。
- 局限。它在处理高维数据(如图像)或序列数据(如时间序列数据、文本等)时,相较于专门的设计的网络结构,在效率和效果上都有很大的局限。
卷积神经网络CNN
卷积神经网络是专门被设计为用来处理“网格状”结构数据的,比如图像(2D像素网格)和时序数据(时间网格)。
- 基本结构。一个典型的CNN由卷积层、池化层和全连接层组成。
图片来源:https://sites.google.com/view/cs502project/deep-learning-for-biology-a-tutorial/deep-learning-models-dnns-cnns-rnns-autoencoders
卷积层
卷积层是CNN最核心,也是让它区别于其他NNs的地方。顾名思义,卷积层是完成卷积操作。
以图像为例,其数据是2维网格状结构,卷积计算通过卷积核(kernels或filters)在2维平面上遍历来完成。
图片来源:https://towardsdatascience.com/convolutional-neural-network-1368ee2998d3
卷积核中的数值就是神经网络的权重,也就是要学习的参数,将权重与对应输入位置的值(如果是输入层就是像素值,如果是中间层就是中间层神经元的激活值)相乘,再与偏置相加,经过激活函数,便得到了对应的输出。可以看出,其实本质上跟上面介绍的神经元的计算方式相类似,也是求加权和。
相比于传统的MLP,不同之处在于:
- 局部连接。卷积操作中相邻层的神经元是局部连接的,下一层神经元的值只取决于卷积核覆盖的窗口上的值;
- 权重共享。在一个卷积层中,使用同一个卷积核对不同区域的数据进行处理。
这两个主要差别使得卷积网络具有更少的参数数量。同时因为局部连接性,CNN能有效提取图像数据中的边缘、角点等局部特征,而随着层级的深入,学到的特征则进一步反应图像的全局模式,这种逐层建立从低级到高级的特征表示使得CNN在计算机视觉任务中表现非常好。
池化层
池化层是紧跟在卷积层之后的,它是一种降采样操作,可有效降低数据维度,进而降低模型参数量;同时保证特征的空间不变性。常见的池化操作有最大池化,平均池化。如下图演示的是最大池化,即选取窗口中的最大值最为输出。池化操作是无参数化操作。
全连接层
全连接层是CNN最后的部分,经过多层的卷积+池化层,输入数据(图像)被处理为特征图(feature maps),特征图需要被flatten(展开)为一维向量,以输入给全连接层完成接下来的具体任务(如分类)。
以上就是卷积神经网络的基本结构和工作流程。简单说,它的基本思想是使用卷积操作处理局部数据,这使得它在处理具有空间结构(如图像)的数据时具有很大的优势,能从数据中有效地学习复杂的模式,具有很好的表征能力,所以在图像分类、图像检索和目标识别和检测等CV任务上表现很好。
上一轮人工智能热潮就是以2012年的AlexNet为代表的CNN引爆的,接下来几年,各种类型的CNN层出不穷,比如GoogleNet,VGG,ResNet等等。
CNN学习资源
希望深入学习卷积神经网络的,这是几个比较好的博文和课程:
- https://cs231n.github.io/convolutional-networks/
- https://towardsdatascience.com/convolutional-neural-network-1368ee2998d3
- https://d2l.ai/chapter_convolutional-neural-networks/index.html
Transformer(以及AI大模型)
如果说卷积神经网络(AlexNet为代表)引爆了上一次人工智能的发展,那么本轮(2023年开始)人工智能变革则是由Transformer引领的。
现在我们用到的GPT等最强的AI工具都是基于大语言模型的(LLM),比如GPT-4、Llama等,这些大语言模型内部的基本结构就是Transformer。
即使你不是人工智能领域的,去年这一年也一定听说过“AI大模型”这个词。这主要是因为基于AI大模型的聊天机器人(以GPT为代表)出现之后,一下子刷新了人们对AI的认知。这东西居然能这么像人,最重要的是它可以这么好用。聊天、写文章、写代码、回答各种问题、办公、搞科研、以及作图等等,很多任务都能完成,而且完成得还很好。所以过去这一年chatbot类工具已经成为最收欢迎的AI产品,而且是各行各业都受到影响。
有的时候AI大模型比网上搜索东西更好用,因为它可以定制化的生成回答,只要把自己的情况和需求描述清楚即可。就比如对于题目这个问题,如果你没有深度学习方面的专业知识,那么向ChatGPT(以及同类AI工具)提问的时候,就可以说明自己的情况,让它讲得通俗一些。下面是它的回答:
讲得还是非常清楚的。而且你可以多轮对话的方式逐步的学习更多概念,从而把问题搞清楚。当然这是非常基础的用法,现在支持图像、语音多模态的AI大模型能做的事情远远不止于此,简单来说,对于一个任务,它很擅长做0到60%的那部分,然后你去专注做剩下的它不能完成的那部分就好。如果用的好,是可以极大提升工作和学习效率的。
Transformer基本思想
说回Transformer本身,它擅长自然语言处理,在它出现之前,RNNs,LTSM等网络模型是NLP领域的常用深度学习模型。
Transformer很关键一个技术是自注意力机制,它能够有效捕捉序列信息中长距离依赖关系,相比于以往的RNNs,在处理长序列时的表现更好。
自注意力机制的另一个特点是并行计算,因此Transformer结构让模型的计算效率更高,加速训练和推理速度。
Transformer最开始应用于NLP领域的机器翻译任务,但是它的通用性很好,除了NLP领域的其他任务,经过变体,还可以用于视觉领域,如ViT(Vision Transformer)。
Transformer学习资源
深入了解Transformer,可以参考的一些资料:
- https://blog.research.google/2017/08/transformer-novel-neural-network.html,谷歌官方团队在Transformer刚出来时的一篇博客,重点关注Transformer在机器翻译领域的应用。
- https://jalammar.github.io/illustrated-transformer/,用最直观的方式可视化讲解Transformer的原理。
- https://lilianweng.github.io/posts/2020-04-07-the-transformer-family/,系统讲述Transformer家族模型。
- https://bbycroft.net/llm,一个非常牛的可视化大模型工作原理的网站,主要是感受一下什么是“大”模型。
下图可视化的是参数数量为85584的Nano-GPT模型的工作过程。
而它跟参数数量为1750亿的GPT-3比起来,画风是这样的。
上面已经提到了MLP、CNN和Transformer三种神经网络结构,当然神经网络结构远不止这些。除此之外,常见的深度神经网络结构还有AE,VAE,RNN,GAN,GNN等等。
自编码器AE
- 基本结构。自编码器是一种用于无监督学习的神经网络结构,包括编码器(Encoder)和解码器(Decoder)两个部分。目标是通过网络学习数据的压缩表示,然后再重建数据。
- 应用场景。降维,数据去噪,特征提取等。
- AE变体。自编码器有很多形式的变体,比如变分自编码器(VAE)是自编码器的一种生成式变体,它不仅学习数据表示的编码,还学习编码的分布,使其能生成新的、类似于训练数据的实例。
- 学习资料。https://www.datacamp.com/tutorial/introduction-to-autoencoders
递归神经网络RNN
递归神经网络(Recurrent Neural Network,RNN)是一种专门用来来处理序列数据的神经网络,它在nlp、时间序列分析等领域中非常有效。
- 基本结构。RNN基本思想是利用序列的时间动态性,通过维护一个隐藏状态,也就是被称为“记忆”的机制,使得新型可以在不同时间步之间进行传递,从而捕获目前为止的所有数据的信息。RNN的基本结构包括输入层、隐藏层和输出层。核心是隐藏层,每个step的隐藏层都接收当前输入和前一时间步的隐藏层输出。
- RNN变体。为了客服计算效率和长距离依赖关系等问题,RNN发展出来很多变体,如长短期记忆网络(LSTM)、门控循环单元(GRU)等。
- 应用场景。RNN应用在NLP领域较多,用于机器翻译、文本生成等,其他领域还包括时序相关的数据分析(如股票价格预测、天气预测)、视频分析以及音乐生成等。
- 学习资料。https://dennybritz.com/posts/wildml/recurrent-neural-networks-tutorial-part-1/
生成对抗网络GAN
生成对抗网络(Generative Adversarial Networks,GANs)也是引起一番浪潮的深度学习模型。GAN 是一种生成模型,通过一种“对抗”的结构学习数据模式,进而生成全新的合成数据。
- 基本结构。GAN有两个主要部分组成:生成器(Generator)和判别器(Discriminator),这两个网络在学习过程中相互对抗,从而提高各自的性能。生成器的任务是创建数据;判别器的任务是区分生成器产生的数据和真实数据。一个类比,相当于一个人生产假币,而另一个人负责鉴别假币,他们二人在不断的“学习”过程中提高各自的能力,生成器学习如何产生越来越逼真的数据,而判别器学习如何更好地区分真伪。
- 应用场景。生成对抗网络的应用非常广泛,比如图像领域用于生成风格化照片、人脸合成等;也可用于数据增强领域,对于数据有限的情况,通过生成新的数据来扩充数据集,比如医学影像;艺术创作领域,音乐合成,以及帮助艺术家创作绘画作品等。
- 学习资料。https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/
比如,还拿学习CNN来举例。假如你刚学CNN,然后看到一个卷积神经网络的参数表,不太看得懂列出参数的都代表什么意思,那么你可以直接截图上传给ChatGPT,让它帮你讲解:
当然,有的人可能说这种简单的问题还用得着问ChatGPT,那么再假设一个场景,现在需要复现这个神经网络,你同样可以让它编写代码完成这个任务。
代码+注释一分钟就搞定了,反正比我自己写快多了。它还会在结尾提醒框架版本变化可能带来的问题。其实如果出现问题,就相关的bug向它提问,大多数情况下也能很快解决。
这个就是AI大模型工具在学习或工作过程中可能提供帮助的地方,它擅长于根据你的具体需求生成定制化的回答,就像有一个私人助手和老师在旁边,有啥问题都可以问。
总之学习AI之前,先拥抱AI准没错。
卷积神经网络+深度神经网络+人工智能学习路线图 籽料包都整理打包好了

相关文章:
卷积神经网络和深度神经网络的区别是什么?
近 6000 字长文梳理深度神经网络结构。 先来一个省流版回答:卷积神经网络(CNN)只是深度神经网络(DNN)家族中的一员,其处理数据(如图像)的核心方式是卷积操作,因此而得名…...
C#语言中 (元,组) 的发展史
C# 中的元组(Tuple)详解 元组(Tuple)是 C# 中的一种数据结构,用于将多个不同类型的值组合成一个复合值。元组在 C# 7.0 中得到了重大改进,提供了更简洁的语法和更好的性能。 1. 元组的基本概念 元组允许你将多个值组合成一个单…...
Apollo学习——planning模块(3)之planning_base
planning_component、planning_base、on_lane_planning 和 navi_planning 的关系 1. 模块关系总览 继承层次 PlanningComponent:Cyber RT 框架中的 入口组件,负责调度规划模块的输入输出和管理生命周期。PlanningBase:规划算法的 抽象基类&…...
【SPIN】PROMELA语言编程入门基础语法(SPIN学习系列--1)
PROMELA(Protocol Meta Language)是一种用于描述和验证并发系统的形式化建模语言,主要与SPIN(Simple Promela Interpreter)模型检查器配合使用。本教程将基于JSPIN(SPIN的Java图形化版本)&#…...
Linux --systemctl损坏
systemctlSegmentation fault (core dumped) 提示这个 Ubuntu/Debian sudo apt-get update sudo apt-get --reinstall install systemdCentOS/RHEL sudo yum reinstall systemd # 或 CentOS 8 / RHEL 8 sudo dnf reinstall systemd...
Vue3+ElementPlus 开箱即用后台管理系统,支持白天黑夜主题切换,通用管理组件,
Vue3ElementPlus后台管理系统,支持白天黑夜主题切换,专为教育管理场景设计。主要功能包括用户管理(管理员、教师、学生)、课件资源管理(课件列表、下载中心)和数据统计(使用情况、教学效率等&am…...
Seata源码—3.全局事务注解扫描器的初始化二
大纲 1.全局事务注解扫描器继承的父类与实现的接口 2.全局事务注解扫描器的核心变量 3.Spring容器初始化后初始化Seata客户端的源码 4.TM全局事务管理器客户端初始化的源码 5.TM组件的Netty网络通信客户端初始化源码 6.Seata框架的SPI动态扩展机制源码 7.向Seata客户端注…...
Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七)
Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七) 在 Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(六)-CSDN博客 的基础上改进,主要是…...
快速搭建一个electron-vite项目
1. 初始化项目 在命令行中运行以下命令 npm create quick-start/electronlatest也可以通过附加命令行选项直接指定项目名称和你想要使用的模版。例如,要构建一个 Electron Vue 项目,运行: # npm 7,需要添加额外的 --: npm cre…...
Python网络请求利器:urllib库深度解析
一、urllib库概述 urllib是Python内置的HTTP请求库,无需额外安装即可使用。它由四个核心模块构成: urllib.request:发起HTTP请求的核心模块urllib.error:处理请求异常(如404、超时等)…...
2025认证杯第二阶段数学建模B题:谣言在社交网络上的传播思路+模型+代码
2025认证杯数学建模第二阶段思路模型代码,详细内容见文末名片 一、引言 在当今数字化时代,社交网络已然成为人们生活中不可或缺的一部分。信息在社交网络上的传播速度犹如闪电,瞬间就能触及大量用户。然而,这也为谣言的滋生和扩…...
IP地址、端口、TCP介绍、socket介绍、程序中socket管理
1、IP地址:IP 地址就是 标识网络中设备的一个地址,好比现实生活中的家庭地址。IP 地址的作用是 标识网络中唯一的一台设备的,也就是说通过IP地址能够找到网络中某台设备。 2、端口:代表不同的进程,如下图: 3、socket:…...
leetcode0621. 任务调度器-medium
1 题目:任务调度器 官方标定难度:中 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表,用字母 A 到 Z 表示,以及一个冷却时间 n。每个周期或时间间隔允许完成一项任务。任务可以按任何顺序完成,但有一个限制…...
中小型培训机构都用什么教务管理系统?
在教育培训行业快速发展的今天,中小型培训机构面临着学员管理复杂、课程体系多样化、教学效果难以量化等挑战。一个高效的教务管理系统已成为机构运营的核心支撑。本文将深入分析当前市场上适用于中小型培训机构的教务管理系统,重点介绍爱耕云这一专业解…...
centos7 基于yolov10的推理程序环境搭建
这篇文章的前提是系统显卡驱动已经安装 安装步骤参照前一篇文章centos7安装NVIDIA显卡 安装Anaconda 下载地址anaconda.com 需要注册账号获取下载地址 wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh赋予权限 chmod ax Anaconda3-2024.10-1-…...
Web GIS可视化地图框架Leaflet、OpenLayers、Mapbox、Cesium、ArcGis for JavaScript
Mapbox、OpenLayers、Leaflet、ArcGIS for JavaScript和Cesium是五种常用的Web GIS地图框架,它们各有优缺点,适用于不同的场景。还有常见的3d库和高德地图、百度地图。 1. Mapbox 官网Mapbox Gl JS案列:https://docs.mapbox.com/mapbox-gl-…...
Kafka如何实现高性能
Kafka如何实现高性能 Kafka之所以能成为高性能消息系统的标杆,是通过多层次的架构设计和优化实现的。 一、存储层优化 1. 顺序I/O设计 日志结构存储:所有消息追加写入,避免磁盘随机写分段日志:将日志分为多个Segment文件&…...
如何通过partclone克隆Ubuntu 22系统
如何通过partclone克隆Ubuntu 22系统 一. 背景知识:为什么要克隆系统?二. 准备工作详解2.1 选择工具:为什么是partclone?2.2 制作定制化ISO的深层原因 三. 详细操作步骤3.1 环境准备阶段3.2 ISO改造关键步骤3.3 启动到Live环境3.4…...
语义化路径是什么意思,举例说明
下面的java代码输出结果是/a/b/../c/./a.txt/a/c/a.txt,语义化路径是什么意思呢?代码如下所示: import org.springframework.util.StringUtils; public class StringUtilsTest { /** 字符串处理 */ Test public void …...
Dockerfile构建镜像
Dockerfile 构建镜像 # 使用本地已下载的 java:8-alpine 镜像作为基础镜像 FROM java:8-alpine# 设置工作目录 WORKDIR /home/www/shop# 复制 JAR 文件到容器中 COPY ./fkshop-build.jar /home/www/shop/fkshop-build.jar# 复制配置文件(如果需要) COPY…...
vue3.0的name属性插件——vite-plugin-vue-setup-extend
安装 这个由于是在开发环境下的一个插件 帮助我们支持name属性 所以需要是-D npm i vite-plugin-vue-setup-extend -D在pasckjson中无法注释每个插件的用处 可以在vscode中下载一个JsonComments这样可以在json中添加注释方便日后维护和查阅API 引入 在vite.config.js中 im…...
gRPC为什么高性能
gRPC 之所以具备高性能的特性,主要得益于其底层设计中的多项关键技术优化。以下从协议、序列化、传输机制、并发模型等方面详细解析其高性能的原因: 1. 基于 HTTP/2 协议的核心优势 HTTP/2 是 gRPC 的传输基础,相较于 HTTP/1.x,它通过以下机制显著提升了效率: 多路复用(…...
进度管理高分论文
2022年,xx县开展紧密型县域医共体建设,将全县县、镇两级医疗机构组建成2家医共体,要求医共体内部实行行政、人员、财务、业务、信息、绩效、药械“七统一”管理。但是卫生系统整体信息化水平较低,业务系统互不相通,运营…...
每日算法刷题计划Day7 5.15:leetcode滑动窗口4道题,用时1h
一.定长滑动窗口 【套路】教你解决定长滑窗!适用于所有定长滑窗题目! 模版套路 1.题目描述 1.计算所有长度恰好为 k 的子串中,最多可以包含多少个元音字母 2.找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。 3.…...
C++核心编程--1 内存分区模型
C程序执行时,内存可以划分为4部分 代码区:存放函数体的二进制代码 全局区:存放全局变量、静态变量、常量 栈区:局部变量、函数参数值,编译器自动分配和释放 堆区:程序员自己分配和释放 1.1 程序运行前…...
产品更新丨谷云科技 iPaaS 集成平台 V7.5 版本发布
五月,谷云科技 iPaaS 集成平台保持月度更新, V7.5 版本于近日正式发布。我们一起来看看新版本有哪些升级和优化。 核心新增功能:深化API治理,释放连接价值 API网关:全链路可控,精准管控业务状态 业务状态…...
【AI论文】对抗性后期训练快速文本到音频生成
摘要:文本到音频系统虽然性能不断提高,但在推理时速度很慢,因此对于许多创意应用来说,它们的延迟是不切实际的。 我们提出了对抗相对对比(ARC)后训练,这是第一个不基于蒸馏的扩散/流模型的对抗加…...
欧拉计划 Project Euler 73(分数有范围计数)题解
欧拉计划 Project Euler 73 题解 题干分数有范围计数 思路code 题干 分数有范围计数 考虑形如 n d \frac{n}{d} dn的分数,其中 n n n和 d d d均为正整数。如果 n < d n<d n<d且其最大公约数为1,则称该分数为最简真分数。 将所有 d ≤ 8 d\l…...
Quic如何实现udp可靠传输
QUIC(Quick UDP Internet Connections)是由 Google 设计并被 IETF 标准化的传输层协议,它基于 UDP 实现,但提供了类似 TCP 的可靠性和更高级的功能(如多路复用、0-RTT 握手、TLS 加密等)。 尽管 UDP 是不可…...
本地文件操作 MCP (多通道处理) 使用案例
## 概述 文件操作 MCP (Multi-Channel Processing) 是一种用于高效处理本地文件的框架和库,它提供了并行处理、批量操作、监控和异常处理等功能。通过多通道架构,MCP 能够显著提高大规模文件操作的效率,特别适用于需要处理大量文件或大型文件…...
Blender 入门教程(三):骨骼绑定
一、前言 不知道大家有没有玩过一些单机游戏的 Mod,比如《侠盗猎车》里主角变成奥特曼,各种新能源汽车乱入等等。 这些都是别人对原有模型就行修改换皮,并重新绑定骨骼完成的,所以如果会了骨骼绑定后,你也就可以自己…...
Java 异常处理之 BufferOverflowException(BufferOverflowException 概述、常见发生场景、避免策略)
一、BufferOverflowException 概述 BufferOverflowException 是 Java NIO 包中的一个运行时异常,是 RuntimeException 的子类 public class BufferOverflowException extends RuntimeException {... }# 继承关系java.lang.Object-> java.lang.Throwable-> j…...
密码学实验:凯撒密码
密码学实验:凯撒密码 一、实验目的 掌握凯撒密码的数学原理:理解字符移位与模运算的结合,实现加解密算法。理解暴力破解本质:通过穷举有限密钥空间,掌握利用语言特征破解密文的方法。编程实践:用Python实…...
C40-指针
一 指针的引入 什么是指针:指针是一个变量,其值是另一个变量的内存地址 简单的使用地址输出一个变量: 代码示例 #include <stdio.h> int main() {int a10;printf("a的地址是:%p\n",&a);printf("a%d\n",*(&a)); //*号是取值运算符…...
Cloudflare防火墙拦截谷歌爬虫|导致收录失败怎么解决?
许多站长发现网站突然从谷歌搜索结果中“消失”,背后很可能是Cloudflare防火墙误拦截了谷歌爬虫(Googlebot),导致搜索引擎无法正常抓取页面。 由于Cloudflare默认的防护规则较为严格,尤其是针对高频访问的爬虫IP&…...
3.3 掌握RDD分区
本实战任务旨在掌握Spark RDD 的分区操作,包括理解 RDD 分区的概念、作用、分区数量的确定原则以及如何通过自定义分区器来优化数据处理。通过创建一个 Maven 项目并编写 Scala 代码,实现了一个自定义的科目分区器 SubjectPartitioner,该分区…...
以项目的方式学QT开发(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
API 描述 函数原型 参数说明 push_back() 在 list 尾部 添加一个元素 void push_back(const T& value); value :要添 加到尾部的元 素 这个示例演示了如何创建 std::list 容器,并对其进行插入、删除和迭代操作。在实际应用中&am…...
linux备份与同步工具rsync
版权声明:原创作品,请勿转载! 文章目录 版权声明:原创作品,请勿转载! 实验环境介绍: 1.工具介绍 2.详细介绍 2.1 本地模式(用得少) 2.2 远程模式 2.3 守护进程模式…...
Ascend的aclgraph(九)AclConcreteGraph:e2e执行aclgraph
1回顾 前面的几章内容探讨了aclgraph运行过程中的涉及到的关键模块和技术。本章节将前面涉及到的模块串联起来,对aclgraph形成一个端到端的了解。 先给出端到端运行的代码,如下: import torch import torch_npu import torchair import log…...
2025 OceanBase 开发者大会全议程指南
5 月 17 日,第三届 OceanBase 开发者大会将在广州举办。 我们邀请数据库领军者与AI实践先锋,与开发者一起探讨数据库与 AI 协同创新的技术趋势,面对面交流 OceanBase 在 TP、AP、KV 及 AI 能力上的最新进展,深度体验“打破技术栈…...
【深度学习之四】知识蒸馏综述提炼
知识蒸馏综述提炼 目录 知识蒸馏综述提炼 前言 参考文献 一、什么是知识蒸馏? 二、为什么要知识蒸馏? 三、一点点理论 四、知识蒸馏代码 总结 前言 知识蒸馏作为一种新兴的、通用的模型压缩和迁移学习架构,在最近几年展现出蓬勃的活力…...
Java大师成长计划之第23天:Spring生态与微服务架构之服务发现与注册中心
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4-turbo模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在微服务架构中,服务发现…...
list简单模拟实现
成员变量迭代器(重点)ListIterator运算符重载begin、end 插入、删除inserterase头插、尾插、头删、尾删 operator->const_iterator拷贝构造operator析构函数完整代码 由于前面已经模拟实现了vector,所以这里关于一些函数实现就不会讲的过于…...
undefined reference to `typeinfo for DeviceAllocator‘
出现“undefined reference to typeinfo”链接错误的原因及解决方法如下: class DeviceAllocator { public:explicit DeviceAllocator(DeviceType device_type){};virtual void* allocate(size_t n) 0;virtual void deallocate(void* p) 0;~DeviceAllocator() d…...
动态规划问题 -- 多状态模型(买股票的最佳时机II)
目录 动态规划分析问题五步曲题目概述利用状态机推导状态转移方程式代码编写 动态规划分析问题五步曲 不清楚动态规划分析问题是哪关键的五步的少年们可以移步到 链接: 动态规划算法基础 这篇文章非常详细的介绍了动态规划算法是如何分析和解决问题的 题目概述 链接: 买股票的最…...
【落羽的落羽 C++】进一步认识模板
文章目录 一、非类型模板参数二、模板的特化1. 函数模板特化2. 类模板特化 三、模板的编译分离 一、非类型模板参数 模板参数可以分为类型参数和非类型参数。我们之前使用的都是类型参数,即出现在模板参数列表中,跟在class或typename之类的参数类型名称…...
Java爬虫能处理京东商品数据吗?
Java爬虫完全可以处理京东商品数据。通过Java爬虫技术,可以高效地获取京东商品的详细信息,包括商品名称、价格、图片、描述等。这些信息对于市场分析、选品上架、库存管理和价格策略制定等方面具有重要价值。以下是一个完整的Java爬虫示例,展…...
#跟着若城学鸿蒙# web篇-初探
前言 先看下官方介绍,这里总结了比较重要的几点Web组件基础:加载与渲染网页全面解析Web组件是现代应用开发中不可或缺的重要元素,它允许开发者在原生应用中无缝集成Web内容。本文将全面介绍Web组件的基本功能,包括多种内容加载方…...
Top-p采样:解锁语言模型的创意之门
Top - p采样 是什么:核采样:排序,累计到0.7,随机选择 在自然语言生成和大规模语言模型推理中,Top - p采样(又叫核采样,Nucleus Sampling)是一种基于累积概率的采样策略。 Top - p介…...
周赛好题推荐
这周周赛很有质量的,上了一个很有意思的数学题目,推了半天..... 给定一个区间[l,r],求出区间内所有满足x mod 2^i !k的所有正整数(最后全部进行异或) 首先我们不妨先算出[l,r]区间所有数字的异或,然后在算…...