【PyTorch】神经网络的基本骨架-nn.Module的使用以及convolution-layers卷积层介绍

前提文章目录

【PyTorch】深度学习PyTorch环境配置及安装【详细清晰】
【PyTorch】深度学习PyTorch加载数据
【PyTorch】关于Tensorboard的简单使用
【PyTorch】关于Transforms的简单使用
【PyTorch】关于torchvision中的数据集以及dataloader的使用


文章目录

  • ``前提``文章目录
    • nn.Module的使用
    • convolution-layers卷积层
      • Conv2d

nn.Module的使用

nn:Neural network 神经网络
官网链接:https://pytorch.org/docs/1.8.1/nn.html
在这里插入图片描述
Containers骨架Module链接:https://pytorch.org/docs/1.8.1/generated/torch.nn.Module.html#torch.nn.Module
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序中的基本使用:
在这里插入图片描述

import torch
from torch import nn# 创建神经网络模板   debug不会进行执行 除非调用它才会进行执行
class testModel(nn.Module):def __init__(self):super().__init__()def forward(self, input):output = input + 1  # 给一个输入直接将其输出return output# 创建神经网络
testModel = testModel()   #进行debug 这是程序的开始
x = torch.tensor(1.0)
output = testModel(x)
print(output)

在这里插入图片描述

convolution-layers卷积层

convolution-layers链接:https://pytorch.org/docs/1.8.1/nn.html#convolution-layers
在这里插入图片描述

Conv2d

链接:https://pytorch.org/docs/1.8.1/nn.functional.html#conv2d
在这里插入图片描述

参数介绍:

  • input:输入
  • weight:权重。卷积核
  • bias:偏置
  • stride:卷积核移动的步长。可以是一个数字或一个元组(sH、sW)。默认值:1 。 sH、sW :控制横向的移动和控制纵向的移动
  • padding:填充
  • dilation:扩张 。内核元素之间的间距
  • groups:组别

卷积后的输出计算:
Stride步长设置:
在这里插入图片描述
用程序计算表示:

import torch
import torch.nn.functional as F# 输入数据是二维图像(2维矩阵)  看连续的([[)中括号数,有几个就是几维矩阵
input = 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]])kernel = torch.tensor([[1, 2, 1],[0, 1, 0],[2, 1, 0]])# print(input.shape)  # torch.Size([5, 5])   只有高和宽
# print(kernel.shape)  # torch.Size([3, 3])# 因为文档的输入是需要四个参数  所以这里用torch提供的尺寸变换
# 要求的是一个输入,所以放入input
# (1,1,5,5):需要变换成的样子   batch_size为1:只取一个样本; channel为1:二维灰度图  5,5: 是5x5的图像输入
input = torch.reshape(input, (1, 1, 5, 5))
kernel = torch.reshape(kernel, (1, 1, 3, 3))print(input.shape)  # torch.Size([1, 1, 5, 5])
print(kernel.shape)  # torch.Size([1, 1, 3, 3])output = F.conv2d(input, kernel, stride=1)
print(output)# 步长(步径)为2
output2 = F.conv2d(input, kernel, stride=2)
print(output2)

运行结果:
在这里插入图片描述
解释说明:
灰度图用2维矩阵表示,通道数channel为1。彩色图用3维矩阵表示,通道数为2。
在这里插入图片描述
padding填充设置:
在这里插入图片描述
程序计算:

# padding为1
output3 = F.conv2d(input, kernel, stride=1, padding=1)
print(output3)

输出结果:
在这里插入图片描述
可以看到输出结果的尺寸变大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI编程工具的力量:以AWS Toolkit与百度Comate为例,加速程序员开发效率

在当今的数字化转型浪潮中,人工智能(AI)技术不仅重塑了众多行业,也为软件开发领域带来了革命性的变化。AI编程工具,凭借其智能化的特性,正在成为程序员提高开发效率、优化代码质量和加速产品迭代的重要助力…

SQL注入(原理、分类、union、POST注入)

目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 SQL注入简介 SQL注入原理 SQL注入类型 MySQL与SQL注入的相关知识 information_schema 数据库的结构 数据库查询语句 limit的用法 需要记住的几个函数 注释符号 SQL注入探测方法 SQL注入漏洞攻击流程…

常见开发语言获取USER_AGENT,go,python,php,java,asp,-SAAS本地化及未来之窗行业应用跨平台架构

一、USER_agent 解释 USER_AGENT 是一个 HTTP 请求头字段,它包含了有关发出请求的客户端(通常是浏览器)的信息。 USER_AGENT 字符串描述了客户端的类型(如浏览器名称和版本)、操作系统、移动设备型号等详细信息。服务…

以简单的例子从头开始建spring boot web多模块项目(五)-thymeleaf引擎

继续向里面加,这次是引入thymeleaf渲染引擎。 使用这个引擎的很多,主要是以下几个优点: Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显…

Kubernetes中etcd备份与恢复

在Kubernetes (K8s) 中,etcd 是一个分布式键值存储系统,存储了整个集群的配置和状态数据。由于etcd在K8s集群中的核心作用,定期备份和有效恢复etcd数据对于维护集群的高可用性和数据完整性至关重要。 一、etcd概述 1.1 etcd的作用 etcd是一…

七牛云 CDN 视频瘦身,为视频分发「减负增效」

随着智能设备的普及,以及各种以分享视频为主的平台的兴起,人们记录生活、分享故事的方式不再局限于文字和图片,而是越来越多地通过视频来表达。视频也不再需要复杂的制作过程,变得随手可得。 然而,视频在互联网上的爆炸…

65 华为交换机CE6800基础配置

一 IPV6 使能配置思路 1 改华为交换机的名字 <huaweice65>sys Enter system view, return user view with return command. [~huaweice65]sysname HWCE6800 [*huaweice65]quit Warning: Uncommitted configurations found. Are you sure to commit them before exiting?…

抖音集团 FlinkSQL 性能优化探索及实践

本文作者&#xff1a;李精卫 更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 背景 随着抖音集团内部对流式任务的需求不断增长&#xff0c;Flink SQL作为一种低成本接入手段&#xff0c;已经在内部多个方向上得到…

K8S系列——(二)、K8S部署RocketMQ集群

1、环境准备 要将RocketMQ部署到K8S上&#xff0c;首先你需要提前准备一个K8S集群环境&#xff0c;如图我已经准备好了一个版本为 v1.28.13 的 K8S 集群&#xff08;其他版本也没问题&#xff09;&#xff1a; 角色IPMaster192.168.6.220Node-1192.168.6.221Node-2192.168.6.…

React 学习——Class类组件的基本结构

老版本的react的写法&#xff1a;是通过class类组件的 import { Component } from react; class Counter extends Component{state {count: 0,}setCount ()>{this.setState({ count: this.state.count 1 })}render(){return <button onClick{this.setCount}>{thi…

linux:进程空间的回收,exec族

父子进程的关系 子进程是父进程的副本&#xff1a;这个说法在概念上是正确的&#xff0c;但实际上&#xff0c;子进程并不是父进程的完全物理副本。在Unix和类Unix系统中&#xff0c;fork() 系统调用创建了一个与父进程几乎完全相同的子进程&#xff0c;包括环境变量、打开的文…

【Qt】输入类控件QLineEdit

目录 输入类控件QLineEdit 例子&#xff1a;录入个人信息 例子&#xff1a;使用正则表达式验证输入框的数据 例子&#xff1a;验证俩次输入密码一致 例子&#xff1a;切换显示代码 输入类控件QLineEdit QLineEdit 用来表示单行输入框&#xff0c;可以输入一段文本&#xf…

Go 文件操作基本方法大全

前言 在Go语言中&#xff0c;操作文件主要依赖于标准库中的os和io/ioutil&#xff08;注意&#xff1a;io/ioutil在Go 1.16及以后版本中被逐步弃用&#xff0c;推荐使用io和os包中的函数进行替代&#xff09;以及io和bufio等包。以下是一些基于这些基本库操作文件的方法大全&a…

Python和MATLAB谐波生成导图

&#x1f3af;要点 绘制三次谐波生成透射功率谱、对数对数图表示半导体曲面二次谐波生成&#xff0c;分析判断材料特性谐波均值估计计算边际似然&#xff08;贝叶斯统计&#xff09;二次谐波散射分析胶体染料分子结构交流电谐波波形傅立叶分析分析旋转各向异性谐波高次谐波非线…

梧桐数据库(WuTongDB):数据库技术中LL算法详解

LL 算法是一种自顶向下的语法分析算法&#xff0c;广泛用于构建解析器。LL 分析器逐个读取输入符号&#xff0c;从左到右分析&#xff08;Left-to-Right&#xff09;&#xff0c;并使用最左推导&#xff08;Leftmost Derivation&#xff09;来生成语法树。因此&#xff0c;LL 分…

appium下载及安装

下载地址&#xff1a;https://github.com/appium/appium-desktop/releases 双击安装就可以

深入学习SQL优化的第三天

目录 聚合函数 排序和分组 聚合函数 1251. 平均售价 表&#xff1a;Prices------------------------ | Column Name | Type | ------------------------ | product_id | int | | start_date | date | | end_date | date | | price | int …

桌球厅助教陪练系统源码开发和行业市场分析

台球助教陪练系统&#xff1a;引领智能化运动体验 作为一款专为台球爱好者设计的智能陪练系统&#xff0c;我们的目标是通过技术创新&#xff0c;让每位用户都能享受到个性化、高效的学习体验。无论是初学者还是寻求突破的高手&#xff0c;都能在我们的平台上找到适合自己的陪…

MybatisPlus的LambdaQueryWrapper用法

LambdaQueryWrapper<Tag> 是 MyBatis-Plus 框架中的一个功能强大的查询构造器&#xff0c;它用于构建 SQL 查询条件&#xff0c;特别是针对 Lambda 表达式的支持&#xff0c;使得代码更加简洁、类型安全。在这个例子中&#xff0c;LambdaQueryWrapper<Tag> 被用来构…

基于YOLO V8的PCB缺陷检测识别系统(python源码+Pyqt5界面+数据集+训练代码)

数据集准备&#xff1a;收集并标注PCB缺陷的图像。模型训练&#xff1a;使用YOLO v8框架训练一个模型来识别这些缺陷。GUI开发&#xff1a;利用PyQt5创建一个用户友好的图形界面。模型部署&#xff1a;在GUI中集成训练好的模型&#xff0c;使用户能够上传PCB图像并得到缺陷检测…