自己做电影网站怎么赚钱seo工作室
自己做电影网站怎么赚钱,seo工作室,开发网站的好处,国家住房部和城乡建设部 网站首页torch.nn.Sequential
torch.nn.Sequential是一个容器#xff0c;利用此容器可以快速简单的搭建一个简单的神经网络。这里以搭建一个三层神经网络为例。 首先该容器的参数分别是上一层到下一层的权重、激活函数#xff0c;以此循环。 这里torch提供快速生成网络权重的方法利用此容器可以快速简单的搭建一个简单的神经网络。这里以搭建一个三层神经网络为例。 首先该容器的参数分别是上一层到下一层的权重、激活函数以此循环。 这里torch提供快速生成网络权重的方法torch.nn.Linear(input,output)参数表示的分别是输入节点数和输出节点数。方法会根据输入输出节点数自动初始化一个权重矩阵。这里以输入节点数为10输出节点数为1为例
import torch
print(torch.nn.Linear(10,1).weight)#weight输出权重输出结果为 Parameter containing: tensor([[-0.2077, -0.2672, -0.1795, -0.1366, 0.1868, -0.0780, -0.2176, -0.0796, 0.1267, 0.0697]], requires_gradTrue) 因此这里的权重可以直接使用Linear()方法随机生成。 同时还需要有激活函数。torch提供了非常多的激活函数。其中有常用的sigmoid()函数。 这里定义一个输入节点数为1输出节点数为10隐藏节点为100的神经网络为例
import torch
modeltorch.nn.Sequential(torch.nn.Linear(28*28,100),#权重torch.nn.Sigmoid(),#激活函数torch.nn.Linear(100,10),#权重torch.nn.Softmax()#激活函数)做完这些一个基本神经网络雏形出现了。 使用时只需要将输入值作为参数传入即可得到放回值
outmodel(inputs)#inputs是输入内容是tensor张量形式在神经网络训练的时候为例更新权重需要进行梯度传递。由于这里的权重封装直接使用data.add_方法很复杂这里可以使用torch提供的优化器
torch.optim
torch.optim为我们提供了大量的优化器。不同的优化器有不同的特点。这里以常用优化器Adam(parameter,lr)为例参数分别是是权重和初始学习率。 定义时将网络权重作为参数传入
optitorch.optim.Adam(model.parameters(),lr0.01)在进行训练时需要将梯度清零。目的是防止梯度累计也就是在每一次训练前进行梯度清零。方法是
opti.zero_grad()在完成一次训练输出时将损失计算后进行梯度反传。就可以使用优化器方法step。进行权重更新
loss.backward() #loss是计算出来的损失
opti.step() #权重更新以上就是基本的训练步骤。
model保存和加载
torch.nn.Sequential提供了一个方便快速定义神经网络的方式。 同时torch提供了一个保存和加载的方法。 对于一个训练好的神经网络可以使用方法save(model,‘name’)参数分别是 torch.nn.Sequential定义的容器和保存路径。该方法来保存权重和激活函数等信息。
torch.save(model,model.data) #将model保存到文件model.data中同时也提供了加载函数。使用方法load(path)参数是文件路径该方法可以直接从指定文件中读取保存的神经网络
modeltorch.load(model.data) #从文件model.data中读取一个神经网络
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89469.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!