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

自己在家怎么做网站服务器wordpress充值金币的插件

自己在家怎么做网站服务器,wordpress充值金币的插件,图书网站开发介绍,美容院网站建设大家好#xff0c;我是微学AI#xff0c;今天给大家介绍一下计算机视觉的应用19-基于pytorch框架搭建卷积神经网络CNN的卫星地图分类问题实战应用。随着遥感技术和卫星图像获取能力的快速发展#xff0c;卫星图像分类任务成为了计算机视觉研究中一个重要的挑战。为了促进这一…大家好我是微学AI今天给大家介绍一下计算机视觉的应用19-基于pytorch框架搭建卷积神经网络CNN的卫星地图分类问题实战应用。随着遥感技术和卫星图像获取能力的快速发展卫星图像分类任务成为了计算机视觉研究中一个重要的挑战。为了促进这一领域的研究进展卫星图像分类问题数应运而生。本文将详细介绍遥感卫星图片分类项目包括其背景、卫星图像分类数据集构建流程、数据集特点以及在卫星图像分类任务中的应用。 一、项目说明 随着城市化和环境监测需求的增加卫星图像分类成为了很多应用场景中的核心任务。然而由于数据集的有限性和复杂性导致该任务的挑战性提高。为了解决这个问题EuroSAT项目被启动旨在创建一个大规模、多类别的卫星图像数据集以推动卫星图像分类算法的发展。 二、数据集构建流程 EuroSAT数据集的构建过程主要分为以下几个步骤 1数据采集从欧洲空间局ESA的Sentinel-2卫星获取高分辨率的多光谱卫星图像。 2数据预处理对采集到的原始图像进行预处理包括遥感图像纠正、边缘对齐和亮度调整等。 3样本选择根据地理标签和类别信息选择合适的区域作为样本并手动标注每个样本的类别标签。 4数据增强通过旋转、平移、缩放等变换方式对每个样本进行数据增强扩充数据集规模和多样性。 5数据集划分将数据集划分为训练集、验证集和测试集保证数据集的随机性和可比性。 三、数据集特点 EuroSAT数据集具有以下显著特点 1多类别EuroSAT包含13个不同的土地覆盖类别例如城市、森林、河流、田地等。 2高分辨率所有图像都经过高分辨率处理有助于提取更多细节和特征。 3多样性数据集中包含了不同季节、不同天气条件下的卫星图像增加了数据集的多样性。 4大规模EuroSAT数据集共包含27,000张卫星图像使得算法可以进行更全面的训练和评估。 四、卫星图像分类任务中的应用 EuroSAT数据集在卫星图像分类任务中具有广泛的应用包括但不限于以下几个领域 1土地覆盖变化监测通过对卫星图像进行分类和分析可以实时监测土地覆盖的变化情况为城市规划、环境保护等提供支持。 2灾害监测与评估通过对不同地区的卫星图像进行分类可以及时发现并评估灾害事件为救援工作提供有效指导。 3农业管理和产量预测通过对农田卫星图像进行分类可以监测农作物的生长情况预测产量优化农业管理策略。 五、遥感卫星地图数据加载 下面我将加载EuroSAT数据集(卫星图像分类数据集)EuroSAT数据集下载地址https://madm.dfki.de/files/sentinel/EuroSAT.zip import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt import numpy as np from torch.utils.data import DataLoader from torchvision.datasets import ImageFolder import random from torch.utils.data import Subset# 图片展示函数 def imshow(img):img img / 2 0.5 # 反归一化npimg img.numpy()plt.imshow(np.transpose(npimg, (1, 2, 0)))plt.show()# 定义图像转换操作 trans transforms.Compose([transforms.Resize((64, 64)),transforms.ToTensor(), # 转换为张量transforms.Normalize(mean[0.5, 0.5, 0.5], std[0.5, 0.5, 0.5]) # 归一化 ])# 加载数据集 dataset ImageFolder(root./data/EuroSAT/2750, transformtrans)# 类别标签 classes dataset.classes print(len(classes))# 设置随机种子确保每次划分结果一致 random.seed(42)# 计算划分的样本数量 dataset_len len(dataset) train_len int(0.7 * dataset_len) val_len int(0.2 * dataset_len) test_len dataset_len - train_len - val_len# 创建索引列表 indices list(range(dataset_len)) random.shuffle(indices)# 划分数据集 train_indices indices[:train_len] val_indices indices[train_len:train_lenval_len] test_indices indices[train_lenval_len:]# 创建子集 train_dataset Subset(dataset, train_indices) val_dataset Subset(dataset, val_indices) test_dataset Subset(dataset, test_indices)# 创建数据加载器 train_dataloader DataLoader(train_dataset, batch_size64, shuffleTrue) val_dataloader DataLoader(val_dataset, batch_size64, shuffleFalse) test_dataloader DataLoader(test_dataset, batch_size64, shuffleFalse)六、基于pytorch框架的遥感卫星地图分类模型构建 class CNNnet(nn.Module):def __init__(self):super(CNNnet, self).__init__()self.conv1 nn.Conv2d(3,32,3,1)self.conv2 nn.Conv2d(32,32,3,1)self.pool nn.MaxPool2d(2,2)self.relu nn.ReLU()self.dropout nn.Dropout(0.25)self.fc nn.Linear(6272,len(classes))def forward(self,x):x self.conv1(x)x self.pool(x)x self.conv2(x)x self.pool(x)x self.relu(x)x self.dropout(x)x x.view(x.size(0),-1)xself.fc(x)return x七、模型训练 models CNNnet() optimizer torch.optim.Adam(models.parameters(),lr0.001) criterion nn.CrossEntropyLoss()for epoch in range(10):train_total 0train_correct 0train_loss_total 0.0val_total 0val_correct 0val_loss_total 0.0# 训练集for datas, label in train_dataloader:optimizer.zero_grad()outs models(datas)loss criterion(outs, label)loss.backward()optimizer.step()_, pred torch.max(outs, 1)train_total label.size(0)train_correct (pred label).sum().item()train_loss_total loss.item()train_loss_avg train_loss_total / len(train_dataloader)train_acc train_correct / train_total# 验证集models.eval() # 设置为评估模式不进行反向传播with torch.no_grad():for datas, label in val_dataloader:outs models(datas)loss criterion(outs, label)_, pred torch.max(outs, 1)val_total label.size(0)val_correct (pred label).sum().item()val_loss_total loss.item()val_loss_avg val_loss_total / len(val_dataloader)val_acc val_correct / val_totalprint(fEpoch: {epoch1})print(fTrain Loss: {train_loss_avg}, Train Accuracy: {train_acc})print(fValidation Loss: {val_loss_avg}, Validation Accuracy: {val_acc})八、模型保存与加载 这里我们采用torch.jit方式进行存储直接保存Torch Script 格式 torch.jit.save(torch.jit.script(models), model.pt) loaded_model torch.jit.load(model.pt)以上torch.jit.save 是 PyTorch 中用于将模型保存为 Torch Script 格式的函数。Torch Script 是一种中间表示法它可以将 PyTorch 模型序列化并保存到磁盘上以便后续在不需要原始模型定义的情况下加载和执行模型。 models 是已经训练好的模型实torch.jit.script 用于将模型转换为 Torch Script 形式这样它就可以被保存到磁盘并加载回来进行预测。 ‘model.pt’ 是要保存模型的文件路径和名称。你可以根据需要更改文件名和路径。 采用torch.jit.save(torch.jit.script(models), ‘model.pt’) 的作用是将经过转换为 Torch Script 的模型保存到名为 ‘model.pt’ 的文件中。 运行结果 Epoch: 1 Train Loss: 1.0448811401587885, Train Accuracy: 0.6264550264550265 Validation Loss: 0.7070850253105163, Validation Accuracy: 0.7627777777777778 Epoch: 2 Train Loss: 0.692695257228774, Train Accuracy: 0.7563492063492063 Validation Loss: 0.6866358742994421, Validation Accuracy: 0.7483333333333333 Epoch: 3 Train Loss: 0.5860184832803301, Train Accuracy: 0.7971428571428572 Validation Loss: 0.5635017317884109, Validation Accuracy: 0.8048148148148148 Epoch: 4 Train Loss: 0.537103551213403, Train Accuracy: 0.8129100529100529 Validation Loss: 0.5531797622933107, Validation Accuracy: 0.8101851851851852 Epoch: 5 Train Loss: 0.4707282580233909, Train Accuracy: 0.8357671957671957 Validation Loss: 0.5103719413280488, Validation Accuracy: 0.8185185185185185 Epoch: 6 Train Loss: 0.4517604966421385, Train Accuracy: 0.8439682539682539 Validation Loss: 0.5074160200708052, Validation Accuracy: 0.8285185185185185 Epoch: 7 Train Loss: 0.4016518093444206, Train Accuracy: 0.8625925925925926 Validation Loss: 0.5236595521954929, Validation Accuracy: 0.8137037037037037 Epoch: 8 Train Loss: 0.37693205440567956, Train Accuracy: 0.8712698412698413 Validation Loss: 0.5407256515587078, Validation Accuracy: 0.8312962962962963 Epoch: 9 Train Loss: 0.33328121374487074, Train Accuracy: 0.8876190476190476 Validation Loss: 0.5358928382396698, Validation Accuracy: 0.8262962962962963 Epoch: 10 Train Loss: 0.31978219168613087, Train Accuracy: 0.8924867724867724 Validation Loss: 0.525197943168528, Validation Accuracy: 0.8322222222222222结论 396698, Validation Accuracy: 0.8262962962962963 Epoch: 10 Train Loss: 0.31978219168613087, Train Accuracy: 0.8924867724867724 Validation Loss: 0.525197943168528, Validation Accuracy: 0.8322222222222222 # 九、结论 本项目是基于遥感卫星地图分类数据集做的卫星图像分类任务为卫星图像分类任务提供了一个重要的基准推动了该领域的研究进展。其多样性、多类别和大规模的特点使得EuroSAT成为了一个广受关注的数据集。未来我们可以期待更多基于EuroSAT数据集的算法和应用的涌现进一步推动卫星图像分类技术的发展。
http://www.w-s-a.com/news/440016/

相关文章:

  • 企业网站优化问题接单app平台有哪些
  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例
  • 114网站建设高并发系统架构
  • php网站打开一片空白wordpress中文广告插件下载
  • 怎样建自己的网站免费的百度关键词排名点击
  • 医院网站建设的特点怎么查看网站百度快照
  • 网站 如何备案一般网站开发公司
  • 做网站的公司 贵阳郑州新像素ui设计培训收费
  • 温州网站建设公司电话给个免费的网址
  • 个人做电子商务网站备案软考高级
  • 淘宝客需要自己做网站吗四川遂宁做网站的公司
  • 编写网站策划书缘魁上海网站建设
  • 梧州外贸网站推广设计wordpress 上传 七牛
  • 增加网站备案千灯做网站
  • 深圳做网站的公php做简易网站
  • 徐州哪家做网站好商业空间设计效果图
  • 重庆建网站cqiezscom大学毕业做网站插画师好吗
  • 在门户网站做产品seo怎么样做网站管理员
  • 动画做视频在线观看网站字体安装+wordpress
  • vs2015网站开发做珠宝建个网站推广怎么样
  • 大桥外语官方网站星做宝贝佛山微信网站开发
  • 河南建设网站公司哪家好怎样做一家网站
  • 安阳市哪里做网站建设网站流量怎么赚钱