news 2026/6/15 20:15:36

Day39 PythonStudy

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:32:06

百度AI开放平台VS GPT-SoVITS:哪个更便宜?

百度AI开放平台VS GPT-SoVITS:哪个更便宜? 在智能语音技术迅速渗透日常生活的今天,越来越多的企业和个人开始关注“用声音说话”的成本问题。无论是为客服系统配上自然流畅的播报音,还是打造专属品牌的虚拟代言人,语音…

作者头像 李华
网站建设 2026/6/15 15:32:02

YOLOv5详解:高效目标检测的实战指南

YOLOv5详解:高效目标检测的实战指南 在智能制造车间的一条高速生产线上,摄像头每秒捕捉数百帧图像,系统必须在毫秒级时间内判断产品是否存在划痕、缺件或装配偏差。传统视觉算法早已力不从心,而深度学习模型又常因推理延迟无法满…

作者头像 李华
网站建设 2026/6/15 14:30:39

Typora 免费安装教程

Typora 免费安装教程 1.Typora 简介 Typora 是一款跨平台的 Markdown 编辑器,因其简洁的界面和流畅的用户体验而受到广泛欢迎。它支持实时预览功能,让您在编辑 Markdown 文档的同时即时查看最终效果,无需切换视图。此外,Typora …

作者头像 李华
网站建设 2026/6/15 15:46:27

day-02数组题目总结笔记

数组题目总结笔记(二) 目录 最长公共前缀加一杨辉三角买卖股票的最佳时机多数元素6. 最长公共前缀 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。 示例: 输入:strs…

作者头像 李华
网站建设 2026/6/15 9:31:15

LobeChat能否实现AI生成读书笔记?阅读效率倍增技巧

LobeChat能否实现AI生成读书笔记?阅读效率倍增技巧 在信息爆炸的时代,我们每天面对的文本量远超以往——学术论文、行业报告、电子书籍、长篇资讯……即便一个人全年无休地阅读,也难以追上知识更新的速度。更现实的问题是:读完了&…

作者头像 李华
网站建设 2026/6/15 6:18:45

消费级硬件微调210亿参数GPT-OSS-20b指南

消费级硬件微调210亿参数GPT-OSS-20b指南 在一台只有16GB内存的笔记本上跑通210亿参数的大模型?听起来像是天方夜谭。但就在几个月前,我用家里的RTX 4070台式机成功完成了 GPT-OSS-20b 的本地微调——这个由OpenAI开源权重构建的轻量级高性能语言模型&am…

作者头像 李华