当前位置: 首页 > news >正文

神经网络学习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镜像里面

最近突发奇想&#xff0c;想把本机的bash放到docker镜像里面&#xff0c;接下来看操作。 获取bash以及依赖 [rootbogon ~]# cat get_lib_info.sh #!/bin/bash# 函数&#xff1a;显示帮助信息 show_help() {echo "Usage: $(basename "$0") -h -f <file>…...

【数据分析】推断统计学及Python实现

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…...

探索交互的本质:从指令到界面的演进与Linux基础指令的深入剖析

目录 1.指令 vs 界面//选读 1.1交互的需求 满足需求的第一阶段-指令 满足需求的第二阶段-界面 1.2 指令 和 界面交互 区别 2.操作系统介绍 2.1 举例说明 驱动软件层 2.2 为什么要有操作系统&#xff1f; 0x03 为什么要进行指令操作&#xff1f; 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、软件工程是什么&#xff1f; 为什么产生软件工程? 软件工程是做什么的? 3、定制软件和软件产品的工程比较 4 、软件产品的运行模式 5、软件产品开发时需要考虑的两个基本技术因素 6、产品愿景 7、软件产品管理 8、产品原型设计 9、小结…...

带侧边栏布局:带导航的网页

目录 任务描述 相关知识 HTML(HyperText Markup Language) CSS&#xff08;Cascading Style Sheets&#xff09;&#xff1a; 编程要求 任务描述 在本关中&#xff0c;你的任务是创建一个带侧边栏和导航的网页布局。这种布局通常用于网站或应用程序&#xff0c;其中侧边栏…...

react学习-redux快速体验

1.redux是用于和react搭配使用的状态管理工具&#xff0c;类似于vue的vuex。redux可以不和任何框架绑定&#xff0c;独立使用 2.使用步骤 &#xff08;1&#xff09;定义一个reducer函数&#xff08;根据当前想要做的修改返回一个新的状态&#xff09; &#xff08;2&#xff0…...

基于flask的网站如何使用https加密通信-问题记录

文章目录 项目场景&#xff1a;问题1问题描述原因分析解决步骤解决方案 问题2问题描述原因分析解决方案 参考文章 项目场景&#xff1a; 项目场景&#xff1a;基于flask的网站使用https加密通信一文中遇到的问题记录 问题1 问题描述 使用下面的命令生成自签名的SSL/TLS证书和…...

记C#优化接口速度过程

前提摘要 首先这个项目是接手的前一任先写的项目&#xff0c;接手后&#xff0c;要求对项目一些速度相对较慢的接口进行优化&#xff0c;到第一个速度比较慢的接口后&#xff0c;发现单接口耗时4-8秒&#xff0c;是的&#xff0c;请求同一个接口&#xff0c;在参数不变的情况下…...

windows环境如何运行python/java后台服务器进程而不显示控制台窗口

1.通常我们在windows环境下使用Java或Python语言编写服务器程序&#xff0c;都希望他在后台运行&#xff0c;不要显示黑乎乎的控制台窗口&#xff1a; 2.有人写了一个bat文件: cd /d D:\lottery\server && python .\main.py 放到了开机自启动里&#xff0c;可是开机的…...

记周末百度云防御CC攻击事件

今天一早&#xff0c;收到百度智能云短信提醒&#xff0c;一位客户的网站遭遇了CC攻击。 主机吧赶紧登陆客户网站查看&#xff0c;是否正常&#xff0c;看是否需要通知客户。 结果打开正常&#xff0c;看情况并没什么影响&#xff0c;那就等攻击结果了再看吧。 下午的时候&am…...

vue中v-bind控制class和style

当使用v-bind指令控制class和style时&#xff0c;可以通过动态绑定的方式根据不同的条件来添加或移除class&#xff0c;以及改变元素的样式。 1. 控制class 通过v-bind:class可以动态绑定class属性。可以使用对象语法、数组语法或者计算属性来实现。 对象语法&#xff1a;使用…...

【面试经典150题】【双指针】392. 判断子序列

题目链接 https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150 题解思路 首先如果s的长度大于t的长度&#xff0c;那么s肯定不是t的子序列如果s的长度等于t的长度&#xff0c;那么st的情况下s才是t的子序列如果s的长度小于t的长…...

大模型数据治理终极指南:5个关键步骤实现高效生命周期管理

大模型数据治理终极指南&#xff1a;5个关键步骤实现高效生命周期管理 【免费下载链接】Foundations-of-LLMs 项目地址: https://gitcode.com/GitHub_Trending/fo/Foundations-of-LLMs 大模型数据治理是构建高质量AI系统的基石&#xff0c;对于确保模型性能、合规性和可…...

B站视频下载终极指南:DownKyi高效工具完整使用教程

B站视频下载终极指南&#xff1a;DownKyi高效工具完整使用教程 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff…...

OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现

第一章&#xff1a;OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中&#xff0c;OpenCV常被用作图像预处理的核心工具&#xff0c;但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...

石墨烯这玩意儿在COMSOL里折腾起来挺有意思的,特别是搞太赫兹和近红外的同学估计都遇到过选模型的纠结。今天咱们就聊点实战经验,顺便甩点代码片段

Comsol石墨烯二维材料。 包含太赫兹德鲁得和近红外Kubo两种模型。 共7个案例&#xff0c;包含参考文献。先说说太赫兹波段常用的德鲁得模型&#xff0c;这货相当于把石墨烯当经典等离子体处理。在COMSOL里实现时&#xff0c;关键要设置表面电流密度&#xff1a; sigma_drude (…...

Abaqus数值模拟案例研究:随机纤维分布二维RVE模型中的微观横向拉伸损伤与延性损伤评估

abaqus数值模拟案例系列-随机纤维分布二维RVE模型微观横向拉伸损伤&#xff0c;设置了周期边界&#xff0c;采用Drucker-Prager&#xff08;dp&#xff09;准则&#xff0c;Ductile-Damage延性损伤&#xff0c;界面采用cohesive单元&#xff0c;采用牵引分离方法&#xff0c;Qu…...

WiFi热图绘制工具:用Python为你的无线网络做一次“CT扫描“ [特殊字符][特殊字符]

WiFi热图绘制工具&#xff1a;用Python为你的无线网络做一次"CT扫描" &#x1f3e5;&#x1f4f6; 【免费下载链接】wifi-heat-mapper whm also known as wifi-heat-mapper is a Python library for benchmarking Wi-Fi networks and gather useful metrics that can…...

Jable视频下载终极指南:3步免费保存你喜欢的视频内容

Jable视频下载终极指南&#xff1a;3步免费保存你喜欢的视频内容 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download jable-download是一款专为Jable.tv视频平台设计的免费下载工具&#xff0c;通过Ch…...

避坑指南:Xdocreport模板制作中的5个常见错误及解决方案

Xdocreport实战避坑指南&#xff1a;模板制作中的5个高频错误与深度解决方案 在Java生态中处理动态Word文档生成时&#xff0c;Xdocreport凭借其与MS Office的无缝兼容性和模板灵活性&#xff0c;已成为企业级文档自动化的重要工具。但许多开发者在从Freemarker迁移到Xdocrepor…...

从零配置YOLOv5与RealSense D405:深度测距与目标检测的完整流程指南

从零构建YOLOv5与RealSense D405的智能视觉系统&#xff1a;深度感知与目标检测实战手册 当计算机视觉遇上深度感知&#xff0c;会碰撞出怎样的火花&#xff1f;YOLOv5作为当前最流行的实时目标检测框架&#xff0c;与Intel RealSense D405深度相机结合&#xff0c;能够为机器…...

PyTorch实战(38)——深度学习模型可解释性

PyTorch实战&#xff08;38&#xff09;——深度学习模型可解释性0. 前言1. PyTorch 模型可解释性2. 训练手写数字分类器3. 可视化模型卷积核4. 可视化特征图小结系列链接0. 前言 在本专栏中&#xff0c;我们已经构建了多种深度学习模型来完成不同任务&#xff0c;包括手写数字…...