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

wordpress+论坛+注册seo百度seo排名优化软件

wordpress+论坛+注册,seo百度seo排名优化软件,邢台网站制作哪里做,讯美 深圳网站建设数据预处理部分#xff1a; 数据增强#xff1a;torchvision中transforms模块自带功能#xff0c;比较实用数据预处理#xff1a;torchvision中transforms也帮我们实现好了#xff0c;直接调用即可DataLoader模块直接读取batch数据 网络模块设置#xff1a; 加载预训练…数据预处理部分 数据增强torchvision中transforms模块自带功能比较实用数据预处理torchvision中transforms也帮我们实现好了直接调用即可DataLoader模块直接读取batch数据 网络模块设置 加载预训练模型torchvision中有很多经典网络架构调用起来十分方便并且可以用人家训练好的权重参数来继续训练也就是所谓的迁移学习需要注意的是别人训练好的任务跟咱们的可不是完全一样需要把最后的head层改一改一般也就是最后的全连接层改成咱们自己的任务训练时可以全部重头训练也可以只训练最后咱们任务的层因为前几层都是做特征提取的本质任务目标是一致的 网络模型保存与测试 模型保存的时候可以带有选择性例如在验证集中如果当前效果好则保存读取模型进行实际测试 data_transforms {train: transforms.Compose([transforms.Resize([96, 96]),transforms.RandomRotation(45),#随机旋转-45到45度之间随机选transforms.CenterCrop(64),#从中心开始裁剪transforms.RandomHorizontalFlip(p0.5),#随机水平翻转 选择一个概率概率transforms.RandomVerticalFlip(p0.5),#随机垂直翻转transforms.ColorJitter(brightness0.2, contrast0.1, saturation0.1, hue0.1),#参数1为亮度参数2为对比度参数3为饱和度参数4为色相transforms.RandomGrayscale(p0.025),#概率转换成灰度率3通道就是RGBtransforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])#均值标准差]),valid: transforms.Compose([transforms.Resize([64, 64]),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]), }选择性的权重更新 def set_parameter_requires_grad(model, feature_extracting):if feature_extracting:for param in model.parameters():param.requires_grad False自定义修改模型输出层,以resnet18为例 def initialize_model(model_name, num_classes, feature_extract, use_pretrainedTrue):model_ft models.resnet18(pretraineduse_pretrained)set_parameter_requires_grad(model_ft, feature_extract)num_ftrs model_ft.fc.in_featuresmodel_ft.fc nn.Linear(num_ftrs, 102)#类别数自己根据自己任务来input_size 64#输入大小根据自己配置来return model_ft, input_size训练权重 选择 model_ft, input_size initialize_model(model_name, 102, feature_extract, use_pretrainedTrue)#GPU还是CPU计算 model_ft model_ft.to(device)# 模型保存名字自己起 filenamecheckpoint.pth# 是否训练所有层 params_to_update model_ft.parameters() print(Params to learn:) if feature_extract:params_to_update []for name,param in model_ft.named_parameters():if param.requires_grad True:params_to_update.append(param)print(\t,name) else:for name,param in model_ft.named_parameters():if param.requires_grad True:print(\t,name)基本训练代码 def train_model(model, dataloaders, criterion, optimizer, num_epochs25,filenamebest.pt):#咱们要算时间的since time.time()#也要记录最好的那一次best_acc 0#模型也得放到你的CPU或者GPUmodel.to(device)#训练过程中打印一堆损失和指标val_acc_history []train_acc_history []train_losses []valid_losses []#学习率LRs [optimizer.param_groups[0][lr]]#最好的那次模型后续会变的先初始化best_model_wts copy.deepcopy(model.state_dict())#一个个epoch来遍历for epoch in range(num_epochs):print(Epoch {}/{}.format(epoch, num_epochs - 1))print(- * 10)# 训练和验证for phase in [train, valid]:if phase train:model.train() # 训练else:model.eval() # 验证running_loss 0.0running_corrects 0# 把数据都取个遍for inputs, labels in dataloaders[phase]:inputs inputs.to(device)#放到你的CPU或GPUlabels labels.to(device)# 清零optimizer.zero_grad()# 只有训练的时候计算和更新梯度outputs model(inputs)loss criterion(outputs, labels)_, preds torch.max(outputs, 1)# 训练阶段更新权重if phase train:loss.backward()optimizer.step()# 计算损失running_loss loss.item() * inputs.size(0)#0表示batch那个维度running_corrects torch.sum(preds labels.data)#预测结果最大的和真实值是否一致epoch_loss running_loss / len(dataloaders[phase].dataset)#算平均epoch_acc running_corrects.double() / len(dataloaders[phase].dataset)time_elapsed time.time() - since#一个epoch我浪费了多少时间print(Time elapsed {:.0f}m {:.0f}s.format(time_elapsed // 60, time_elapsed % 60))print({} Loss: {:.4f} Acc: {:.4f}.format(phase, epoch_loss, epoch_acc))# 得到最好那次的模型if phase valid and epoch_acc best_acc:best_acc epoch_accbest_model_wts copy.deepcopy(model.state_dict())state {state_dict: model.state_dict(),#字典里key就是各层的名字值就是训练好的权重best_acc: best_acc,optimizer : optimizer.state_dict(),}torch.save(state, filename)if phase valid:val_acc_history.append(epoch_acc)valid_losses.append(epoch_loss)#scheduler.step(epoch_loss)#学习率衰减if phase train:train_acc_history.append(epoch_acc)train_losses.append(epoch_loss)print(Optimizer learning rate : {:.7f}.format(optimizer.param_groups[0][lr]))LRs.append(optimizer.param_groups[0][lr])print()scheduler.step()#学习率衰减time_elapsed time.time() - sinceprint(Training complete in {:.0f}m {:.0f}s.format(time_elapsed // 60, time_elapsed % 60))print(Best val Acc: {:4f}.format(best_acc))# 训练完后用最好的一次当做模型最终的结果,等着一会测试model.load_state_dict(best_model_wts)return model, val_acc_history, train_acc_history, valid_losses, train_losses, LRs 调用训练 model_ft, val_acc_history, train_acc_history, valid_losses, train_losses, LRs train_model(model_ft, dataloaders, criterion, optimizer_ft, num_epochs20)def im_convert(tensor): 展示数据image tensor.to(cpu).clone().detach()image image.numpy().squeeze()image image.transpose(1,2,0)image image * np.array((0.229, 0.224, 0.225)) np.array((0.485, 0.456, 0.406))image image.clip(0, 1)return image
http://www.pierceye.com/news/65629/

相关文章:

  • 网站建设用什么程序wordpress迁移器
  • 下陆区建设局网站400元做网站送网推
  • 营销型网站核心要素有哪些优秀集团网站案例
  • 青岛建站模板厂家做公众号商城原型的网站
  • 免费公司介绍网站怎么做网站在线交谈
  • 做图的网站网站的首页面设计
  • 长沙专业个人做网站哪家好wordpress 邮件服务
  • 网站建设中页面下载湘潭网站公司
  • 重庆市建设工程造价信息网官方网站改版影响seo吗
  • 哪个做网站公司河南省十大互联网企业
  • 南通网站网店怎么开视频教程
  • 2网站建设公司做网站商城多少钱
  • 杭州下城网站建设网页设计摘要内容
  • 怎么给企业做网站上海公司注册一站式企业服务
  • 淘宝客推广网站建设百度云企业建站平台
  • 缙云建设局网站郑州展厅设计制作公司
  • 网站建设需求分析的实施备案的时候需要网站吗
  • 济南建站详情做推广优化的网站有哪些内容
  • 做订票网站设计要多久服务器公司网站
  • 怎么做有图有声的网站济南找工作哪个网站好
  • 网站建设哪家公司好成都网站建设火山安卓软件开发平台
  • 做英文网站的标准字体网页设计师培训快选去找曼奇立德
  • 做外贸那里发广告网站如何建设网站?
  • 昆明官渡区网站建设企业网盘收费
  • 导视设计论文下沙网站优化
  • 网站开发项目范围说明书意义石家庄定制网站建设
  • 网站建站历史企业建设网站的过程
  • 做网站用什么语言简单做网站如何可以实现窗口切换功能
  • 网站建设服务 百度简单的ppt模板免费下载
  • 安庆市住房和建设厅网站首页重庆中企动力科技股份有限公司怎么样