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

建设银行注册网站微网站免费搭建平台

建设银行注册网站,微网站免费搭建平台,做农产品的网站名称,浏览器的网站通知怎么做使用 PyTorch 实现动态输入#xff1a;支持训练和推理输入维度不一致的 CNN 和 LSTM/GRU 模型 在深度学习中#xff0c;处理不同大小的输入数据是一个常见的挑战。许多实际应用需要模型能够灵活地处理可变长度的输入。本文将介绍如何使用 PyTorch 实现支持动态输入的 CNN 和…使用 PyTorch 实现动态输入支持训练和推理输入维度不一致的 CNN 和 LSTM/GRU 模型 在深度学习中处理不同大小的输入数据是一个常见的挑战。许多实际应用需要模型能够灵活地处理可变长度的输入。本文将介绍如何使用 PyTorch 实现支持动态输入的 CNN 和 LSTM/GRU 模型并打印每一层的输入和输出。 卷积神经网络CNNCNN 通常用于处理图像数据。它通过卷积层提取局部特征并能够处理不同大小的输入图像。通过使用全局池化层CNN 可以将不同大小的特征图转换为固定大小的输出。 长短期记忆网络LSTM和门控循环单元GRULSTM 和 GRU 是处理序列数据的 RNN 变体。它们能够捕捉时间序列中的长期依赖关系并支持可变长度的输入序列。 模型搭建 1. CNN 模型 我们将构建一个简单的 CNN 模型支持动态输入大小并打印每一层的输入和输出。 import torch import torch.nn as nn import torch.nn.functional as Fclass DynamicCNN(nn.Module):def __init__(self):super(DynamicCNN, self).__init__()self.conv1 nn.Conv2d(in_channels3, out_channels16, kernel_size3)self.conv2 nn.Conv2d(in_channels16, out_channels32, kernel_size3)self.pool nn.AdaptiveAvgPool2d((1, 1)) # 自适应池化层self.fc nn.Linear(32, 10) # 输出10个类别def forward(self, x):print(fInput to CNN: {x.shape})x F.relu(self.conv1(x))print(fOutput after conv1: {x.shape})x F.relu(self.conv2(x))print(fOutput after conv2: {x.shape})x self.pool(x)print(fOutput after pooling: {x.shape})x x.view(x.size(0), -1) # 展平x self.fc(x)print(fOutput after fc: {x.shape})return x# 创建模型 cnn_model DynamicCNN()# 测试动态输入 input_tensor_cnn torch.randn(1, 3, 64, 64) # 输入形状为 (batch_size, channels, height, width) output_cnn cnn_model(input_tensor_cnn)Input to CNN: torch.Size([1, 3, 55, 64]) Output after conv1: torch.Size([1, 16, 53, 62]) Output after conv2: torch.Size([1, 32, 51, 60]) Output after pooling: torch.Size([1, 32, 1, 1]) Output after fc: torch.Size([1, 10])Input to CNN: torch.Size([1, 3, 64, 64]) Output after conv1: torch.Size([1, 16, 62, 62]) Output after conv2: torch.Size([1, 32, 60, 60]) Output after pooling: torch.Size([1, 32, 1, 1]) Output after fc: torch.Size([1, 10])2. LSTM/GRU 模型 接下来我们将构建一个支持动态输入的 LSTM 模型并打印每一层的输入和输出。 import torch import torch.nn as nnclass DynamicLSTM(nn.Module):def __init__(self):super(DynamicLSTM, self).__init__()self.lstm nn.LSTM(input_size10, hidden_size20, batch_firstTrue)self.fc nn.Linear(20, 1) # 输出一个值def forward(self, x):print(fInput to LSTM: {x.shape})x, _ self.lstm(x)print(fOutput after LSTM: {x.shape})x self.fc(x[:, -1, :]) # 取最后一个时间步的输出print(fOutput after fc: {x.shape})return x# 创建模型 lstm_model DynamicLSTM()# 测试动态输入 input_tensor_lstm torch.randn(5, 15, 10) # 输入形状为 (batch_size, seq_length, input_size) output_lstm lstm_model(input_tensor_lstm) Input to LSTM: torch.Size([5, 15, 10]) Output after LSTM: torch.Size([5, 15, 20]) Output after fc: torch.Size([5, 1])Input to LSTM: torch.Size([5, 20, 10]) Output after LSTM: torch.Size([5, 20, 20]) Output after fc: torch.Size([5, 1])代码说明 DynamicCNN该模型包含两个卷积层和一个全连接层。使用自适应平均池化层将特征图的大小调整为 (1, 1)从而支持不同大小的输入图像。每一层的输入和输出形状在前向传播中被打印出来。 DynamicLSTM该模型包含一个 LSTM 层和一个全连接层。LSTM 层能够处理可变长度的输入序列输出的形状在前向传播中被打印出来。
http://www.w-s-a.com/news/289294/

相关文章:

  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文
  • 中国建设官方网站如何创建自己的软件
  • 来宾住房与城乡建设网站天津西青区怎么样
  • 西安网站建设培训班鄂州网页定制
  • 西部数码网站备份自己怎么做网站啊
  • h5网站开发用什么软件制作公司网站建设代理怎么做