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

手机网站模板大全淘宝客 网站无备案

手机网站模板大全,淘宝客 网站无备案,大理网站设计,wordpress去版权 合法卷积神经网络#xff08;Convolutional Neural Network#xff0c;CNN#xff09;是一种广泛应用于计算机视觉领域#xff0c;如图像分类、目标检测和图像分割等任务中的深度学习模型。 1. 结构 卷积神经网络一般由以下几个主要层组成#xff1a; 输入层#xff1a;接收…卷积神经网络Convolutional Neural NetworkCNN是一种广泛应用于计算机视觉领域如图像分类、目标检测和图像分割等任务中的深度学习模型。 1. 结构 卷积神经网络一般由以下几个主要层组成 输入层接收原始图像数据通常是三维高、宽、通道的张量。 卷积层Convolutional Layer使用多个卷积核滤波器对输入数据进行卷积操作提取特征。该层的输出是特征图显示了输入数据中的特征。卷积层是 CNN 的核心组成部分它的主要功能是通过卷积操作提取局部特征。 卷积操作是通过一个小的滤波器或卷积核在输入图像上滑动来计算的每次滑动时卷积核与局部区域的像素值做点积运算并输出一个新的值。这些新值组成了特征图feature map。 步长指定卷积核在输入数据上滑动的步伐。 填充Padding 填充是为了确保卷积操作不会丢失边缘信息通常会在输入数据的边缘添加一些零值称为零填充。 激活层Activation Layer常用的激活函数包括ReLU修正线性单元等负责引入非线性因素提高网络学习能力。通常放在卷积层之后。 池化层Pooling Layer对特征图进行下采样通常使用最大池化或平均池化减少特征的尺寸降低计算复杂度同时保留重要特征。避免过拟合。 常见的池化操作有最大池化和平均池化 最大池化Max Pooling对每个子区域选择最大值。 平均池化Average Pooling对每个子区域取平均值。 全连接层Fully Connected Layer将高层次的特征输出转换为最终的分类结果。每个神经元与前一层的所有神经元相连接。将提取的高维特征映射到标签空间 输出层提供最终的预测结果比如分类标签或回归值。 原理 卷积神经网络的核心原理是利用卷积操作进行特征提取。卷积层通过卷积核在输入图像上滑动不断提取局部区域的特征能够自动学习并优化这些特征。 卷积操作通过卷积核与输入图像的局部区域进行点积生成特征图。这个过程能够捕捉图像中的边缘、角点等基础特征。 参数共享同一个卷积核在整个图像上重复使用可以减少模型参数提高模型的泛化能力。 局部感知卷积核的大小限制了每个神经元的感知范围使网络能学习到局部特征。 工作流程 卷积神经网络的工作流程通常包括以下几个步骤 图像输入将图像数据输入到网络中。 特征提取 在卷积层中通过多个卷积核对输入图像进行卷积生成特征图。 通过激活函数引入非线性。 使用池化层进行特征降维。 分类阶段 将经过多层特征提取后的特征图展平成一维向量输入到全连接层。 使用激活函数进行处理。 损失计算通过损失函数计算预测值与真实值之间的误差。 反向传播通过反向传播算法更新网络中的权重和偏置以最小化损失。 预测输出经过最后的输出层网络给出分类结果或回归输出。 例子识别手写数字 import numpy as np import tensorflow as tf from tensorflow.keras import datasets, layers, models import matplotlib.pyplot as plt# 加载 MNIST 数据集 (x_train, y_train), (x_test, y_test) datasets.mnist.load_data() x_train, x_test x_train / 255.0, x_test / 255.0 x_train x_train.reshape((x_train.shape[0], 28, 28, 1)) x_test x_test.reshape((x_test.shape[0], 28, 28, 1)) y_train tf.keras.utils.to_categorical(y_train, 10) y_test tf.keras.utils.to_categorical(y_test, 10)# 构建 CNN 模型 model models.Sequential([layers.Conv2D(32, (3, 3), activationrelu, input_shape(28, 28, 1)),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activationrelu),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activationrelu),layers.Flatten(),layers.Dense(64, activationrelu),layers.Dropout(0.15),layers.Dense(10, activationsoftmax) # 10 类输出 ])# 编译模型 model.compile(optimizeradam,losscategorical_crossentropy,metrics[accuracy])# 训练模型 history model.fit(x_train, y_train, epochs5, batch_size64, validation_data(x_test, y_test))# 在测试集上评估模型 test_loss, test_acc model.evaluate(x_test, y_test) print(fTest accuracy: {test_acc:.4f})# 随机选择一些测试图像的索引 num_images 10 random_indices np.random.choice(x_test.shape[0], num_images, replaceFalse)test_images x_test[random_indices] true_labels np.argmax(y_test[random_indices], axis1) predicted_labels np.argmax(model.predict(test_images), axis1)plt.figure(figsize(12, 4)) for i in range(num_images):plt.subplot(2, 5, i 1)plt.imshow(test_images[i].reshape(28, 28), cmapgray)plt.title(fTrue: {true_labels[i]}\nPred: {predicted_labels[i]})plt.axis(off) plt.show()# 绘制训练过程中的准确率和损失 plt.figure(figsize(12, 4)) plt.subplot(1, 2, 1) plt.plot(history.history[accuracy], labelTraining Accuracy) plt.plot(history.history[val_accuracy], labelValidation Accuracy) plt.legend() plt.title(Training and Validation Accuracy)pytorch实现 import numpy as np import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader, TensorDataset import torchvision.transforms as transforms import matplotlib.pyplot as plt from torchvision import datasets# 加载 MNIST 数据集 transform transforms.Compose([transforms.ToTensor(), # 转换为 tensor并归一化为 [0, 1] 区间 ]) train_dataset datasets.MNIST(root../../data, trainTrue, downloadTrue, transformtransform) test_dataset datasets.MNIST(root../../data, trainFalse, downloadTrue, transformtransform)# 数据加载器 train_loader DataLoader(datasettrain_dataset, batch_size64, shuffleTrue) test_loader DataLoader(datasettest_dataset, batch_size64, shuffleFalse)# 构建 CNN 模型 class CNN(nn.Module):def __init__(self):super(CNN, self).__init__()self.conv1 nn.Conv2d(1, 32, kernel_size3, stride1, padding1) # 28x28x1 - 28x28x32self.pool nn.MaxPool2d(kernel_size2, stride2) # 下采样self.conv2 nn.Conv2d(32, 64, kernel_size3, stride1, padding1) # 28x28x32 - 28x28x64self.conv3 nn.Conv2d(64, 64, kernel_size3, stride1, padding1) # 28x28x64 - 28x28x64self.fc1 nn.Linear(64 * 7 * 7, 64) # 根据池化后特征的形状计算输入大小self.dropout nn.Dropout(0.15) # Dropout 层self.fc2 nn.Linear(64, 10) # 输出10类def forward(self, x):x self.pool(torch.relu(self.conv1(x))) # Conv1 ReLU Poolingx self.pool(torch.relu(self.conv2(x))) # Conv2 ReLU Poolingx torch.relu(self.conv3(x)) # Conv3 ReLUx x.view(-1, 64 * 7 * 7) # 展平x torch.relu(self.fc1(x)) # FC1 ReLUx self.dropout(x) # Dropoutx self.fc2(x) # FC2return x# 创建模型实例 model CNN()# 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.Adam(model.parameters())# 训练模型 num_epochs 5 for epoch in range(num_epochs):model.train()for batch_images, batch_labels in train_loader:optimizer.zero_grad() # 梯度清零outputs model(batch_images) # 前向传播loss criterion(outputs, batch_labels) # 计算损失loss.backward() # 反向传播optimizer.step() # 更新参数print(fEpoch [{epoch 1}/{num_epochs}], Loss: {loss.item():.4f})# 在测试集上评估模型 model.eval() test_loss 0 correct 0 with torch.no_grad():for batch_images, batch_labels in test_loader:outputs model(batch_images) # 前向传播loss criterion(outputs, batch_labels) # 计算损失test_loss loss.item() # 累加损失_, predicted torch.max(outputs.data, 1) # 预测correct (predicted batch_labels).sum().item() # 统计正确样本数# 计算准确率 test_accuracy correct / len(test_dataset) print(fTest accuracy: {test_accuracy:.4f})# 随机选择一些测试图像的索引并可视化 num_images 10 random_indices np.random.choice(len(test_dataset), num_images, replaceFalse)test_images [] true_labels [] predicted_labels []for idx in random_indices:img, label test_dataset[idx]test_images.append(img)true_labels.append(label)test_images_tensor torch.stack(test_images) with torch.no_grad():outputs model(test_images_tensor) # 前向传播_, predicted torch.max(outputs.data, 1) # 预测predicted_labels predicted.numpy()# 可视化结果 plt.figure(figsize(12, 4)) for i in range(num_images):plt.subplot(2, 5, i 1)plt.imshow(test_images[i].numpy()[0], cmapgray) # 仅显示通道1plt.title(fTrue: {true_labels[i]}\nPred: {predicted_labels[i]})plt.axis(off) plt.show()
http://www.hkea.cn/news/14576002/

相关文章:

  • 制作网站开发项目的方案书泉州网站建设推广服务
  • 简述网站建设优劣的评价标准市场营销计划书模板
  • 云南网站制作价格创业平台的重要性
  • 企业seo整站优化方案注册一家公司需要多少费用
  • discuz修改网站标题网站制作案例价格
  • 网站会员注册系统源码市场营销策划书模板
  • 网站开发工程师就业前景淘宝网站优化实例
  • 三星官方网站网站建设项目报价清单
  • 公司制作网站需要余姚市住房和城乡建设局网站
  • 湖北省疾病预防控制中心官方网站番禺免费核酸检测
  • 织梦网站如何做404关于做网站的文献综述
  • 电子商务网站上线活动策划萌宝宝投票网站怎么做
  • 太原要做网站的公司域名和网站绑定
  • 深圳化妆品网站建设建设一个返利网站
  • 黄石做网站建设的php网站建设 关键技术
  • 网站建设定金合同范本WordPress 处理表单
  • 银行的网站怎么做濮阳微信网站开发
  • 做指甲的网站平台戚里带崇墉炊金馔玉待鸣钟
  • 北京沙河教做网站的wordpress html标签
  • 上海嘉定建设局官方网站用wordpress做的商城
  • 深圳网站制作公司建设拼车网站的建设雨实现
  • 成都网站建设常见问题网站开发可以多少钱一个月
  • 瑞安做网站公司种子在线资源搜索神器
  • 杭州哪家公司做网站好做文库类网站
  • 教学参考网站建设犀牛云做网站费用
  • 网站建设可实施性报告媒体代发布
  • 做的网站在不同浏览器我要学网站建设
  • 网站建设与维护成绩查询网站开发与实现文献综述
  • 天助可以搜索别人网站网站搜索引擎优化方案的案例
  • 合肥网站建设新浪营销wordpress文字加效果