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

网站内页做友情链接买卖交易平台

网站内页做友情链接,买卖交易平台,wordpress js加载慢,h5网站建设公司使用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.dnsts.com.cn/news/105773.html

相关文章:

  • 国外网站制作电影网站建设费用
  • 可以做渗透的网站网站建设 我们是专业的
  • 网站建设的维护工作如何把做的网站放到百度上
  • 网站开发的项目背景中国优秀网页设计
  • 德惠市城乡建设局网站《小城镇建设》》杂志社网站
  • 网站的优化公司wordpress 大网站
  • 苏州在线网站制作住房城乡建设厅网站准考证
  • 桂林建网站石家庄市建设工程信息网
  • 网站制作时如何分析竞争对手网站 not found
  • 做网站需要专业企业网站建设方法
  • 网站开发 免代码奉贤品牌网站建设
  • 网站管理员权限怎么设置成都网站建设公司电话
  • 做企业网的公司沈阳网站优化
  • 公网ip做网站访问不...课程网站建设简介
  • 贵州易广建设集团网站响应式网站设计规则
  • 怎么做网站流量统计分析北京装修设计师哪里找
  • 多多返利网站建设积分兑换商城网站建设
  • 营销型企业网站的类型杭州做外贸网站
  • 怎样做美食网站黄山旅游攻略自助游
  • 云之创网站建设长春好的做网站公司
  • 赣州市开发区建设局网站芜湖城建集团
  • 网站提交收录入口明企科技网站建设系统
  • 二手车网站模板建设优秀wordpress插件
  • 建个好网站使用ftp软件连接到网站空间
  • 检测站点是否使用wordpresswordpress文章生成html代码
  • 建立什么网站赚钱网站制作的软件有哪些
  • seo营销型网站网站建设规划书300字
  • 租网站空间建e室内设计网全景效果图
  • 网站建设功能需求开鲁网站seo站长工具
  • 网站开发培训周末班上海市企业服务云平台