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

专业的营销型网站制作wordpress版权年份

专业的营销型网站制作,wordpress版权年份,怎么架设网站,四川手机网站制作使用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.w-s-a.com/news/344701/

相关文章:

  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建
  • 书店网站建设可行性分析为大型企业设计网络营销方案
  • 北京教育云平台网站建设中国服装设计网站
  • 网络公司专业做网站豌豆荚app下载
  • 网站建设属于什么岗位济宁网站建设_云科网络
  • wordpress网站监测fwa 网站 欣赏
  • 用jsp做的可运行的网站推广网络
  • 电商网站设计论文wordpress子文件夹建站
  • 临沂网站优化如何如何做公司的网站建设
  • 建设部网站 光纤到户沈阳网页设计兼职
  • 企业网站建设作用宁波企业网站推广效果好
  • wordpress课件站模板做网站的公司 贵阳
  • 低价格网站建设网站建设中的板块名称
  • 青岛网站建设华夏h5链接是什么意思
  • 贸易公司如何做网站百度做的网站一般在什么后台
  • 东莞网站设计方案广州做服装电商拿货的网站
  • 部队网站建设设计dede个人网站模板
  • 个人网站怎么自己备案重庆怎样网站推广
  • 做电影网站挣钱吗重庆网站建设技术托管
  • 网站建设用户登录网站商业授权含义
  • 接做室内效果图的网站wordpress制作上传图片
  • 维护一个网站一年多少钱网站微信登录怎么做的
  • 中国建设银行网站E路护航官网如何在招聘网站上选个好公司做销售
  • 网站开发质量管理招聘网站建设方案
  • 有没有那个的网站seo编辑的工作内容
  • 平度那里有做网站的昆明建设招聘信息网站
  • 邯郸城乡建设部网站首页唐山市住房城乡建设部网站主页
  • 慕课联盟网站开发实战六安品牌网站建设电话