尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Day 37 MLP神经网络的训练

Day 37 MLP神经网络的训练
📅 发布时间:2026/6/20 13:41:06

@浙大疏锦行

1.cuda 的检查

import torch torch.cuda if torch.cuda.is_available(): print("CUDA可用!") device_count = torch.cuda.device_count() print(f"可用的CUDA设备数量:{device_count}") current_device = torch.cuda.current_device() print(f"当前使用的CUDA设备索引:{current_device}") device_name = torch.cuda.get_device_name(current_device) print(f"当前CUDA设备的名称:{device_name}") cuda_version = torch.version.cuda print(f"CUDA版本:{cuda_version}") else: print("CUDA不可用。")

2.简单神经网络的流程

a.数据预处理

from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import numpy as np iris = load_iris() X = iris.data y = iris.target X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=42) print(X_train.shape) print(y_train.shape) print(X_test.shape) print(y_test.shape) from sklearn.preprocessiong import MinMaxScaler scaler = MinMaxScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) X_train = torch.FloatTensor(X_train) y_train = torch.LongTensor(y_train) X_test = torch.FloatTensor(X_test) y_test = torch.LongTensor(y_test)

b.模型的定义

i.继承nn.Module类

ii.定义每一个层

iii.定义前向传播流程

import torch import torch.nn as nn import torch.optim as optim class MLP(nn.Module): def__init__(self): super(MLP,self).__init__() self.fc1 = nn.Linear(4,10) self.relu = nn.ReLU() self.fc2 = nn.Linear(10,3) def forward(self,x): out = self.fc1(x) out = self.relu(out) out = self.fc2(out) return out model = MLP()

c.定义损失函数和优化器

criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), 1r=0.01)

d.定义训练流程

num_epochs = 20000 losses = [] for epoch in range(num_epochs): outputs = model.forward(X_train) loss = criterison(outputs,y_train) optimizer.zero_grad() loss.backward() optimizer.step() losses.append(loss.item()) if(epoch + 1) % 100 == 0: print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f})

e.可视化loss过程

import matplotlib.pyplot as plt plt.plot(range(num_epochs),losses) plt.xlabel('Epoch') plt.ylabel('Loss') plt.title('Training Loss over Epochs') plt.show()

相关新闻

  • 探索含光伏、火电与飞轮储能系统的奇妙调频之旅
  • 高效获取高质量外链:2026年必须掌握的10个核心策略
  • Flutter国际化(i18n)实现详解

最新新闻

  • 嵌入式GUI开发实战:emWin进度条、二维码与单选按钮控件详解
  • 工具失败时怎么办:重试、回滚、人工确认和风险提示
  • 从麦克斯韦方程到仿真工具:FDFD光子仿真工具箱构建指南
  • 在M系列Mac上运行Windows程序的5个简单步骤:Whisky完全指南
  • 终极指南:用RyzenAdj解锁你的AMD笔记本隐藏性能
  • 2026年宁波AI搜索优化公司全面权威横向评测与选型决策指南 - 品牌报告

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号