神经网络学习2
张量(Tensor)是深度学习和科学计算中的基本数据结构,用于表示多维数组。张量可以看作是一个更广义的概念,涵盖了标量、向量、矩阵以及更高维度的数据结构。具体来说,张量的维度可以是以下几种形式:
标量(0维张量):
一个单一的数值。
例如:3.0。
向量(1维张量):
一维数组,即一个数值的列表。
例如:[1.0, 2.0, 3.0]。
矩阵(2维张量):
二维数组,即一个数值的表格。
在 PyTorch 中,张量可以通过 torch.tensor 函数创建。
创建标量张量:
import torch
scalar = torch.tensor(3.0)
print(scalar) # tensor(3.0)
向量张良
vector = torch.tensor([1.0, 2.0, 3.0])
print(vector) # tensor([1., 2., 3.])
创建矩阵张量:
matrix = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
print(matrix) # tensor([[1., 2.], [3., 4.]])
张量有许多有用的属性和方法,例如:
形状(Shape)
print(matrix.shape) # torch.Size([2, 2])
数据类型(Data Type):
print(matrix.dtype) # torch.float32
设备(Device):
print(matrix.device) # 例如:cpu 或 cuda:0
torch.nn是一个实例化的使用,torch.nn.functrion是方法的使用。两个都很好用
卷积操作

卷积核:卷积核是一个小的矩阵,用于在输入数据上执行卷积操作。它的大小通常比输入数据小得多,例如 3x3、5x5 或 7x7。
滤波器:滤波器是卷积核的另一个名称,它与卷积核的功能相同。
卷积操作是将卷积核应用到输入数据的每个位置,通过滑动窗口的方式逐元素相乘并求和,生成一个新的输出值。以下是卷积操作的步骤:
将卷积核放在输入数据的一个位置上。
逐元素相乘并求和,得到一个新的输出值。
将卷积核移动到下一个位置,重复上述步骤,直到遍历整个输入数据。
卷积核的作用
特征提取:卷积核通过对局部区域的操作,可以提取不同层次的特征,例如边缘、纹理、颜色等。
参数共享:卷积核在整个输入数据上共享,使得模型参数减少,提高计算效率。
空间不变性:卷积核能够捕捉输入数据的空间特征,不受位置变化的影响。
在卷积神经网络中,通常会有多个卷积核,每个卷积核提取不同的特征。因此,卷积层的输出不仅包含空间维度(高度和宽度),还包含深度维度(通道数)。例如,一个卷积层可能有 32 个 3x3 的卷积核,输入是一个 RGB 图像(具有 3 个通道),输出将是 32 个特征图。
权重参数本来就是随机初始化,之后根据优化方法会一轮一轮的不断向最优解逼近
开始数值就是一个初始化数值,然后通过训练慢慢优化,最后得到合适的数值
注意:torchvision.transforms.ToTensor 是用于将 PIL 图像或 NumPy 数组转换为张量的,但它需要一个特定的输入格式。对于 NumPy 数组,可以直接使用 torch.tensor 进行转换。
典型的卷积神经网络期望输入是一个四维张量,形状为 (batch_size, channels, height, width)。
其中,batch_size 表示每个批次的样本数量,channels 表示输入图像的通道数(对于灰度图像通道数为 1,对于彩色图像通道数为 3),height 和 width 表示图像的高度和宽度。
下面是一个简单的卷积操作
import torch
import torch.nn.functional as F
import numpy as np
inputtensor = torch.tensor([[1, 2, 0, 3, 1],[0, 1, 2, 3, 1],[1, 2, 1, 0, 0],[5, 2, 3, 1, 1],[2, 1, 0, 1, 1]], dtype=torch.float32)
# 使用 NumPy 创建卷积核
np_kernel = np.random.randn(3, 3)# 将 NumPy 数组转换为 PyTorch 张量
kernel = torch.tensor(np_kernel, dtype=torch.float32)inputtensor=torch.reshape(inputtensor,(1,1,5,5))
kernel=torch.reshape(kernel,(1,1,3,3))
print(kernel.shape)
print(inputtensor.shape)output=F.conv2d(inputtensor,kernel,stride=1)
print(output)
output2=F.conv2d(inputtensor,kernel,stride=2)
print(output2)

padding即在输入的周围进行填充一圈再进行卷积操作,空白部分默认视为0
import torch
import torch.nn.functional as F
import numpy as np
inputtensor = torch.tensor([[1, 2, 0, 3, 1],[0, 1, 2, 3, 1],[1, 2, 1, 0, 0],[5, 2, 3, 1, 1],[2, 1, 0, 1, 1]], dtype=torch.float32)
# 使用 NumPy 创建卷积核
np_kernel = np.random.randn(3, 3)# 将 NumPy 数组转换为 PyTorch 张量
kernel = torch.tensor(np_kernel, dtype=torch.float32)inputtensor=torch.reshape(inputtensor,(1,1,5,5))
kernel=torch.reshape(kernel,(1,1,3,3))
print(kernel.shape)
print(inputtensor.shape)output=F.conv2d(inputtensor,kernel,stride=1)
print(output)
output2=F.conv2d(inputtensor,kernel,stride=2)
print(output2)
output3=F.conv2d(inputtensor,kernel,stride=1,padding=1)
print(output3)
相关文章:
神经网络学习2
张量(Tensor)是深度学习和科学计算中的基本数据结构,用于表示多维数组。张量可以看作是一个更广义的概念,涵盖了标量、向量、矩阵以及更高维度的数据结构。具体来说,张量的维度可以是以下几种形式: 标量&am…...
Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列
😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...
Android入门第69天-AndroidStudio中的Gradle使用国内镜像最强教程
背景 AndroidStudio默认连接的是dl.google的gadle仓库。 每次重新build时: 下载速度慢;等待了半天总时build faild;build到一半connection timeout;即使使用了魔法也难以一次build好;这严重影响了我们的学习、开发效率。 当前网络上的使用国内镜像的教程不全 网上的教程…...
深入浅出 Qt 中 QListView 的设计思想,并掌握大规模、高性能列表的实现方法
在大规模列表控件的显示需求中,必须解决2个问题才能获得较好的性能: 第一就是数据存在哪里, 避免出现数据的副本。第二就是如何展示Item,如何复用或避免创建大量的Item控件。 在QListView体系里,QAbstractListModel解…...
课设--学生成绩管理系统
欢迎来到 Papicatch的博客 文章目录 🍉技术核心 🍉引言 🍈标识 🍈背景 🍈项目概述 🍈 文档概述 🍉可行性分析的前提 🍈项目的要求 🍈项目的目标 🍈…...
MySQL性能分析
一、查看执行频率 sql执行频率,执行下述指令可以看到select,update,delete等操作的次数 show global status like Com_______; 具体我们在终端登录mysql看下,使用下述命令登录mysql,并输入命令 mysql -u 用户名 -p 上述查询,删…...
为什么要学习Flink系统管理及优化课程?
Flink系统是一种流式处理框架,能够高效地处理大规模数据流。然而,要确保Flink系统的正常运行,就需要进行系统管理和优化。系统管理是指对Flink集群的监控、调度和维护,而系统优化则是指通过调整参数和优化算法,提高Fli…...
把本机的bash构建到docker镜像里面
最近突发奇想,想把本机的bash放到docker镜像里面,接下来看操作。 获取bash以及依赖 [rootbogon ~]# cat get_lib_info.sh #!/bin/bash# 函数:显示帮助信息 show_help() {echo "Usage: $(basename "$0") -h -f <file>…...
【数据分析】推断统计学及Python实现
各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…...
探索交互的本质:从指令到界面的演进与Linux基础指令的深入剖析
目录 1.指令 vs 界面//选读 1.1交互的需求 满足需求的第一阶段-指令 满足需求的第二阶段-界面 1.2 指令 和 界面交互 区别 2.操作系统介绍 2.1 举例说明 驱动软件层 2.2 为什么要有操作系统? 0x03 为什么要进行指令操作? 3.Linux基本指令 l…...
uniapp vue分享功能集成
分享必须通过button设置open-type"share"拉起 <view class"img horizontal center" style"margin-right: 20rpx;"><image class"img" :src"src" click"onTapClick(xxx)" style"z-index: 1;" …...
软件工程实务:软件产品
目录 1、软件产品的基本概念 2、软件工程是什么? 为什么产生软件工程? 软件工程是做什么的? 3、定制软件和软件产品的工程比较 4 、软件产品的运行模式 5、软件产品开发时需要考虑的两个基本技术因素 6、产品愿景 7、软件产品管理 8、产品原型设计 9、小结…...
带侧边栏布局:带导航的网页
目录 任务描述 相关知识 HTML(HyperText Markup Language) CSS(Cascading Style Sheets): 编程要求 任务描述 在本关中,你的任务是创建一个带侧边栏和导航的网页布局。这种布局通常用于网站或应用程序,其中侧边栏…...
react学习-redux快速体验
1.redux是用于和react搭配使用的状态管理工具,类似于vue的vuex。redux可以不和任何框架绑定,独立使用 2.使用步骤 (1)定义一个reducer函数(根据当前想要做的修改返回一个新的状态) (2࿰…...
基于flask的网站如何使用https加密通信-问题记录
文章目录 项目场景:问题1问题描述原因分析解决步骤解决方案 问题2问题描述原因分析解决方案 参考文章 项目场景: 项目场景:基于flask的网站使用https加密通信一文中遇到的问题记录 问题1 问题描述 使用下面的命令生成自签名的SSL/TLS证书和…...
记C#优化接口速度过程
前提摘要 首先这个项目是接手的前一任先写的项目,接手后,要求对项目一些速度相对较慢的接口进行优化,到第一个速度比较慢的接口后,发现单接口耗时4-8秒,是的,请求同一个接口,在参数不变的情况下…...
windows环境如何运行python/java后台服务器进程而不显示控制台窗口
1.通常我们在windows环境下使用Java或Python语言编写服务器程序,都希望他在后台运行,不要显示黑乎乎的控制台窗口: 2.有人写了一个bat文件: cd /d D:\lottery\server && python .\main.py 放到了开机自启动里,可是开机的…...
记周末百度云防御CC攻击事件
今天一早,收到百度智能云短信提醒,一位客户的网站遭遇了CC攻击。 主机吧赶紧登陆客户网站查看,是否正常,看是否需要通知客户。 结果打开正常,看情况并没什么影响,那就等攻击结果了再看吧。 下午的时候&am…...
vue中v-bind控制class和style
当使用v-bind指令控制class和style时,可以通过动态绑定的方式根据不同的条件来添加或移除class,以及改变元素的样式。 1. 控制class 通过v-bind:class可以动态绑定class属性。可以使用对象语法、数组语法或者计算属性来实现。 对象语法:使用…...
【面试经典150题】【双指针】392. 判断子序列
题目链接 https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150 题解思路 首先如果s的长度大于t的长度,那么s肯定不是t的子序列如果s的长度等于t的长度,那么st的情况下s才是t的子序列如果s的长度小于t的长…...
SUPER COLORIZER 构建智能Agent:自动识别图像内容并匹配历史色彩方案
SUPER COLORIZER 构建智能Agent:自动识别图像内容并匹配历史色彩方案 你有没有想过,给一张黑白老照片上色,如果能像专业设计师一样,看一眼就知道该用什么色调?比如一张森林的照片,系统能自动联想到“秋日暖…...
OpenClaw自动化测试:百川2-13B驱动浏览器完成表单填写
OpenClaw自动化测试:百川2-13B驱动浏览器完成表单填写 1. 为什么选择OpenClaw做表单测试 去年我接手了一个需要频繁测试的Web项目,每次版本更新都要手动填写几十个表单字段。这种重复劳动不仅耗时,还容易因疲劳导致测试遗漏。当我发现OpenC…...
新手必看:用Cisco Packet Tracer一步步配置VLAN(附常见错误排查)
从零开始掌握Cisco Packet Tracer中的VLAN配置:完整指南与避坑手册 在计算机网络的学习和实践中,虚拟局域网(VLAN)技术是每个网络工程师必须掌握的核心技能之一。无论你是正在准备CCNA认证的学生,还是需要为企业部署网络架构的IT专业人员&…...
ES6模块系统终极指南:掌握export *语法的高效用法
ES6模块系统终极指南:掌握export *语法的高效用法 【免费下载链接】es6features Overview of ECMAScript 6 features 项目地址: https://gitcode.com/gh_mirrors/es/es6features JavaScript模块化开发从未如此简单!ECMAScript 6(ES6&a…...
“超节点”的纷争开始了
3月26日,在“2026中关村论坛年会”上,中科曙光发布世界首个无线缆箱式超节点scaleX40。其单节点集成40张GPU,总算力超过28PFLOPS(FP8精度),能够满足万亿参数大模型的训练与推理需求。产品采用标准19英寸箱式…...
开源电子书工具:如何用鸿蒙系统打造专属个性化阅读空间
开源电子书工具:如何用鸿蒙系统打造专属个性化阅读空间 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 你是否曾因阅读应用充斥广告而烦躁?是否渴望完全掌控自己的阅读体验&am…...
告别模糊概念:用ESP32 iperf例程和电脑热点,5分钟搞定无线模块压力测试
5分钟极简方案:用ESP32和电脑热点构建无线性能测试环境 在嵌入式开发中,无线模块的性能测试往往需要复杂的网络环境支持。但现实情况是,大多数开发者并不具备专业的测试设备或实验室环境。想象一下这样的场景:你正在咖啡厅调试一个…...
OpenClaw配置备份指南:GLM-4.7-Flash环境快速迁移方案
OpenClaw配置备份指南:GLM-4.7-Flash环境快速迁移方案 1. 为什么需要环境迁移? 上周我的主力开发机突然硬盘故障,导致精心配置的OpenClaw环境全部丢失。重装后发现要重新对接GLM-4.7-Flash模型、配置飞书通道、安装十几个自定义技能——这个…...
OpenClaw技能扩展指南:为百川2-13B添加公众号发布模块
OpenClaw技能扩展指南:为百川2-13B添加公众号发布模块 1. 为什么需要公众号发布技能 上周我正忙着准备一篇技术分享文章,突然意识到一个痛点:每次写完Markdown文档后,手动复制到公众号编辑器、调整格式、上传封面、设置摘要的过…...
ai结对编程实践:如何利用kimi在快马平台智能辅助完成用户认证系统开发
AI结对编程实践:如何利用Kimi在快马平台智能辅助完成用户认证系统开发 最近在开发一个需要用户认证功能的项目,后端用Node.js Express,前端用Vue。作为一个独立开发者,面对这种前后端都要兼顾的情况,我决定尝试用Kimi…...
