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

广州网站推广联盟广告设计logo标志

广州网站推广联盟,广告设计logo标志,百度指数的网站,路由器屏蔽网站怎么做知识点回顾#xff1a; 随机种子内参的初始化神经网络调参指南 参数的分类调参的顺序各部分参数的调整心得 作业#xff1a;对于day41的简单cnn#xff0c;看看是否可以借助调参指南进一步提高精度。 import torch import torch.nn as nn import torch.optim as optim impo… 知识点回顾 随机种子内参的初始化神经网络调参指南 参数的分类调参的顺序各部分参数的调整心得 作业对于day41的简单cnn看看是否可以借助调参指南进一步提高精度。 import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms import numpy as np import matplotlib.pyplot as plt import random from tqdm import tqdm# 设置随机种子确保结果可复现 def set_seed(seed42):random.seed(seed)np.random.seed(seed)torch.manual_seed(seed)if torch.cuda.is_available():torch.cuda.manual_seed(seed)torch.cuda.manual_seed_all(seed)torch.backends.cudnn.deterministic Truetorch.backends.cudnn.benchmark False# 定义CNN模型 class SimpleCNN(nn.Module):def __init__(self):super(SimpleCNN, self).__init__()# 第一个卷积层输入通道1输出通道32卷积核3x3self.conv1 nn.Conv2d(1, 32, kernel_size3, padding1)self.bn1 nn.BatchNorm2d(32)self.relu1 nn.ReLU()self.pool1 nn.MaxPool2d(2)# 第二个卷积层输入通道32输出通道64卷积核3x3self.conv2 nn.Conv2d(32, 64, kernel_size3, padding1)self.bn2 nn.BatchNorm2d(64)self.relu2 nn.ReLU()self.pool2 nn.MaxPool2d(2)# 全连接层self.fc1 nn.Linear(64 * 7 * 7, 128)self.dropout nn.Dropout(0.5)self.fc2 nn.Linear(128, 10)def forward(self, x):# 卷积层1x self.conv1(x)x self.bn1(x)x self.relu1(x)x self.pool1(x)# 卷积层2x self.conv2(x)x self.bn2(x)x self.relu2(x)x self.pool2(x)# 展平x x.view(-1, 64 * 7 * 7)# 全连接层x self.fc1(x)x self.relu1(x)x self.dropout(x)x self.fc2(x)return x# 参数初始化 def init_weights(m):if isinstance(m, nn.Conv2d):nn.init.kaiming_normal_(m.weight, modefan_out, nonlinearityrelu)if m.bias is not None:nn.init.constant_(m.bias, 0)elif isinstance(m, nn.BatchNorm2d):nn.init.constant_(m.weight, 1)nn.init.constant_(m.bias, 0)elif isinstance(m, nn.Linear):nn.init.kaiming_normal_(m.weight, modefan_out, nonlinearityrelu)nn.init.constant_(m.bias, 0)# 训练函数 def train(model, train_loader, criterion, optimizer, device):model.train()train_loss 0correct 0total 0for batch_idx, (inputs, targets) in enumerate(tqdm(train_loader)):inputs, targets inputs.to(device), targets.to(device)optimizer.zero_grad()outputs model(inputs)loss criterion(outputs, targets)loss.backward()optimizer.step()train_loss loss.item()_, predicted outputs.max(1)total targets.size(0)correct predicted.eq(targets).sum().item()acc 100. * correct / totalreturn train_loss / len(train_loader), acc# 测试函数 def test(model, test_loader, criterion, device):model.eval()test_loss 0correct 0total 0with torch.no_grad():for batch_idx, (inputs, targets) in enumerate(tqdm(test_loader)):inputs, targets inputs.to(device), targets.to(device)outputs model(inputs)loss criterion(outputs, targets)test_loss loss.item()_, predicted outputs.max(1)total targets.size(0)correct predicted.eq(targets).sum().item()acc 100. * correct / totalreturn test_loss / len(test_loader), acc# 主函数 def main():# 设置随机种子set_seed(42)# 设置设备device cuda if torch.cuda.is_available() else cpuprint(f使用设备: {device})# 数据预处理transform_train transforms.Compose([transforms.RandomRotation(10),transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))])transform_test transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))])# 加载数据集train_dataset torchvision.datasets.MNIST(root./data, trainTrue, downloadTrue, transformtransform_train)test_dataset torchvision.datasets.MNIST(root./data, trainFalse, downloadTrue, transformtransform_test)# 创建数据加载器batch_size 128 # 调参参数1train_loader torch.utils.data.DataLoader(train_dataset, batch_sizebatch_size, shuffleTrue, num_workers2)test_loader torch.utils.data.DataLoader(test_dataset, batch_size100, shuffleFalse, num_workers2)# 初始化模型model SimpleCNN().to(device)model.apply(init_weights)# 定义损失函数和优化器criterion nn.CrossEntropyLoss()learning_rate 0.01 # 调参参数2optimizer optim.Adam(model.parameters(), lrlearning_rate, weight_decay1e-5) # 调参参数3scheduler optim.lr_scheduler.ReduceLROnPlateau(optimizer, min, patience3, factor0.5)# 训练模型epochs 15 # 调参参数4train_losses []train_accs []test_losses []test_accs []best_acc 0for epoch in range(epochs):print(f\nEpoch: {epoch1}/{epochs})train_loss, train_acc train(model, train_loader, criterion, optimizer, device)test_loss, test_acc test(model, test_loader, criterion, device)train_losses.append(train_loss)train_accs.append(train_acc)test_losses.append(test_loss)test_accs.append(test_acc)print(fTrain Loss: {train_loss:.4f} | Train Acc: {train_acc:.2f}%)print(fTest Loss: {test_loss:.4f} | Test Acc: {test_acc:.2f}%)# 学习率调整scheduler.step(test_loss)# 保存最佳模型if test_acc best_acc:best_acc test_acctorch.save(model.state_dict(), best_model.pth)print(fModel saved with accuracy: {best_acc:.2f}%)# 加载最佳模型model.load_state_dict(torch.load(best_model.pth))_, final_acc test(model, test_loader, criterion, device)print(f\nFinal Test Accuracy: {final_acc:.2f}%)# 绘制训练过程plt.figure(figsize(12, 5))plt.subplot(1, 2, 1)plt.plot(train_losses, labelTrain Loss)plt.plot(test_losses, labelTest Loss)plt.xlabel(Epoch)plt.ylabel(Loss)plt.legend()plt.title(Loss Curves)plt.subplot(1, 2, 2)plt.plot(train_accs, labelTrain Accuracy)plt.plot(test_accs, labelTest Accuracy)plt.xlabel(Epoch)plt.ylabel(Accuracy (%))plt.legend()plt.title(Accuracy Curves)plt.tight_layout()plt.savefig(training_curves.png)plt.show()if __name__ __main__:main()
http://www.hkea.cn/news/14333098/

相关文章:

  • 怎么做网站滑动图片部分h5石家庄市工程建设造价管理站网站
  • 大型门户网站建设包括哪些方面故事网站模版
  • 怎么查看网站是否被百度惩罚降权或者被k手机网站用什么语言开发
  • 凡客诚品官网入口seo对各类网站的作用
  • 外贸响应式网站网络服务的重要性?
  • 网站建设相关知识博客成都线上推广平台
  • aspx 网站开发工具数据分析一般用什么软件
  • 房产发布网站建设自己网站建设多少钱
  • 网站建设实训心得 总结网络品牌维护
  • 网站建设改版升级网站制作好以后怎么管理
  • 网站建设合同模板有没有个人做的网站赚流量费
  • 合肥公司制作网站的只需要手机号的广告
  • 旅游公共信息服务网站建设及服务质量标准网站开发多钱
  • 摄影培训网站建设最新办公室装修风格效果图
  • 特价网站建设费用hyein seo
  • wordpress 基础建站网站公告栏代码
  • 建设类似衣联网的网站大圣网站建设
  • unity3d转行网站开发广东省建设银行招聘网站
  • 做网站膜网站怎么做wordpress 有市场吗
  • 广西建设厅网站是什么网站建设培训教程
  • 手机端网站建设步骤编程软件是怎么做出来的
  • 建设网站的收费做黄金理财的网站
  • 网站优化关键词是怎么做的wordpress 后台登陆不进去
  • 如何评价伊利集团网站建设网站优化 代码优化
  • 温州网站升级水果网站建设方案书
  • 电商网站大连经典微网站
  • 随州网站建设有哪些hao123网址导航官网
  • 谈谈网站建设创新问题青岛网站设计建设
  • 没有收款接口网站怎么做收款旅游网站怎么设计
  • 网站设置点赞做外贸业务员需要什么条件