【深度学习-pytorch篇】5. 卷积神经网络与LLaMA分类模型
卷积神经网络与LLaMA分类模型
一、卷积操作基础
卷积是深度学习中用于提取局部特征的核心操作,特别适用于图像识别任务。
自定义二维卷积函数示例
以下函数实现了一个简化版的二维卷积:
def convolve2D(image, kernel, padding=0, strides=1):kernel = np.flipud(np.fliplr(kernel)) # 进行卷积(交叉相关)Wk, Hk = kernel.shapeW, H = image.shapeW_out = int(((W - Wk + 2 * padding) / strides) + 1)H_out = int(((H - Hk + 2 * padding) / strides) + 1)output = np.zeros((W_out, H_out))if padding != 0:padded = np.zeros((W + 2*padding, H + 2*padding))padded[padding:-padding, padding:-padding] = imageelse:padded = imagefor y in range(0, H_out):for x in range(0, W_out):region = padded[x*strides:x*strides+Wk, y*strides:y*strides+Hk]output[x, y] = np.sum(region * kernel)return output
常见滤波器(以灰度图为例)
# 水平边缘检测
horizontal_filter = np.array([[1, 1, 1],[0, 0, 0],[-1, -1, -1]
])# 垂直边缘检测
vertical_filter = np.array([[-1, 0, 1],[-1, 0, 1],[-1, 0, 1]
])# 锐化滤波器
sharpen_filter = np.array([[-1, -1, -1],[-1, 8, -1],[-1, -1, -1]
])
这些手工设计的卷积核虽然能提取部分边缘特征,但不够通用,且难以组合优化。解决方案是使用可学习的卷积核,这就是 CNN 的核心思想。
二、卷积层结构(多通道 & 多滤波器)
在 RGB 图像中,通常使用每通道分别卷积,再将其结果相加作为最终输出。
# 单个卷积核处理三通道图像
output = convolve2D(R, kernel) + convolve2D(G, kernel) + convolve2D(B, kernel)
若使用多个卷积核,可以将每组卷积结果堆叠成不同的特征图(feature maps)。
三、CNN 在 MNIST 手写数字识别上的应用
模型结构定义(基于 PyTorch)
import torch.nn as nn
import torch.nn.functional as Fclass MnistConvNet(nn.Module):def __init__(self):super().__init__()self.conv1 = nn.Conv2d(1, 32, kernel_size=7, padding=3)self.conv2 = nn.Conv2d(32, 64, kernel_size=5, padding=2)self.dropout1 = nn.Dropout2d(0.25)self.dropout2 = nn.Dropout(0.5)self.fc1 = nn.Linear(7*7*64, 128)self.fc2 = nn.Linear(128, 10)def forward(self, x):x = F.relu(self.conv1(x)) # 输出尺寸:28x28 -> 28x28x = F.max_pool2d(x, 2) # -> 14x14x = F.relu(self.conv2(x)) # -> 14x14x = F.max_pool2d(x, 2) # -> 7x7x = self.dropout1(x)x = x.view(-1, 7*7*64)x = F.relu(self.fc1(x))x = self.dropout2(x)return self.fc2(x)
四、LLaMA 模型用于序列分类(LlamaForSequenceClassification)
LLaMA 模型是基于 Transformer 的自回归语言模型。它也可以通过在顶部加上分类头来执行序列分类任务。
分类模型结构说明
from transformers import LlamaModel, LlamaPreTrainedModel
import torch.nn as nnclass LlamaForSequenceClassification(LlamaPreTrainedModel):def __init__(self, config):super().__init__(config)self.num_labels = config.num_labelsself.model = LlamaModel(config)self.score = nn.Linear(config.hidden_size, self.num_labels, bias=False)self.post_init()def forward(self, input_ids, attention_mask=None, labels=None):outputs = self.model(input_ids, attention_mask=attention_mask)hidden_states = outputs[0]last_hidden = hidden_states[:, -1, :] # 取最后一个 token 的表示logits = self.score(last_hidden)loss = Noneif labels is not None:if self.num_labels == 1:loss = nn.MSELoss()(logits.view(-1), labels.view(-1))else:loss = nn.CrossEntropyLoss()(logits.view(-1, self.num_labels), labels.view(-1))return {"loss": loss, "logits": logits}
与 LlamaForCausalLM 的区别:
功能 | LlamaForCausalLM | LlamaForSequenceClassification |
---|---|---|
输出维度 | token-level | sequence-level |
输出方式 | 每个 token 的概率分布 | 整个序列一个 logits |
应用任务 | 文本生成 | 分类、回归 |
五、总结
- 卷积操作本质是局部加权求和,可以检测边缘、角点等局部结构;
- CNN 利用可学习的卷积核自动提取多尺度多通道特征,效果远优于人工滤波器;
- LLaMA 可以通过添加一个线性头扩展为分类器,适用于文本情感分析、主题分类等任务;
- 分类版本的 LLaMA 使用的是最后一个 token 的隐状态作为语义表示。
相关文章:
【深度学习-pytorch篇】5. 卷积神经网络与LLaMA分类模型
卷积神经网络与LLaMA分类模型 一、卷积操作基础 卷积是深度学习中用于提取局部特征的核心操作,特别适用于图像识别任务。 自定义二维卷积函数示例 以下函数实现了一个简化版的二维卷积: def convolve2D(image, kernel, padding0, strides1):kernel …...
matlab全息技术中的菲涅尔仿真成像
matlab全息技术中的菲涅尔仿真成像程序。 傅里叶法(重建距离得大)/Fresnel.m , 545 傅里叶法(重建距离得大)/FresnelB.m , 548 傅里叶法(重建距离得大)/Fresnel_solution.m , 1643 傅里叶法(重…...
基于对比学习的推荐系统开发方案,使用Python在PyCharm中实现
以下是一个基于对比学习的推荐系统开发方案,使用Python在PyCharm中实现。本文将详细阐述技术原理、系统设计和完整代码实现。 基于对比学习的推荐系统开发方案 一、技术背景与原理 1.1 对比学习核心思想 对比学习(Contrastive Learning)通过最大化正样本相似度、最小化负…...

网络协议之办公室网络是怎样的?
写在前面 本文来看下办公室网络怎样的。 1:正文 如果是在一个寝室中组件一个局域网还是比较简单的,只需要一个交换机,然后大家的电脑全部连接到这个交换机上就行了,之后所有的电脑设置CIDR保证在一个局域网就可以了。但是&#…...
鸿蒙OSUniApp PWA开发实践:打造跨平台渐进式应用#三方框架 #Uniapp
UniApp PWA开发实践:打造跨平台渐进式应用 前言 在过去的一年里,我们团队一直在探索如何利用UniApp框架开发高性能的PWA应用。特别是随着鸿蒙系统的普及,我们积累了不少有价值的实践经验。本文将分享我们在开发过程中的技术选型、架构设计和…...

uni-data-picker级联选择器、fastadmin后端api
记录一个部门及部门人员选择的功能,效果如下: 组件用到了uni-ui的级联选择uni-data-picker 开发文档:uni-app官网 组件要求的数据格式如下: 后端使用的是fastadmin,需要用到fastadmin自带的tree类生成部门树 &#x…...

8天Python从入门到精通【itheima】-62~63
目录 第六章开始-62节-数据容器入门 1.学习目标 2.为什么要学习数据容器? 3.什么是Python中的数据容器 4.小节总结 63节-列表的定义语法 1.学习目标 2.为什么需要列表? 3.列表定义的基本语法 4.列表定义的基本语法-案例演示 5.列表定义的基本语…...
运维 pgsql 安装完后某次启动不了
pgsql 安装完后某次启动不了 错误 data directory "/usr/local/postgresql/data" has invalid permissions 安装成功后一直可以 后面同事敲了 chmod -R 777 /usr/local 导致不行 改到了 /usr/local/postgresql/data 权限 /usr/local/postgresql/data的权限有限…...

Linux基本指令/下
目录 1.echo、cat与printf 2. > 操作符 与 >> 操作符 3. < 操作符 4.消息传送 linux文件深入 5.文件类型 6.mv命令 7.时间相关指令 8.查找命令 9.grep命令 10.zip/unzip/tar命令 11.scp命令 12.bc命令 13.uname 指令 14.快捷键大全 15.关机/重启/睡…...

matlab中绘图函数plot
MATLAB中的plot函数:数据可视化的强大工具 引言 在科学计算和工程领域,数据可视化是理解和分析数据的关键步骤。MATLAB作为一款强大的数值计算软件,提供了丰富的绘图功能,其中plot函数是最基础、最常用的二维图形绘制工具。本文…...

在线音乐服务器测试报告
1.项目背景 此项目主要用于模拟市面上主流的音乐软件的主要功能,提高自己的开发和测试能力。此项目采用的技术栈是SpringBoot MyBatis SpringMVC Mysql实现的,为了实现简单,方便测试,此项目没有注册功能,数据提前存…...
spark-AQE/Tungsten介绍及其触发条件
目录 1、简介2、AQE(自适应查询优化)触发条件及配置3、Tungsten(钨丝计划)触发条件及配置1、简介 AQE(Adaptive Query Execution) 定义:Spark 3.0引入的自适应查询优化技术,运行时动态调整执行计划。核心能力: 动态分区合并:自动合并小分区以减少Shuffle数据量。自动…...

leetcode-hot-100 (矩阵)
1、矩阵置零 题目链接:矩阵置零 题目描述:给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 解答 方法一:使用一个二维数组 这是我看到这道题目的第一个想法&am…...
深度学习中常见的超参数对系统的影响
目录 一,学习率(Learning Rate) 1.1 学习率的本质:控制模型 “学习步伐” 的核心参数 1.2 学习率高低的具体影响:过犹不及的典型后果 1.3 学习率调整策略:3 个实用技巧 二,批次大小&#x…...

评标专家系统随机抽选 开发 Excel 中使用东方仙盟软件助理——未来之窗——仙盟创梦IDE
评标专家抽取系统是针对建设项目与采购招投标,从专家库中随机抽取参与评标专家,并自动进行语音通知的管理软件。符合《中华人民共和国招标投标法》及发改委颁布的《评标专家和评标专家库管理暂行办法》;操作简便、保密性强。 软件根据设定抽取…...
MySQL、PostgreSQL、Oracle 区别详解
MySQL、PostgreSQL、Oracle 区别详解 一、基础架构对比 1.1 数据库类型 MySQL:关系型数据库(支持NoSQL插件如MySQL Document Store)PostgreSQL:对象-关系型数据库(支持JSON等半结构化数据)Oracle:多模型数据库(关系型+文档+图+空间等)关键结论:PostgreSQL在数据类型…...

【第4章 图像与视频】4.6 结合剪辑区域来绘制图像
文章目录 前言示例 前言 本节将综合运用图像处理、离屏 canvas 以及剪辑区域等技术实现墨镜效果。 示例 主线程代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport&qu…...

【Linux】Linux文件系统详解
目录 Linux系统简介 Linux常见发行版: Linux/windows文件系统区别 Linux文件系统各个目录用途 Linux系统核心文件 系统核心配置文件 用户与环境配置文件 系统运行与日志文件 Linux文件名颜色含义 Linux文件关键信息解析 🔥个人主页 ὒ…...

IDEA使用Git进行commit提交到本地git空间后撤回到commit版本之前
一、前言 Git作为最流行和最全面的版本控制工具,非常好用,但是操作也会比SVN复杂一些。毕竟有得有失嘛,所以我选择Git,最近在工作中,一不小心吧一些无关紧要的文件commit了。还好在Push之前看到,不过就算P…...

LangChain完全指南:从入门到精通,打造AI应用开发新范式
目录 1. 引言2. LangChain 框架概述3. 架构设计与模块划分4. 核心原理深度解析5. 工作流程与执行过程6. 扩展与定制7. 性能优化策略8. 实际应用案例9. 常见问题与解决方案10. 未来发展与展望11. 总结12. 参考文献与资源 1. 引言 1.1 LangChain 简介 LangChain 是一个开源的…...
深入解析Vue.js:构建现代Web应用的高效之道
一、Vue.js 的核心设计理念 Vue.js 以渐进式框架为定位,强调轻量灵活与易上手性,允许开发者根据项目需求逐步引入核心功能或扩展模块。其核心设计遵循以下原则: 响应式数据绑定:通过数据劫持(Object.defineProperty/Proxy)和发布 - 订阅模式,实现视图与数据的自动同步,…...

VS Code / Cursor 将默认终端设置为 CMD 完整指南
文章目录 🧭 适用范围📌 背景与问题分析🛠 配置步骤1. 打开设置(settings.json)2. 添加或更新配置3. 重启终端与编辑器 💡 补充:支持多个终端配置🧯 常见问题排查✅ 总结 在 Windows…...

mybatis plus的源码无法在idea里 “download source“
下载不了源码 如下: Souces not found for com.baomidou:mybatis-plus-extension 解决方案 运行 mvn dependency:resolve -Dclassifiersources 不知道啥作用,总之对我管用,在项目根目录运行即可,即根pom.xml的位置。...

移动安全Android——客户端数据安全
本地文件权限配置 测试流程 (1)手机运行待测APP应用,adb执行命令找到APP包名 adb shell dumpsys activity top|findstr ACTIVITY (2)adb shell 进入设备,以Root权限进入/data/data/package包名目录下 c…...

Python包管理器 uv替代conda?
有人问:python的包管理器uv可以替代conda吗? 搞数据和算法的把conda当宝贝,其他的场景能替代。 Python的包管理器有很多,pip是原配,uv是后起之秀,conda则主打数据科学。 uv替代pip似乎只是时间问题了,它…...

数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握)
数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握) 前言一、什么是嵌套查询?1. 基础组成:查询块2. 嵌套的两种常见位置(1)藏在 FROM 子句里(当…...

Git仓库大文件清理指南
前言 当大文件被提交到 Git 仓库后又删除,但仓库体积仍然很大时,这是因为 Git 保留了这些文件的历史记录。要彻底清理这些文件并减小仓库体积,你需要重写 Git 历史。 注意事项 这会重写历史 - 所有协作者都需要重新克隆仓库 备份你的仓库 …...

华为OD机试真题——最小矩阵宽度(宽度最小的子矩阵)(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

苹果公司计划按年份来重命名重大的软件,将升级iOS 18软件至iOS 26
苹果公司计划从今年开始,所有苹果操作系统将统一采用年份标识,而非此前混乱的版本号体系。苹果将在6月9日的全球开发者大会上正式宣布这一变革。周三截至发稿,苹果股价震荡微涨0.46%,重回3万亿美元市值。 苹果公司正在筹划其操作…...

园区智能化集成平台汇报方案
该方案为园区智能化集成平台设计,依据《智能建筑设计标准》等 20 余项国家与行业规范,针对传统园区信息孤岛、反应滞后、经验流失、管理粗放等痛点,构建可视化智慧园区管理平台,实现大屏数据可视化、三维设备监控、智慧运维(含工单管理、巡检打卡)、能源能耗分析、AI 安防…...