展示AID数据集,并将类别名放在图像下方

import os
import matplotlib.pyplot as plt
from matplotlib.image import imread

# 定义AID数据集的路径和类别列表
# aid_path =r"E:\paper\datasets\NWPU-RESISC45"
aid_path =r"E:\paper\datasets\AID"
aid_classes = os.listdir(aid_path)

# 设置图像的行和列数
# rows, cols = 5, 9
rows, cols = 5, 6

# 创建一个新的图像,并设置其大小
# fig = plt.figure(figsize=(20, 12))
fig = plt.figure(figsize=(12, 10))
j = 0
# 循环遍历每个类别,并显示其前30个样本
for i, cls in enumerate(aid_classes):
    j = j + 1
    cls_path = os.path.join(aid_path, cls)
    sample_path = os.path.join(cls_path, os.listdir(cls_path)[i])
    sample_image = imread(sample_path)
    ax = fig.add_subplot(rows, cols, j)
    ax.imshow(sample_image)
    ax.set_xticks([])
    ax.set_yticks([])
    ax.set_xlabel(cls,fontsize=14,fontname='Times New Roman')
    for spine in ax.spines.values():
        spine.set_visible(False)

# 调整子图之间的间距和边距,并显示图像

plt.subplots_adjust(wspace=0.1, hspace=0.3)
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用MindSpore和AID数据集构建卷积神经网络的代码示例: ```python import mindspore.dataset as ds import mindspore.dataset.transforms.c_transforms as C import mindspore.dataset.vision.c_transforms as vision import mindspore.nn as nn import mindspore.ops.operations as P from mindspore import context, Tensor from mindspore.common.initializer import TruncatedNormal from mindspore.train.model import Model # 设置上下文环境 context.set_context(mode=context.GRAPH_MODE, device_target="GPU") # 定义数据集路径和批处理大小 data_path = "/path/to/AID/dataset" batch_size = 32 # 定义数据预处理操作 transforms = [ vision.Resize(size=(224, 224)), vision.RandomHorizontalFlip(), vision.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ] # 加载AID数据集 dataset = ds.ImageFolderDataset(data_path, num_parallel_workers=8, shuffle=True) # 对数据集进行预处理 dataset = dataset.map(input_columns="image", num_parallel_workers=8, operations=transforms) # 将数据集划分为训练数据集和测试数据集 train_dataset = dataset.take(15000) test_dataset = dataset.skip(15000) # 定义卷积神经网络模型 class ConvNet(nn.Cell): def __init__(self): super(ConvNet, self).__init__() self.conv1 = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=3, stride=1, padding=1, pad_mode="pad") self.relu = nn.ReLU() self.pool = nn.MaxPool2d(kernel_size=2, stride=2) self.conv2 = nn.Conv2d(in_channels=32, out_channels=64, kernel_size=3, stride=1, padding=1, pad_mode="pad") self.flatten = nn.Flatten() self.fc1 = nn.Dense(in_channels=64*56*56, out_channels=512, weight_init=TruncatedNormal(sigma=0.1)) self.fc2 = nn.Dense(in_channels=512, out_channels=30, weight_init=TruncatedNormal(sigma=0.1)) def construct(self, x): x = self.conv1(x) x = self.relu(x) x = self.pool(x) x = self.conv2(x) x = self.relu(x) x = self.pool(x) x = self.flatten(x) x = self.fc1(x) x = self.relu(x) x = self.fc2(x) return x # 定义损失函数和优化器 net = ConvNet() criterion = nn.SoftmaxCrossEntropyWithLogits(sparse=True, reduction="mean") optimizer = nn.Momentum(net.trainable_params(), learning_rate=0.001, momentum=0.9) # 定义训练模型 model = Model(net, loss_fn=criterion, optimizer=optimizer) # 训练模型 model.train(epoch=10, train_dataset=train_dataset, callbacks=None, dataset_sink_mode=False) # 测试模型 model.eval(test_dataset, dataset_sink_mode=False) ``` 此代码将构建一个基于AID数据集的卷积神经网络模型,并使用MindSpore进行训练和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卤肉面呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值