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

电子商务网站建设调查报告软件推广是什么工作

电子商务网站建设调查报告,软件推广是什么工作,游戏公司网站模板,西安市未央区最新消息使用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.hkea.cn/news/14266267/

相关文章:

  • 德州中文网站建设网页美工设计需求说明
  • 做化工行业网站中立建设集团有限公司网站
  • 网站开发个性化书签制作方法
  • 网站名称跟域名手帐风格wordpress主题
  • 网站建设域名注册免费河南洛阳网络公司
  • 做网站需要哪些东西wordpress固定链接
  • 网站即将 模板做网站时的尺寸
  • 网上祭奠类网站怎么做wordpress seo
  • 新手做网站看什么书盐城网页制作哪家好
  • 商务网站建设实训报告今天刚刚发生的新闻事故
  • 招标网站都有哪些家装设计图纸
  • 做视频网站需要多大的带宽美容网站模版
  • 河南建设通网站长宁专业网站制作公司
  • 盘锦企业网站建设广州网站备案
  • 如何选择五屏网站建设北京展览设计制作工厂
  • 站群系统有哪些免费网站推广网站破解版
  • 旅行社做境外购物网站wordpress小工具是什么意思
  • 在线可以做翻译的网站赣州建设网站公司
  • 汕头建网站中企动力官网登录入口
  • 为什么要建设公司网站西安建设信息网官网
  • 环评在那个网站做上海医院设计网站建设
  • 贵阳网站建设公司排行天津服务设计
  • 网站建设与制作软件优化师培训机构
  • 糗百网站开发wordpress 扣积分
  • 做网站一定要服务器吗网页浏览历史记录在哪
  • 如何自建外贸网站wordpress shop
  • wordpress开启多站点模式鹰潭市住房和城乡建设局网站
  • 重庆企业网站推广公司编程课程培训机构排名
  • 住房和城乡建设部网站证书查询wordpress如何添加菜单和数据表
  • 网加思维做网站推广wordpress主题怎么删除