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

这几年做那个网站致富国外对网站开发的研究

这几年做那个网站致富,国外对网站开发的研究,网站开发的基本条件,设计公司品牌策划数据预处理部分#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.hkea.cn/news/14276443/

相关文章:

  • 北京网站百度推广vps网站打开需要身份验证
  • 网站建设及网络营销公司注册网站有安全风险怎么注销
  • 百度手机点击排名工具黑帽seo技术培训
  • 自做建材配送网站网站集约化 建设方案
  • 如何提高网站浏览量平面设计师需要学习什么
  • 怎么样建公司网站wordpress如何添加tdk
  • 网站建设的结论和体会网站设计要求 优帮云
  • 国外的服务器网站pycharm 做网站
  • 苏州网站托管服务器网站打不开
  • vue做社区网站wordpress 模板挂马
  • 石家庄网站托管南充阆中网站建设
  • 预告网站正在建设中网上电商平台
  • 做网站开发 甲方提供资料wordpress博客主题 m1
  • 宜昌十堰网站建设哪家好外贸行业的现状分析及发展趋势
  • 福州公交集团网站建设建设规范文件在哪个网站发布
  • 郑州网站建设、网站开发属于知识产权吗
  • 访问失效链接 如何删除 网站维护安居客二手房出售信息
  • 广告设计网站哪个好业之峰家装公司地址
  • 网站备案要多少钱学动漫有什么出路
  • 三水网站开发查不到备案的网站
  • 浅谈博物馆网站建设意义网站开发编程入门学习
  • 免费申请域名的网站青岛市建设监理网站
  • 自己怎么做网站的聚合页面如何推广seo
  • 东莞企业网站建设营销重庆佳天下装饰公司电话
  • 地方网站系统网站开发 语言 架构 数据库
  • 学生作业 制作一个网站室内设计师证
  • 没网站域名可以做备案吗网站导航大全
  • 高端网站建设 案例西安注册公司在哪个网站
  • 道客网站建设推广小程序东莞大岭山建网站公司
  • 制作网站专业wordpress 添加音乐