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

怎么向百度提交网站wordpress下载破解版

怎么向百度提交网站,wordpress下载破解版,做国外衣服的网站,邢台网站建设服务周到在深度学习的实际应用中#xff0c;很少会去从头训练一个网络#xff0c;尤其是当没有大量数据的时候。即便拥有大量数据#xff0c;从头训练一个网络也很耗时#xff0c;因为在大数据集上所构建的网络通常模型参数量很大#xff0c;训练成本大。所以在构建深度学习应用时…在深度学习的实际应用中很少会去从头训练一个网络尤其是当没有大量数据的时候。即便拥有大量数据从头训练一个网络也很耗时因为在大数据集上所构建的网络通常模型参数量很大训练成本大。所以在构建深度学习应用时通常会使用预训练模型 需求 训练一个模型来分类蚂蚁ants和蜜蜂bees 步骤 加载数据集编写函数训练并寻找最优模型编写函数查看模型效果使用torchvision微调模型使用tensorboard可视化训练情况 Pytorch保存和加载模型的两种方式 1.完整保存模型、加载模型 torch.save(net, mnist.pth) net torch.load(mnist.pth, map_locationcpu) # # Model class must be defined somewhere load() 默认会将该张量加载到保存时所在的设备上map_location 可以强制加载到指定的设备上 2. 保存、加载模型的状态字典模型中的参数 torch.save(model.state_dict(), PATH) model TheModelClass(*args, **kwargs)model.load_state_dict(torch.load(PATH)) 迁移学习全过程 1.加载数据集 ants和bees各有约120张训练图片。 每个类有75张验证图片从零开始在 如此小的数据集上进行训练通常是很难泛化的。 由于我们使用迁移学习模型的泛化能力会相当好。 from __future__ import print_function, divisionimport torch import torch.nn as nn import torch.optim as optim from torch.optim import lr_scheduler import torch.backends.cudnn as cudnn import numpy as np import torchvision from torchvision import datasets, models, transforms import matplotlib.pyplot as plt import time import os import copy cudnn.benchmark True plt.ion() lr_scheduler学习率调度器用于在训练过程中动态调整学习率 torch.backends.cudnn.benchmark True大部分情况下设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法从而加速运算 plt.ion()这允许你在一个交互式环境中运行matplotlib data_transforms {train: transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]),val: transforms.Compose([transforms.Resize(256),transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]), } transforms.RandomResizedCrop(224)随机大小裁剪和缩放图像使得裁剪后的图像尺寸为224x224像素。这个操作有助于模型学习不同尺度和长宽比的图像特征从而提高模型的泛化能力。 transforms.RandomHorizontalFlip()以一定的概率默认为0.5对图像进行水平翻转。这也是一种数据增强技术有助于模型学习对称性 transforms.Resize(256)将图像缩放到256x256像素 transforms.CenterCrop(224)从图像的中心裁剪出224x224像素的区域。这种裁剪方式确保每次裁剪的都是图像的中心部分有助于在验证或测试时获得更一致的结果 data_dir data/hymenoptera_data image_datasets {x: datasets.ImageFolder(os.path.join(data_dir, x),data_transforms[x])for x in [train, val]} dataloaders {x: torch.utils.data.DataLoader(image_datasets[x], batch_size4,shuffleTrue, num_workers4)for x in [train, val]} dataset_sizes {x: len(image_datasets[x]) for x in [train, val]} class_names image_datasets[train].classesdevice torch.device(cuda:0 if torch.cuda.is_available() else cpu) 可视化数据 def imshow(inp, titleNone): # 可视化一组 Tensor 的图片inp inp.numpy().transpose((1, 2, 0)) mean np.array([0.485, 0.456, 0.406]) std np.array([0.229, 0.224, 0.225]) inp std * inp mean inp np.clip(inp, 0, 1) plt.imshow(inp) if title is not None: plt.title(title) plt.pause(0.001) # 暂停一会儿为了将图片显示出来 # 获取一批训练数据 inputs, classes next(iter(dataloaders[train])) # 批量制作网格 out torchvision.utils.make_grid(inputs) imshow(out, title[class_names[x] for x in classes]) 2.编写函数训练并寻找最优模型 def train_model(model, criterion, optimizer, scheduler, num_epochs25): 训练模型并返回在验证集上的最佳模型和准确率 - criterion: 损失函数 Return: - model(nn.Module): 最佳模型 - best_acc(float): 最佳准确率 since time.time()best_model_wts copy.deepcopy(model.state_dict())best_acc 0.0for epoch in range(num_epochs):print(fEpoch {epoch}/{num_epochs - 1})print(- * 10)# 训练集和验证集交替进行前向传播for phase in [train, val]:if phase train:model.train() else:model.eval() running_loss 0.0running_corrects 0# 遍历数据集for inputs, labels in dataloaders[phase]:inputs inputs.to(device)labels labels.to(device)# 清空梯度避免累加了上一次的梯度optimizer.zero_grad()with torch.set_grad_enabled(phase train):# 正向传播outputs model(inputs)_, preds torch.max(outputs, 1)loss criterion(outputs, labels)# 反向传播且仅在训练阶段进行优化if phase train:loss.backward() optimizer.step()# 统计loss、准确率running_loss loss.item() * inputs.size(0)running_corrects torch.sum(preds labels.data)if phase train:scheduler.step()epoch_loss running_loss / dataset_sizes[phase]epoch_acc running_corrects.double() / dataset_sizes[phase]print(f{phase} Loss: {epoch_loss:.4f} Acc: {epoch_acc:.4f})# 发现了更优的模型记录起来if phase val and epoch_acc best_acc:best_acc epoch_accbest_model_wts copy.deepcopy(model.state_dict())print()time_elapsed time.time() - sinceprint(fTraining complete in {time_elapsed // 60:.0f}m {time_elapsed % 60:.0f}s)print(fBest val Acc: {best_acc:4f})# 加载训练的最好的模型model.load_state_dict(best_model_wts)return model 3.编写函数查看模型效果 def visualize_model(model, num_images6):was_training model.trainingmodel.eval()images_so_far 0fig plt.figure()with torch.no_grad():for i, (inputs, labels) in enumerate(dataloaders[val]):inputs inputs.to(device)labels labels.to(device)outputs model(inputs)_, preds torch.max(outputs, 1)for j in range(inputs.size()[0]):images_so_far 1ax plt.subplot(num_images//2, 2, images_so_far)ax.axis(off)ax.set_title(fpredicted: {class_names[preds[j]]})imshow(inputs.cpu().data[j])if images_so_far num_images:model.train(modewas_training)returnmodel.train(modewas_training) 4.使用torchvision微调模型 加载预训练模型并将最后一个全连接层重置 model models.resnet18(pretrainedTrue) # 加载预训练模型 num_ftrs model.fc.in_features # 获取低级特征维度 model.fc nn.Linear(num_ftrs, 2) # 替换新的输出层 model model.to(device) criterion nn.CrossEntropyLoss() # 所有参数都参加训练 optimizer_ft optim.SGD(model.parameters(), lr0.001, momentum0.9) # 每过 7 个 epoch 将学习率变为原来的 0.1 scheduler optim.lr_scheduler.StepLR(optimizer_ft, step_size7, gamma0.1) 训练 model_ft train_model(model, criterion, optimizer_ft, scheduler, num_epochs3) 预估 visualize_model(model_ft) 5.使用tensorboard可视化训练情况 将以下代码块合理的加入到训练模块里 from torch.utils.tensorboard import SummaryWriter writer SummaryWriter() ep_losses, ep_acces [], []ep_losses.append(epoch_loss) ep_acces.append(epoch_acc.item())writer.add_scalars(loss, {train: ep_losses[-2], val: ep_losses[-1]}, global_stepepoch) writer.add_scalars(acc, {train: ep_acces[-2], val: ep_acces[-1]}, global_stepepoch) writer.close() 运行命令启动tensorboard tensorboard --logdir runs 可以通过执行命令的终端看到tensorboard可视化页面地址且该命令会在执行该命令的目录下生成一个runs文件夹日志文件的保存位置 以下是我训练了25个epochs的acc和loss的动态图
http://www.zqtcl.cn/news/148646/

相关文章:

  • 企业网站百度收录桂林网站建设价格
  • 砀山做网站的公司wordpress微视频主题
  • 免费的企业网站cms注册网站后邮箱收到邮件
  • 网站推广排名教程怀化职院网站
  • 房产门户网站模板新手做电商怎么起步
  • 成都网站建设科技公沈阳网站建设技术公司排名
  • 自建商城网站上海有哪些网络公司
  • 朋友 合同 网站制作手机网站建设服务商
  • 链接分析属于网站开发棋牌软件开发定制
  • top域名的网站搭建网站步骤
  • 个人网站建设背景和目的海南省网站
  • 山西成宁做的网站义乌网站建设优化排名
  • 东莞网站建设公司辉煌大厦阿里云服务器官方网站
  • 域名注册网站制作自己建网站需要钱吗
  • 东莞市房管局官方网站域名查询ip网站
  • 织梦模板添加网站地图温州做网站掌熊号
  • 怎样凡科建设网站建立网站的步骤
  • 模板类网站建设中国都有哪些网站
  • 深圳百度推广网站建设深圳电器网站建设
  • 响应式网站有什么区别官方app
  • 手机网站建设哪里好网站架构设计师待遇怎么样
  • 静态网站设计wordpress网页视频播放器
  • 打电话做网站的话术网站安全维护方案
  • 变更备案网站可以访问吗google浏览器下载安装
  • 网站空间更换网站开发的服务器是什么
  • 网站 网页玉溪建设网站
  • 江西宜春市城市建设档案馆网站朋友圈广告30元1000次
  • 响应式网站 分辨率惊艳的网站
  • 苏州网站公司排名前十最好看的视频免费下载
  • 快速设计一个网站wordpress4.9.6