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

手机网站会员识别功能官网网站系统

手机网站会员识别功能,官网网站系统,wordpress字体替换,网页设计模板html代码表格代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 从零开始构建你的第一个神经网络 在本教程中#xff0c;我们将使用PyTorch框架从零开始构建一个简单的卷积神经网络#xff08;CNN#xff09;#xff0c;用于图片二分类任务。CNN 是一种深度学习模型#…代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 从零开始构建你的第一个神经网络 在本教程中我们将使用PyTorch框架从零开始构建一个简单的卷积神经网络CNN用于图片二分类任务。CNN 是一种深度学习模型特别适用于图像数据。本文将详细介绍如何一步步搭建一个包含4-5层的CNN并训练它来分类图像。 1.准备工作 在开始之前需要一些必要的库本教程中使用的库的版本如下 packageversionpython3.8.0torch1.13.0scikit-learn1.1.3numpy1.20.1matplotlib3.3.4 本软件包均是在anaconda虚拟环境中安装的。如果还没该虚拟环境还需要创建一下才可以。准备工作完成后就可以开始正式的神经网络搭建了。 2.数据集准备 在本教程中我们使用1元与100元人民币两个类别。其数据集存放格式如下图所示 一共分为三个部分train、test和val即训练验证和测试。“1”和“100”文件夹下面就是数据集图片。下面就来对数据集进行处理 首先导入必要的包和进行数据的预处理 #导入包 import torch import torchvision import torchvision.transforms as transforms #数据预处理 transform transforms.Compose([transforms.Resize((64, 64)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ])加载数据集 train_data_path 02-01-data-RMB_data/train # 数据集存放的相对路径 trainset datasets.ImageFolder(roottrain_data_path, transformtransform) trainloader DataLoader(trainset, batch_size4, shuffleTrue)val_data_path 02-01-data-RMB_data/val valset datasets.ImageFolder(rootval_data_path, transformtransform) valloader DataLoader(valset, batch_size4, shuffleFalse)classes trainset.classes # 获取类别名这里为“1”和“100”我们可以使用torchvision.datasets.ImageFolder来加载这些数据。ImageFolder会根据目录名自动将图像归类。 3.定义卷积神经网络结构并实例化模型 接下来我们将定义一个简单的卷积神经网络。该网络将包含两个卷积层每层后接池化层和两个全连接层。 # 定义卷积神经网络 class SimpleCNN(nn.Module):def __init__(self, num_classes):super(SimpleCNN, self).__init__()self.conv1 nn.Conv2d(3, 16, 3, padding1) #彩色图片输入通道为3RGB输出为16self.pool nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(16, 32, 3, padding1)self.fc1 nn.Linear(32 * 16 * 16, 120)self.fc2 nn.Linear(120, num_classes)def forward(self, x):x self.pool(F.relu(self.conv1(x)))x self.pool(F.relu(self.conv2(x)))x x.view(-1, 32 * 16 * 16) #展平操作成为1维x F.relu(self.fc1(x))x self.fc2(x)return x# 实例化模型 num_classes len(classes) net SimpleCNN(num_classes).to(device)上述网络结构中nn.Conv2d(3, 16, 3, padding1) 表明彩色图片输入通道为3RGB输出为16这里16可以自己定义但是要与下一卷积层的输入通道数相同。16后面的3为卷积核大小即为3*3卷积。 4.训练和验证模型 4.1.配置训练参数 在开始训练之前我们需要定义损失函数和优化器。这里我们将使用交叉熵损失函数和随机梯度下降SGD优化器。 这里不同的损失函数和不同的优化器也会影响模型最终的效果。比如可以使用Adam、AdamW等优化器。 # 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(net.parameters(), lr0.001, momentum0.9)4.2 模型训练与验证 # 存储训练损失和验证损失 train_losses [] val_losses []# 训练模型并记录损失和准确率 for epoch in range(10):net.train()running_loss 0.0correct 0total 0for i, data in enumerate(trainloader, 0):inputs, labels data# 将输入和标签移动到GPUinputs, labels inputs.to(device), labels.to(device)optimizer.zero_grad()outputs net(inputs)loss criterion(outputs, labels)loss.backward()optimizer.step()running_loss loss.item()_, predicted torch.max(outputs.data, 1)total labels.size(0)correct (predicted labels).sum().item()train_loss running_loss / len(trainloader)train_accuracy 100 * correct / totaltrain_losses.append(train_loss)# 验证模型net.eval()val_loss 0.0correct 0total 0with torch.no_grad():for data in valloader:images, labels data# 将输入和标签移动到GPUinputs, labels inputs.to(device), labels.to(device)outputs net(images)loss criterion(outputs, labels)val_loss loss.item()_, predicted torch.max(outputs.data, 1)total labels.size(0)correct (predicted labels).sum().item()val_loss val_loss / len(valloader)val_accuracy 100 * correct / totalval_losses.append(val_loss)print(fEpoch [{epoch 1}/10], Train Loss: {train_loss:.4f}, Train Accuracy: {train_accuracy:.2f}%, Val Loss: {val_loss:.4f}, Val Accuracy: {val_accuracy:.2f}%)print(Finished Training) #保存模型在本地 model_save_path simple_cnn.pth torch.save(net.state_dict(), model_save_path) print(fModel saved to {model_save_path})在这里我们将训练模型10个epoch并在每个epoch结束后输出损失和准确率可以看到每一个epoch上的结果。 训练过程如下图 5.性能评估与模型测试 5.1 性能评估 绘制loss曲线 # 绘制损失曲线 plt.figure() plt.plot(train_losses, labelTrain Loss) plt.plot(val_losses, labelValidation Loss) plt.xlabel(Epoch) plt.ylabel(Loss) plt.title(Loss Curve) plt.legend() plt.show() 查看结果 绘制混淆矩阵 # 混淆矩阵 net.eval() all_preds [] all_labels [] with torch.no_grad():for data in valloader:images, labels dataoutputs net(images)_, predicted torch.max(outputs.data, 1)all_preds.extend(predicted.cpu().numpy())all_labels.extend(labels.cpu().numpy())# 生成混淆矩阵 cm confusion_matrix(all_labels, all_preds) disp ConfusionMatrixDisplay(confusion_matrixcm, display_labelsclasses)# 绘制混淆矩阵 plt.figure() disp.plot(cmapplt.cm.Blues) plt.title(Confusion Matrix) plt.show()在val文件夹中1和100的数量都是19所以做到了100%的准确率。 5.2 模型测试 在第四步中我们将训练好的模型进行了保存那么这里我们将模型加载出来对test数据集进行测试看看模型效果如何。这里我们需要加载训练好的模型进行测试。 # 加载模型权重 model_path simple_cnn.pth net.load_state_dict(torch.load(model_path))# 将模型移动到设备上 net.to(device)# 设置模型为评估模式 net.eval()# 加载测试集 test_data_path 02-01-data-RMB_data/test testset datasets.ImageFolder(roottest_data_path, transformtransform) testloader DataLoader(testset, batch_size4, shuffleFalse)# 预测并输出结果 all_preds [] all_labels [] with torch.no_grad():for data in testloader:images, labels data# 将数据移动到GPUimages, labels images.to(device), labels.to(device)outputs net(images)_, predicted torch.max(outputs.data, 1)all_preds.extend(predicted.cpu().numpy())all_labels.extend(labels.cpu().numpy())# 你可以在这里处理预测结果比如输出预测值或计算准确率 correct sum(1 for x, y in zip(all_preds, all_labels) if x y) total len(all_labels) accuracy correct / total * 100print(fTest Accuracy: {accuracy:.2f}%)完整代码和数据集在附件中可以自行查看。 6.总结 在本教程中我们从零开始构建了一个简单的卷积神经网络并用它来完成图片的二分类任务。我们介绍了如何定义网络结构如何训练和评估模型并讨论了进一步优化模型的方法。 接下来你可以尝试扩展网络的深度或宽度使用更大的数据集或者使用迁移学习等技术来提升模型的性能。祝你学习愉快 源码下载
http://www.dnsts.com.cn/news/242433.html

相关文章:

  • wordpress软件站模板常德做网站公司
  • 深圳市网站制作手工艺品外贸公司网站建设方案
  • 做视频网站版权怎么解决番禺人才网参考资料答案
  • 吉林电商网站建设会展设计专业发展前景
  • 邯郸做网站就找安联网络深圳网站建设怎样做
  • 优质手机网站建设哪家好网站建设与开发
  • 有没有做ppt好看的免费网站自助建站软件排行榜
  • 托里县城乡建设局网站html简单的网站
  • 网站建设 案例办公网站模板
  • 德州网站建设哪一家好建设网站需要虚拟空间嘛
  • 公司建设网站的优势官方网站手机 优帮云
  • 温州网站改版哪家好河南住房和城乡建设厅职称网站
  • 网站备案验证码错误阳区城市规划建设局网站
  • 质量好网站建设公司自己网站做反链
  • 怎么把网站推广出去福州网站建设 网络服务
  • 通辽企业网站建设哪里有做家教网站的
  • 网站怎么找开发公司吗网络品牌营销推广公司
  • 优化一个网站wordpress调用用户数据库
  • 温州网站建设优化公司电商数据分析与数据化运营
  • 龙岗做商城网站建设站长工具查询视频
  • ico加网站加工平台app
  • 商丘企业网站建设公司做网站一定要代码吗
  • 石家庄 外贸网站建设公司排名线下推广团队
  • 河南企业网站优化wordpress爬行记录
  • mip网站模板世界互联网峰会视频
  • 青建设厅官方网站网站后台怎么用ftp打开
  • dedecms搭建购物网站wordpress禁用php报错
  • 电影网站带采集酒店手机网站首页设计
  • 企业开办网站凡科建站官网
  • 张家界网站制作仿腾讯游戏网站源码