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

科室建设网站wordpress多条件搜索插件

科室建设网站,wordpress多条件搜索插件,网站提交入口大全,如何做网站menu菜单使用RNN对MNIST手写数字进行分类。RNN和LSTM模型结构 pytorch中的LSTM的使用让人有点头晕#xff0c;这里讲述的是LSTM的模型参数的意义。 1、加载数据集 import torch import torchvision import torch.nn as nn import torchvision.transforms as transforms import torc…使用RNN对MNIST手写数字进行分类。RNN和LSTM模型结构 pytorch中的LSTM的使用让人有点头晕这里讲述的是LSTM的模型参数的意义。 1、加载数据集 import torch import torchvision import torch.nn as nn import torchvision.transforms as transforms import torch.utils.data as Data device torch.device(cuda if torch.cuda.is_available() else cpu)sequence_length 28 input_size 28 hidden_size 128 num_layers 2 num_classes 10 batch_size 128 num_epochs 2 learning_rate 0.01 train_dataset torchvision.datasets.MNIST(root./data/,trainTrue,transformtransforms.ToTensor(),downloadTrue) test_dataset torchvision.datasets.MNIST(root./data/,trainFalse,transformtransforms.ToTensor())train_loader Data.DataLoader(datasettrain_dataset,batch_sizebatch_size,shuffleTrue) test_loader Data.DataLoader(datasettest_dataset,batch_sizebatch_size) 2、构建RNN模型 input_size – 输入的特征维度 hidden_size – 隐状态的特征维度 num_layers – 层数和时序展开要区分开 bias – 如果为False那么LSTM将不会使用默认为True。 batch_first – 如果为True那么输入和输出Tensor的形状为(batch, seq, feature) dropout – 如果非零的话将会在RNN的输出上加个dropout最后一层除外。 bidirectional – 如果为True将会变成一个双向RNN默认为False 1、上面的参数来自于文档最基本的参数是input_size, hidden_size, num_layer三个。input_size输入数据向量维度在这里为28hidden_size隐藏层特征维度也是输出的特征维度这里是128num_layerslstm模块个数这里是2。 2、h0和c0的初始化维度为num_layerbatch_size, hidden_size 3、lstm的输出有out和hncn其中out.shape  torch.Size([128, 28, 128])对应batch_size时序数隐藏特征维度也就是保存了28个时序的输出特征因为做的分类所以只需要最后的输出特征。所以取出最后的输出特征进行全连接计算全连接计算的输出维度为1010分类。 4、batch_first这个参数比较特殊如果为true那么输入数据的维度为batch, seq, feature否则为seq, batch, feature 5、num_layerslstm模块个数如果有两个那么第一个模块的输出会变成第二个模块的输入。 总结构建一个LSTM模型要用到的参数输入数据的特征维度隐藏层的特征维度lstm模块个数时序的个数体现在X中, X.shape (batch_size,  时序长度 数据向量维度)。 可以理解为LSTM可以根据我们的输入来实现自动的时序匹配从而达到输入长短不同的功能。 class RNN(nn.Module):def __init__(self, input_size,hidden_size,num_layers, num_classes):super(RNN, self).__init__()self.hidden_size hidden_sizeself.num_layers num_layers#input_size - 输入特征维度#hidden_size - 隐藏状态特征维度#num_layers - 层数和时序展开要区分开lstm模块的个数#batch_first为true输入和输出的形状为batch, seq, featuretrue意为将batch_size放在第一维度否则放在第二维度self.lstm nn.LSTM(input_size,hidden_size,num_layers,batch_first True) self.fc nn.Linear(hidden_size, num_classes)def forward(self,x):#参数LSTM单元个数 batch_size 隐藏层单元个数 h0 torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device) #h0.shape (2, 128, 128)c0 torch.zeros(self.num_layers, x.size(0), self.hidden_size).to(device)#输出output : (seq_len, batch, hidden_size * num_directions)#h_n, c_n:最后一个时间步的隐藏状态和细胞状态#对out的理解维度batch, eq_len, hidden_size其中保存着每个时序对应的输出所以全连接部分只取最后一个时序的#out第一维batch_size第二维时序的个数第三维隐藏层个数所以和lstm单元的个数是无关的out,_ self.lstm(x, (h0, c0)) #shape torch.Size([128, 28, 128])out self.fc(out[:,-1,:]) #因为batch_first true所以维度顺序batch, eq_len, hidden_sizereturn out 训练部分 model RNN(input_size,hidden_size, num_layers, num_classes).to(device) print(model)#RNN( # (lstm): LSTM(28, 128, num_layers2, batch_firstTrue) # (fc): Linear(in_features128, out_features10, biasTrue) #)criterion nn.CrossEntropyLoss() optimizer torch.optim.Adam(model.parameters(), lrlearning_rate)total_step len(train_loader) for epoch in range(num_epochs):for i,(images, labels) in enumerate(train_loader):#batch_size -1, 序列长度 28 数据向量维度 28images images.reshape(-1, sequence_length, input_size).to(device)labels labels.to(device)# Forward passoutputs model(images)loss criterion(outputs, labels)# Backward and optimizeoptimizer.zero_grad()loss.backward() optimizer.step()if (i1) % 100 0:print(outputs.shape)print (Epoch [{}/{}], Step [{}/{}], Loss: {:.4f} .format(epoch1, num_epochs, i1, total_step, loss.item())) # Test the model with torch.no_grad():correct 0total 0for images, labels in test_loader:images images.reshape(-1, sequence_length, input_size).to(device)labels labels.to(device)outputs model(images)_, predicted torch.max(outputs.data, 1)total labels.size(0)correct (predicted labels).sum().item()print(Test Accuracy of the model on the 10000 test images: {} %.format(100 * correct / total))
http://www.zqtcl.cn/news/202812/

相关文章:

  • 广东佛山最新通知北京seo怎么优化
  • 浙江省通信管理局 网站备案 管理部门科技公司经营范围包括哪些
  • 网站域名备案转接入手续深圳外贸公司qc招聘
  • 湖北网站建设服务公司可以做产品推广的网站
  • 做经营性的网站备案条件wordpress删除菜单
  • js商城网站个安装wordpress
  • 想给学校社团做网站企业服务平台是做什么的
  • 网站推广渠道的类型wordpress看不到表格
  • 网站建设与推广实训报告册附近广告设计与制作门店电话
  • wordpress汉语公益网站开发使用api对seo
  • 北京网站优化前景seo网络推广专员
  • 临海网站制作工程施工合同免费版
  • 免费的黄冈网站有哪些平台wordpress 新闻发布
  • 给男票做网站表白的软件wordpress软件网站模板下载
  • 网站备案个人可以做吗dw制作一个手机网站模板
  • 如何识别一个网站是否做的好坏新河官网
  • 深圳网站建设 卓教育直播网站开发
  • 如何修改网站后台密码河南省罗山县做网站的公司
  • 个人网站免费源码大全湖南长沙新增病例最新消息
  • 途牛网站开发需求邯郸市中小学健康管理平台登录
  • 青岛商城网站开发年度关键词有哪些
  • 电商网站开发文献综述网站文案优化
  • 兼职工厂网站建设万维网的代表网站
  • 企业要建设一个网站需要多少钱网站制作的关键技术
  • 大连住房和城乡建设网站工程公司取名字大全
  • 自建网站投放广告网页设计色彩搭配
  • 网站建站公司哪家价钱合理seo优化是什么职位
  • 德州建设网站网络营销推广方式
  • 网站建设经费预算策划书河南省城乡建设厅网站
  • 校园二手网站开发与设计任务书wordpress 分类名称