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

打卡第34天:MLP神经网络训练

jiji1.PyTorch和cuda的安装
2.查看显卡信息的命令行命令(cmd中使用)
3.cuda的检查
4.简单神经网络的流程
a.数据预处理(归一化、转换成张量)
b.模型的定义
i.继承nn.Module类
ii.定义每一个层
iii.定义前向传播流程
c.定义损失函数和优化器
d.定义训练流程
e.可视化loss过程

今日作业:能够手敲代码

首先是数据准备过程:加载数据集并划分,打印尺寸,归一化处理,将数据转化为张量

from sklearn.datasets import load_iris
from sklearn.model_selection import train_split_test
import numpy
iris = load_iris
X = iris.data
y = iris.target
X_train, y_train, X_test, y_test = train_split_test(X, y, test_size = 0.8, random_state =42)
print(X_test.shap)
print(y_test.shap)
print(X_train.shap)
print(y_train.shap)
from sklearn.preprocesing import MinMaxScaler
scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)X_train = torch.Float.Tensor(X_train)
y_train = torch.Long.Tensor(y_train)
X_test = torch.Float.Tensor(X_test)
y_test = torch.Long.Tensor(y_test)

第二步进行模型架构:模型传递逻辑以及实例化

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

第三步进行模型训练:规定训练轮数,记录损失值,向前传播,反向传播优化并记录损失值 ,打印结果

criterion = nn.CrossEntropyloss()
optimizer = optim.SGD(model.parameters(),lr = 0.01)
num_epoch = 20000
loss =[]
for num_epoch in range(num_epoch):outputs = model forward(X_train)loss = criterion(outputs, y_train)optimizer.zero_grad()loss.backward()optimizer.step()loss.append(loss.item())if (epoch + 1) % 100 ==0:print(f'Epoch[{epoch +1} / {num_epoch}], Loss{loss.item():.4f}')

最后可以进行数据可视化

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()

@浙大疏锦行 

 

 

http://www.lqws.cn/news/72577.html

相关文章:

  • 4、ubuntu系统 | 文本和目录操作函数
  • react 生命周期
  • Java 2D 图形类总结与分类
  • 自定义Shell命令行解释器
  • 数据结构哈希表总结
  • [SC]SystemC中常用的宏和小工具
  • 抛砖引玉:RadarDet4D,NuScenes数据集Radar模态目标检测第二名(即将开源)
  • uniapp-商城-77-shop(8.2-商品列表,地址信息添加,级联选择器picker)
  • 3. TypeScript 中的数据类型
  • Linux磁盘管理
  • 业务到解决方案构想
  • SQL 中的 `CASE WHEN` 如何使用?
  • 达梦数据库 Windows 系统安装教程
  • CentOS8.3+Kubernetes1.32.5+Docker28.2.2高可用集群二进制部署
  • 状态机实现文件单词统计
  • 人工智能在智能制造业中的创新应用与未来趋势
  • HealthBench医疗AI评估基准:技术路径与核心价值深度分析(上)
  • 架构师面试题整理
  • VitalInsight智能体检报告解读
  • 【深度学习-Day 21】框架入门:神经网络模型构建核心指南 (Keras PyTorch)
  • 每天总结一个html标签——a标签
  • CMake指令:string(字符串操作)
  • Linux--进程概念
  • 车载诊断架构 --- DTC消抖参数(Trip Counter DTCConfirmLimit )
  • 05-power BI高级筛选器filter与Values人工造表
  • NVM,Node.Js 管理工具
  • NodeJS全栈WEB3面试题——P4Node.js后端集成 服务端设计
  • neo4j 5.19.0两种基于向量进行相似度查询的方式
  • Node.js 中使用 Express 框架系统详细讲解
  • Redis持久化机制详解:RDB与AOF的深度剖析