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

idea怎么做网站重庆建筑网站

idea怎么做网站,重庆建筑网站,不同用户入口的网站样板,网站建设项目怎么写第一步#xff1a;准备数据 17种猴子动物数据#xff1a; self.class_indict [白头卷尾猴, 弥猴, 山魈, 松鼠猴, 叶猴, 银色绒猴, 印度乌叶猴, 疣猴, 侏绒… 第一步准备数据 17种猴子动物数据 self.class_indict [白头卷尾猴, 弥猴, 山魈, 松鼠猴, 叶猴, 银色绒猴, 印度乌叶猴, 疣猴, 侏绒,白秃猴, 赤猴, 滇金丝猴, 狒狒, 黑色吼猴, 黑叶猴, 金丝猴, 懒猴]总共有1800张图片每个文件夹单独放一种数据 第二步搭建模型 本文选择一个ShufflenetV2网络其原理介绍如下 shufflenet v2是旷视提出的shufflenet的升级版本并被ECCV2018收录。论文说在同等复杂度下shufflenet v2比shufflenet和mobilenetv2更准确。shufflenet v2是基于四条准则对shufflenet v1进行改进而得到的这四条准则如下 G1同等通道大小最小化内存访问量 对于轻量级CNN网络常采用深度可分割卷积depthwise separable convolutions其中点卷积 pointwise convolution即1x1卷积复杂度最大。这里假定输入和输出特征的通道数分别为C1和C2经证明仅当C1C2时内存使用量(MAC)取最小值这个理论分析也通过实验得到证实。更详细的证明见参考【1】 G2过量使用组卷积会增加MAC 组卷积group convolution是常用的设计组件因为它可以减少复杂度却不损失模型容量。但是这里发现分组过多会增加MAC。更详细的证明见参考【1】 G3网络碎片化会降低并行度 一些网络如Inception以及Auto ML自动产生的网络NASNET-A它们倾向于采用“多路”结构即存在一个lock中很多不同的小卷积或者pooling这很容易造成网络碎片化减低模型的并行度相应速度会慢这也可以通过实验得到证明。 G4不能忽略元素级操作 对于元素级element-wise operators比如ReLU和Add虽然它们的FLOPs较小但是却需要较大的MAC。这里实验发现如果将ResNet中残差单元中的ReLU和shortcut移除的话速度有20%的提升。 根据前面的4条准则作者分析了ShuffleNet v1设计的不足并在此基础上改进得到了ShuffleNetv2两者模块上的对比下图所示 第三步训练代码 1损失函数为交叉熵损失函数 2训练代码 import os import math import argparseimport torch import torch.optim as optim from torch.utils.tensorboard import SummaryWriter from torchvision import transforms import torch.optim.lr_scheduler as lr_schedulerfrom model import shufflenet_v2_x1_0 from my_dataset import MyDataSet from utils import read_split_data, train_one_epoch, evaluatedef main(args):device torch.device(args.device if torch.cuda.is_available() else cpu)print(args)print(Start Tensorboard with tensorboard --logdirruns, view at http://localhost:6006/)tb_writer SummaryWriter()if os.path.exists(./weights) is False:os.makedirs(./weights)train_images_path, train_images_label, val_images_path, val_images_label read_split_data(args.data_path)data_transform {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])])}# 实例化训练数据集train_dataset MyDataSet(images_pathtrain_images_path,images_classtrain_images_label,transformdata_transform[train])# 实例化验证数据集val_dataset MyDataSet(images_pathval_images_path,images_classval_images_label,transformdata_transform[val])batch_size args.batch_sizenw min([os.cpu_count(), batch_size if batch_size 1 else 0, 8]) # number of workersprint(Using {} dataloader workers every process.format(nw))train_loader torch.utils.data.DataLoader(train_dataset,batch_sizebatch_size,shuffleTrue,pin_memoryTrue,num_workersnw,collate_fntrain_dataset.collate_fn)val_loader torch.utils.data.DataLoader(val_dataset,batch_sizebatch_size,shuffleFalse,pin_memoryTrue,num_workersnw,collate_fnval_dataset.collate_fn)# 如果存在预训练权重则载入model shufflenet_v2_x1_0(num_classesargs.num_classes).to(device)if args.weights ! :if os.path.exists(args.weights):weights_dict torch.load(args.weights, map_locationdevice)load_weights_dict {k: v for k, v in weights_dict.items()if model.state_dict()[k].numel() v.numel()}print(model.load_state_dict(load_weights_dict, strictFalse))else:raise FileNotFoundError(not found weights file: {}.format(args.weights))# 是否冻结权重if args.freeze_layers:for name, para in model.named_parameters():# 除最后的全连接层外其他权重全部冻结if fc not in name:para.requires_grad_(False)pg [p for p in model.parameters() if p.requires_grad]optimizer optim.SGD(pg, lrargs.lr, momentum0.9, weight_decay4E-5)# Scheduler https://arxiv.org/pdf/1812.01187.pdflf lambda x: ((1 math.cos(x * math.pi / args.epochs)) / 2) * (1 - args.lrf) args.lrf # cosinescheduler lr_scheduler.LambdaLR(optimizer, lr_lambdalf)for epoch in range(args.epochs):# trainmean_loss train_one_epoch(modelmodel,optimizeroptimizer,data_loadertrain_loader,devicedevice,epochepoch)scheduler.step()# validateacc evaluate(modelmodel,data_loaderval_loader,devicedevice)print([epoch {}] accuracy: {}.format(epoch, round(acc, 3)))tags [loss, accuracy, learning_rate]tb_writer.add_scalar(tags[0], mean_loss, epoch)tb_writer.add_scalar(tags[1], acc, epoch)tb_writer.add_scalar(tags[2], optimizer.param_groups[0][lr], epoch)torch.save(model.state_dict(), ./weights/model-{}.pth.format(epoch))if __name__ __main__:parser argparse.ArgumentParser()parser.add_argument(--num_classes, typeint, default17)parser.add_argument(--epochs, typeint, default100)parser.add_argument(--batch-size, typeint, default4)parser.add_argument(--lr, typefloat, default0.01)parser.add_argument(--lrf, typefloat, default0.1)# 数据集所在根目录# https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgzparser.add_argument(--data-path, typestr,defaultrG:\demo\data\monkeys\training)# shufflenetv2_x1.0 官方权重下载地址# https://download.pytorch.org/models/shufflenetv2_x1-5666bf0f80.pthparser.add_argument(--weights, typestr, default./shufflenetv2_x1-5666bf0f80.pth,helpinitial weights path)parser.add_argument(--freeze-layers, typebool, defaultFalse)parser.add_argument(--device, defaultcuda:0, helpdevice id (i.e. 0 or 0,1 or cpu))opt parser.parse_args()main(opt)第四步统计正确率 第五步搭建GUI界面 第六步整个工程的内容 有训练代码和训练好的模型以及训练过程提供数据提供GUI界面代码 代码的下载路径新窗口打开链接基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码 有问题可以私信或者留言有问必答
http://www.w-s-a.com/news/378151/

相关文章:

  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度
  • 云互联的网站名字亚马逊雨林生物
  • 电商网站功能企查查企业信息查询网
  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州
  • 动漫建模代做网站百度一下wordpress nginx 固定链接
  • 广州网站开发网络公司网站建设的书
  • php手机网站开发教程家政网站怎么做
  • 视频网站的建设预算通信科技网站设计
  • 糖果网站建设策划书淘宝客网站开源
  • 建站公司还有前途吗cf网站编程
  • 网站建设需求确认表建站工具 比较
  • 刚建设的网站多久能在百度查到考试系统 微网站是什么样的
  • 商城网站建设高端企业网站建设劣势
  • 网站建设征集通讯员的通知seo推广外包
  • 微信公众号微网站建设专业网站建设出售
  • 怎么用wordpress建立自己的网站加强校园网站建设
  • 用什么做网站后台的织梦网站怎么上传
  • 怎么获取网站数据做统计百度快照推广有效果吗