nn.Sequential与tensorflow的Sequential对比

nn.Sequential() 是 PyTorch 深度学习框架中的一个类,用于按顺序容器化模块。nn.Sequential 是一个有序的容器,它包含多个网络层,数据会按照在构造函数中传入顺序依次通过每个层。在 nn.Sequential 中,不需要定义 forward 方法,因为当你调用它时,会按照顺序调用每个子模块。

import torch  
import torch.nn as nn  # 创建一个简单的神经网络  
model = nn.Sequential(  nn.Linear(784, 128),  # 输入层到隐藏层,784个输入节点,128个输出节点  nn.ReLU(),           # 激活函数  nn.Linear(128, 10)   # 隐藏层到输出层,128个输入节点,10个输出节点  
)  # 创建一个随机的输入张量  
input_tensor = torch.randn(1, 784)  # 将输入张量传递给模型  
output_tensor = model(input_tensor)  print(output_tensor.size())  # 输出应为 torch.Size([1, 10])
import tensorflow as tf  
from tensorflow.keras.datasets import mnist  
from tensorflow.keras.models import Sequential  
from tensorflow.keras.layers import Dense, Flatten  
from tensorflow.keras.losses import SparseCategoricalCrossentropy  
from tensorflow.keras.optimizers import Adam  # 加载MNIST数据集  
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()  # 归一化像素值到0-1之间  
train_images = train_images / 255.0  
test_images = test_images / 255.0  # 将图像的形状展平,以便可以输入到神经网络中  
train_images = train_images[..., tf.newaxis]  
test_images = test_images[..., tf.newaxis]  # 创建Sequential模型  
model = Sequential([  Flatten(input_shape=(28, 28, 1)),  # 将28x28像素的图像展平为一维张量  Dense(128, activation='relu'),      # 全连接层,128个神经元,使用ReLU激活函数  Dense(10)                           # 输出层,10个神经元(对应10个数字类别)  
])  # 编译模型  
model.compile(optimizer=Adam(),  loss=SparseCategoricalCrossentropy(from_logits=True),  metrics=['accuracy'])  # 训练模型  
model.fit(train_images, train_labels, epochs=5)  # 评估模型  
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)  print('\nTest accuracy:', test_acc)

self.conv 通常指的是类的一个属性,这个属性通常是一个卷积层(Convolutional Layer)

import torch  
import torch.nn as nn  
import torch.nn.functional as F  class SimpleCNN(nn.Module):  def __init__(self):  super(SimpleCNN, self).__init__()  # 定义一个卷积层,输入通道数为3(例如RGB图像),输出通道数为16,卷积核大小为3x3  self.conv = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)  # 可以添加其他层...  def forward(self, x):  # 在前向传播中使用卷积层  x = self.conv(x)  # 可以添加其他操作,例如激活函数、池化等...  x = F.relu(x)  # 返回处理后的输出  return x  # 创建模型实例  
model = SimpleCNN()  # 假设我们有一个输入张量 input_tensor,其形状为 [batch_size, 3, height, width]  
# 我们可以将其传递给模型进行前向传播  
output_tensor = model(input_tensor)

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

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

相关文章

C++相关概念和易错语法(7)(初始化列表、隐式类型转换、友元)

1.初始化列表 初始化列表是集成在构造函数里面的,对象在创建的时候一定会调用构造函数(就算不显式定义,也会自动生成并调用)。初始化列表就是这些对象的成员变量在创建的时候初始化的地方。 下面是使用的例子,可以先…

Prompt学习笔记(一)

提示工程是什么? 提示工程是指在使用生成式人工智能(Generative AI),如 ChatGPT、Midjourney 时,编写高效、准确的提示的过程。 大语言模型是什么? 既然要和大语言模型交流,那么我们就有必要…

香港服务器_免备案服务器有哪些正规的?企业、建站方向

香港服务器,是最受欢迎的外贸、企业建站服务器,在个人建站领域,香港服务器、香港虚拟主机都是首选的网站服务器托管方案,不仅其具备免备案的特点,而且国内外地区访问速度都很快。那么,现今2024年个人和企业…

项目如何部署

我们平常写的项目通常只能在本机上运行,要想项目能被远程访问就不得不谈到项目部署的知识,接下来我通过实际操作的操作让大家来上线一个vuespringBoot项目。 1.在windows上将vue部署到nginx服务器上 介绍nginx Nginx是一款高性能的Web服务器和反向代理服…

设计模式学习(七)——《大话设计模式》

文章目录 设计模式学习(七)——《大话设计模式》工作原理工作流程示例 工作策略模式的应用场景策略模式的优点策略模式的缺点示例代码(Python) 策略模式UML类图具体应用和使用场景支付方式选择数据压缩工具表单验证路由算法日志记…

C#语法知识之循环语句

5、循环语句 文章目录 1、while思考1 斐波那契数列思考2 判断一个数是否为质数思考3 找出100以内的质数 2、do...while3、for思考1 找水仙花数思考2 乘法表 1、while 1、作用 让代码重复去执行 2、语法相关 while(bool类型值){//当满足条件时,就会执行while语句…

【GIS教程】ArcGIS做日照分析(附练习数据下载)

我国对住宅日照标准的规定是:冬至日住宅底层日照不少于1小时或大寒日住宅层日照不少于2小时(通常以当地冬至日正午12时的太阳高度角作为依据)。因冬至日太阳高度角最低,照射范围最小,如果冬至日12:00建筑物底层能够接收到阳光,那么…

Python数据可视化库—Bokeh与Altair指南

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在数据科学和数据分析领域,数据可视化是一种强大的工具,可以帮助我们…

Docker - HelloWorld

原文地址,使用效果更佳! Docker - HelloWorld | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-helloworld.html 开始之前 在学习本小节之前,你必须确保你正确安装了 Docker,正确安装 Docker 是后续学习的…

墨子web3实时周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团,凭借其在前沿科技领域的深耕不辍,已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻,集团于今年四月末震撼推出了颠覆性的Web3全套解决方案,…

第十五届蓝桥杯题解-握手

题目大意:有50个人组成的派对,每个人都要与其他所有人进行握手,但其中有7个人之间互相不握手,求握手多少次,a与b握手即b与a握手 思路:规定前7个人互相不握手,两重for循环暴力就好 代码&#x…

java通过maven导入本地jar包的三种方式

一、引入lib下加载(加载过后打包,以后再次使用不用再次导入) 首先创建一个用于创建jar包的项目,并测试能否成功运行 讲项目打包 在需要引入的项目中创建lib目录 并把刚才打包的jar复制进去 通过dependency引入jar包 groupId、art…

读天才与算法:人脑与AI的数学思维笔记05_算法的幻觉

1. 自下而上 1.1. 代码在未来可以自主学习、适应并进行自我改进 1.2. 程序员通过编程教会计算机玩游戏,而计算机却会比教它的人玩得更好,这种输入寡而输出众的事情不大可能实现 1.3. 早在20世纪50年代,计算机科学家们就模拟该过程创造了感…

人工智能论文GPT-3(3):2020.5 Language Models are Few-Shot Learners;架构;训练数据集;开源

2.1 模型与架构 我们使用了与GPT-2相同的模型和架构,包括其中描述的改进初始化、预归一化和可逆分词技术,但有所不同的是,我们在Transformer的各层中使用了交替的密集和局部带状稀疏注意力模式,类似于Sparse Transformer 。为了研…

Flutter 的 showDialog 和 showCupertinoDialog 有什么区别?

我将我的 App 里用的 Flutter 升级到了 3.19,没想到,以前我用 showDialog 和 AlertDialog 组合创建的二次确认框,变得无敌难看了,大幅度增加了整个框的圆角和里面默认按钮的圆角。不得已,我必须修改一下,以…

算法练习|Leetcode189轮转数组 ,Leetcode56合并区间,Leetcode21合并两个有序链表,Leetcode2两数相加,sql总结

目录 一、Leetcode189轮转数组题目描述解题思路方法:切片总结 二、Leetcode56合并区间题目描述解题思路方法:总结 三、Leetcode21合并两个有序链表题目描述解题思路方法:总结 四、Leetcode2两数相加题目描述解题思路方法:总结 sql总结: 一、Leetcode189轮转数组 题目描述 给定…

dfs+剪枝,LeetCode 39. 组合总和

一、题目 1、题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 …

C++|stack-queue-priority_queue(适配器+模拟实现+仿函数)

目录 一、容器适配器 1.1容器适配器概念的介绍 1.2stack和queue的底层结构 1.3deque容器的介绍 1.3.1deque的缺陷及为何选择他作为stack和queue的底层默认实现 二、stack的介绍和使用 2.1stack的介绍 2.2stack的使用 2.3stack的模拟实现 三、queue的介绍和使用 …

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface (KCLI) execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

排序算法集合

912. 排序数组 趁着这道题总结下排序方法 1.快速排序 算法描述 1.从数列中挑出一个元素,称为"基准"(pivot), 2.重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基…