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

沂源网站电商网站流程

沂源网站,电商网站流程,360建筑网站,深圳网站制作公司兴田德润官网多少OPTIMIZING MODEL PARAMETERS #xff08;模型参数优化#xff09; 现在我们有了模型和数据#xff0c;是时候通过优化数据上的参数来训练了#xff0c;验证和测试我们的模型。训练一个模型是一个迭代的过程#xff0c;在每次迭代中#xff0c;模型会对输出进行猜测…OPTIMIZING MODEL PARAMETERS 模型参数优化 现在我们有了模型和数据是时候通过优化数据上的参数来训练了验证和测试我们的模型。训练一个模型是一个迭代的过程在每次迭代中模型会对输出进行猜测计算猜测数据与真实数据的误差损失收集误差对其参数的导数正如前一节我们看到的那样并使用梯度下降优化这些参数。 Prerequisite Code ( 先决代码 ) We load the code from the previous sections on import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transformstraining_data datasets.FashionMNIST(root ../../data/,train True,download True, transform transforms.ToTensor() )test_data datasets.FashionMNIST(root ../../data/,train False,download True, transform transforms.ToTensor() )train_dataloader DataLoader(training_data, batch_size 32, shuffle True) test_dataloader DataLoader(test_data, batch_size 32, shuffle True)class NeuralNetwork(nn.Module):def __init__(self):super(NeuralNetwork, self).__init__()self.flatten nn.Flatten()self.linear_relu_stack nn.Sequential(nn.Linear(28 * 28, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, 10) )def forward(self, x):out self.flatten(x)out self.linear_relu_stack(out)return outmodel NeuralNetwork()Hyperparameters ( 超参数 ) 超参数是可调节的参数允许控制模型优化过程不同的超参数会影响模型的训练和收敛速度。read more 我们定义如下的超参数进行训练 Number of Epochs: 遍历数据集的次数 Batch Size: 每一次使用的数据集大小即每一次用于训练的样本数量 Learning Rate: 每个 batch/epoch 更新模型参数的速度较小的值会导致较慢的学习速度而较大的值可能会导致训练过程中不可预测的行为例如训练抖动频繁有可能会发散等。 learning_rate 1e-3 batch_size 32 epochs 5Optimization Loop ( 优化循环 ) 我们设置完超参数后就可以利用优化循环训练和优化模型优化循环的每次迭代称为一个 epoch, 每个 epoch 包含两个主要部分 The Train Loop: 遍历训练数据集并尝试收敛到最优参数。 The Validation/Test Loop: 验证/测试循环—遍历测试数据集以检查模型性能是否得到改善。 让我们简单地熟悉一下训练循环中使用的一些概念。跳转到前面以查看优化循环的完整实现。 Loss Function ( 损失函数 ) 当给出一些训练数据时我们未经训练的网络可能不会给出正确的答案。 Loss function 衡量的是得到的结果与目标值的不相似程度是我们在训练过程中想要最小化的 Loss function。为了计算 loss 我们使用给定数据样本的输入进行预测并将其与真实的数据标签值进行比较。 常见的损失函数包括nn.MSELoss (均方误差)用于回归任务nn.NLLLoss(负对数似然)用于分类神经网络。nn.CrossEntropyLoss 结合 nn.LogSoftmax 和 nn.NLLLoss 。 我们将模型的输出 logits 传递给 nn.CrossEntropyLoss 它将规范化 logits 并计算预测误差。 # Initialize the loss function loss_fn nn.CrossEntropyLoss()Optimizer ( 优化器 ) 优化是在每个训练步骤中调整模型参数以减少模型误差的过程。优化算法定义了如何执行这个过程(在这个例子中我们使用随机梯度下降)。所有优化逻辑都封装在优化器对象中。这里我们使用 SGD 优化器; 此外PyTorch 中还有许多不同的优化器如 ADAM 和 RMSProp 它们可以更好地用于不同类型的模型和数据。 optimizer torch.optim.SGD(model.parameters(), lrlearning_rate)在训练的循环中优化分为3个步骤 调用 optimizer.zero_grad() 重置模型参数的梯度默认情况下梯度是累加的。为了防止重复计算我们在每次迭代中显式将他们归零。 通过调用 loss.backward() 反向传播预测损失 PyTorch 保存每个参数的损失梯度。 一旦我们有了梯度我们调用 optimizer.step() 在向后传递中收集梯度调整参数。 Full Implementation 完整实现 我们定义了遍历优化参数代码的 train loop, 以及根据测试数据定义了test loop。 import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transforms## 数据集 training_data datasets.FashionMNIST(root../../data/,trainTrue,downloadTrue,transformtransforms.ToTensor() )test_data datasets.FashionMNIST(root../../data/,trainFalse,downloadTrue,transformtransforms.ToTensor() )## dataloader train_dataloader DataLoader(training_data, batch_size32, shuffleTrue) test_dataloader DataLoader(test_data, batch_size32, shuffleTrue)## 定义神经网络 class NeuralNetwork(nn.Module):def __init__(self):super(NeuralNetwork, self).__init__()self.flatten nn.Flatten()self.linear_relu_stack nn.Sequential(nn.Linear(28 * 28, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, 10))def forward(self, x):out self.flatten(x)out self.linear_relu_stack(out)return out## 实例化模型 model NeuralNetwork()## 损失函数 loss_fn nn.CrossEntropyLoss()## 优化器 optimizer torch.optim.SGD(model.parameters(), lrlearning_rate)## 超参数 learning_rate 1e-3 batch_size 32 epochs 5## 训练循环 def train_loop(dataloader, model, loss_fn, optimizer):size len(dataloader.dataset)for batch, (X, y) in enumerate(dataloader):# 计算预测和损失pred model(X)loss loss_fn(pred, y)## 反向传播optimizer.zero_grad()loss.backward()optimizer.step()if batch % 100 0:loss, current loss.item(), batch * len(X)print(floss: {loss:7f} [{current:5d}/{size:5d}])## 测试循环 def test_loop(dataloader, model, loss_fn):size len(dataloader.dataset)num_batches len(dataloader)test_loss, correct 0, 0with torch.no_grad():for X, y in dataloader:pred model(X)test_loss loss_fn(pred, y).item()correct (pred.argmax(1) y).type(torch.float).sum().item()test_loss / num_batchescorrect / sizeprint(fTest error: \n Accuracy: {(100*correct):0.1f}%, Avg loss: {test_loss:8f}\n)## 训练网络 for t in range(epochs):print(fEpoch {t1}\n-------------------------------)train_loop(train_dataloader, model, loss_fn, optimizer)test_loop(test_dataloader, model, loss_fn) print(Done!)Lnton羚通专注于音视频算法、算力、云平台的高科技人工智能企业。 公司基于视频分析技术、视频智能传输技术、远程监测技术以及智能语音融合技术等 拥有多款可支持ONVIF、RTSP、GB/T28181等多协议、多路数的音视频智能分析服务器/云平台。
http://www.hkea.cn/news/14567310/

相关文章:

  • 湖南省住房城乡建设网站wordpress插件水印
  • 做企业网站需要资质吗打造爆品营销方案
  • 梅兰商贸网站开发设计苏州市建设局老网站
  • 网站里添加图片超链接怎么做甘肃肃第八建设集团网站1
  • 泰州网站制作企业wordpress系列教程 pdf
  • app介绍类网站模板工作准备区域的组成包括
  • 网站开发怎么学游戏开发网站开发
  • 放单网站做外贸一般做什么
  • 大连网站制作中企动力最有前景的代理产品
  • 合肥高端网站建设费用园林公司网站建设费用
  • 网站建设三站合一网站做微信支付宝支付
  • jsp淘宝客网站网吧服务员
  • 做印刷的网站官网排名优化方案
  • 一个网站可以设多少关键词住房公积金个人提取
  • 网站开发界面设计用什么工具深圳哪家网站建设好seo1888
  • 手机网站宽度自适应澧县住房和城乡建设局网站
  • 电子商务推广网站富阳网站建设公司
  • 公章电子版在线制作网站网站设计名称
  • 360网站收录提交入口大全销售管理系统下载
  • 外贸工艺品网站建设昌都市网站建设
  • 网站注销流程外贸网站友情链接
  • 银川建设网站公司邮箱如何注册企业邮箱
  • linux做网站1G内存够不陕西省交通建设集团公司门户网站
  • 重庆网站建设找重庆万为电子商务网站建设期末作业
  • 遵义网站建设价格贵阳好的网站建设
  • 做汽车网站销售怎么入手网站建设与开发考试
  • 用网页制作个人网站外贸平台有哪些
  • 电商网站开发常用代码微信营销策略有哪些
  • 网站建设教程特别棒湖南岚鸿权 威黑帽seo教程
  • php网站建设模板重庆沙坪坝企业网站建设联系电话