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

Day39 PythonStudy

@浙大疏锦行

import torch torch.cuda import torch # 检查CUDA是否可用 if torch.cuda.is_available(): print("CUDA可用!") # 获取可用的CUDA设备数量 device_count = torch.cuda.device_count() print(f"可用的CUDA设备数量: {device_count}") # 获取当前使用的CUDA设备索引 current_device = torch.cuda.current_device() print(f"当前使用的CUDA设备索引: {current_device}") # 获取当前CUDA设备的名称 device_name = torch.cuda.get_device_name(current_device) print(f"当前CUDA设备的名称: {device_name}") # 获取CUDA版本 cuda_version = torch.version.cuda print(f"CUDA版本: {cuda_version}") else: print("CUDA不可用。")
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)

(120, 4)
(120,)
(30, 4)
(30,)

# 归一化数据,神经网络对于输入数据的尺寸敏感,归一化是最常见的处理方式 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # 将数据转换为 PyTorch 张量,因为 PyTorch 使用张量进行训练 # y_train和y_test是整数,所以需要转化为long类型,如果是float32,会输出1.0 0.0 X_train = torch.FloatTensor(X_train) y_train = torch.LongTensor(y_train) X_test = torch.FloatTensor(X_test) y_test = torch.LongTensor(y_test) 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() # 分类问题使用交叉熵损失函数 criterion = nn.CrossEntropyLoss() # 使用随机梯度下降优化器 optimizer = optim.SGD(model.parameters(), lr=0.01) # 训练 num_epochs = 10 losses = [] for epoch in range(num_epochs): #前向传播 outputs = model.forward(X_train) loss = criterion(outputs,y_train) #反向传播 optimizer.zero_grad() #梯度清零 loss.backward()#反向传播计算梯度 optimizer.step()#更新参数 #记录损失 losses.append(loss.item()) #打印训练信息 print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')

Epoch [1/10], Loss: 1.1156
Epoch [2/10], Loss: 1.1153
Epoch [3/10], Loss: 1.1150
Epoch [4/10], Loss: 1.1147
Epoch [5/10], Loss: 1.1144
Epoch [6/10], Loss: 1.1141
Epoch [7/10], Loss: 1.1138
Epoch [8/10], Loss: 1.1135
Epoch [9/10], Loss: 1.1132
Epoch [10/10], Loss: 1.1130

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.rkmt.cn/news/110432.html

相关文章:

  • 基于openwrt的打印机服务器--无法连接打印机的问题
  • Yolo-v5运行中thop安装与检测框问题解决
  • FPGA基础知识(十九):Xilinx Block Memory IP核(4)--True Dual Port RAM 详解
  • Dify插件开发完整指南
  • 如何在Windows和Linux上完成TensorRT安装包的部署
  • 文件系统相关问题(AI回答)
  • LobeChat能否实现AI润色功能?写作质量提升实战
  • RuoYi-Vue教育系统:学校管理平台开发
  • 2025年恒温槽优质定制厂家排行榜,优质恒温槽供应商推荐及服 - myqiye
  • LobeChat能否接入Twitter/X API?社交内容自动生成
  • 医用级制氧机哪个牌子好?医疗级制氧机,符合医用标准的稳定氧疗设备推荐 - 速递信息
  • 根据Excel数据自动生成Word文档:AI助力文档自动化的未来
  • 2025年实力一物一码技术供应商推荐,专业防伪溯源解决方案企 - mypinpai
  • 提升AI开发效率:将git下载、pip安装统一指向清华镜像
  • 2025年华东地区制冷恒温槽厂家TOP5推荐:恒温槽定制供应 - myqiye
  • 2025年年终南宁管道疏通推荐:专业排行解析与多维度服务对比评测 - 品牌推荐
  • 阿瓦倒萨的
  • LobeChat能否接入区块链钱包?Web3身份验证探索
  • TensorRT-8显式量化细节与实践
  • YOLO推理速度瓶颈分析与GPU优化建议
  • AI知识科普丨什么是 AI Agent?
  • ENSP下载官网打不开?这份备用清单请收好
  • vLLM-Ascend部署Qwen3-Next实战指南
  • Ubuntu部署Xingrin(星环)企业级漏洞扫描与资产管理平台
  • 2025年中国手竿选购指南:十大公认好竿背后的实力之选 - 品牌2026
  • 2025年鱼竿十大品牌名单:中国口碑好十大鱼竿 - 品牌2026
  • 深圳到石家庄、唐山、秦皇岛、邯郸、邢台、保定、张家口、承德、沧州、廊坊、衡水搬家公司搬家物流推荐!跨省搬家排行榜 - 物流人
  • 不得了!这家诚信酶制剂公司太值得关注!
  • 2025年诚信的实验室反应釜企业推荐,看看哪家性价比高? - 工业推荐榜
  • 活动回顾丨阿里云AI原生应用开发实战营AI Agent 专场(上海站)回顾PPT下载