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

如何做推广自己网站黄山网站seo

如何做推广自己网站,黄山网站seo,歌词插件wordpress,苏州专业网站建设设计公司GPU训练及类的call方法 CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x) CPU性能的查…

GPU训练及类的call方法

  1. CPU性能的查看:看架构代际、核心数、线程数
  2. GPU性能的查看:看显存、看级别、看架构代际
  3. GPU训练的方法:数据和模型移动到GPU device上
  4. 类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)

CPU性能的查看

import wmic = wmi.WMI()
processors = c.Win32_Processor()for processor in processors:print(f"CPU 型号: {processor.Name}")print(f"核心数: {processor.NumberOfCores}")print(f"线程数: {processor.NumberOfLogicalProcessors}")
CPU 型号: 13th Gen Intel(R) Core(TM) i9-13980HX
核心数: 24
线程数: 32

GPU性能查看

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.cudaprint(f"CUDA版本: {cuda_version}")# 查看cuDNN版本(如果可用)print("cuDNN版本:", torch.backends.cudnn.version())else:print("CUDA不可用。")
CUDA可用!
可用的CUDA设备数量: 1
当前使用的CUDA设备索引: 0
当前CUDA设备的名称: NVIDIA GeForce RTX 4060 Laptop GPU
CUDA版本: 12.1
cuDNN版本: 8907

GPU训练

import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
import time
import matplotlib.pyplot as plt# 设置GPU设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(f"使用设备: {device}")# 加载鸢尾花数据集
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)# 归一化数据
scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 将数据转换为PyTorch张量并移至GPU
X_train = torch.FloatTensor(X_train).to(device)
y_train = torch.LongTensor(y_train).to(device)
X_test = torch.FloatTensor(X_test).to(device)
y_test = torch.LongTensor(y_test).to(device)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# 实例化模型并移至GPU
model = MLP().to(device)# 分类问题使用交叉熵损失函数
criterion = nn.CrossEntropyLoss()# 使用随机梯度下降优化器
optimizer = optim.SGD(model.parameters(), lr=0.01)# 训练模型
num_epochs = 20000  # 训练的轮数# 用于存储每100个epoch的损失值和对应的epoch数
losses = []start_time = time.time()  # 记录开始时间for epoch in range(num_epochs):# 前向传播outputs = model(X_train)  # 隐式调用forward函数loss = criterion(outputs, y_train)# 反向传播和优化optimizer.zero_grad()loss.backward()optimizer.step()# 记录损失值if (epoch + 1) % 200 == 0:losses.append(loss.item()) # item()方法返回一个Python数值,loss是一个标量张量print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')# 打印训练信息if (epoch + 1) % 100 == 0: # range是从0开始,所以epoch+1是从当前epoch开始,每100个epoch打印一次print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')time_all = time.time() - start_time  # 计算训练时间
print(f'Training time: {time_all:.2f} seconds')# 可视化损失曲线
plt.plot(range(len(losses)), losses)
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.title('Training Loss over Epochs')
plt.show()
Training time: 13.35 seconds

__call__方法

# 带参数的call方法
class Adder:def __call__(self, a, b):print("唱跳篮球rap")return a + badder = Adder()
print(adder(3, 5))  # 输出: 8

这两种写法是等价的,因为 model(X_train) 会自动调用 model.__call__(X_train) ,而在 nn.Module 中, __call__ 方法会调用 forward 方法。这就是为什么我们可以直接使用 model(X_train) 而不是显式地调用 forward 方法。

这种设计模式让PyTorch的代码更加优雅和直观,使得神经网络的构建和训练更加自然。

作业

GPU的计算并不会完全停止,它会继续处理下一批数据的计算。当GPU在计算时,CPU可以同时处理其他任务,现代系统的任务调度器会尽量减少CPU和GPU之间的等待时间。记录次数和剩余时长之间并没有明显的线性关系。这种非线性关系实际上反映了现代计算架构的高效性。

@浙大疏锦行

http://www.dtcms.com/wzjs/178004.html

相关文章:

  • 新网站如何做百度百科汕头seo推广优化
  • 便宜营销型网站建设优化建站杭州疫情最新消息
  • 做药品网站规划方案友链交易
  • 网站建设空间使用标准google永久免费的服务器
  • 公司公众网站微信平台建设方案怎样在浏览器上找网站
  • 虚拟机如何做网站信息发布
  • 日照建设工程信息网站google搜索免费入口
  • 可以直接做室内su的网站seo推广官网
  • 山东烟台疫情最新数据广州百度快速排名优化
  • 全套的网站建设教程含前端和后端项目推广平台排行榜
  • 幼儿园做网站的作用百度seo排名优化教程
  • 丰宁县有做网站的吗?crm管理系统
  • 冷门行业做网站的优势网络热词2023流行语及解释
  • 个人做门户网站需要注册深圳市企业网站seo
  • 收录好的网站网络推广的具体方式
  • 网站开发电商crm管理系统
  • 做网站公司郑州广告投放优化师
  • 以企业介绍为主做外贸网站好吗常德seo公司
  • wordpress虚拟主机安装网络搜索优化
  • 政府网站制作公司怎样做一个产品营销方案
  • IT男做网站阿里指数官网
  • 如何做自己的淘宝客网站搜索引擎推广方案案例
  • 凡科做视频网站跨境电商靠谱吗
  • 学网站开发推荐书线上营销有哪些
  • 商城网站建设自助建站平台网络推广运营团队
  • 网站优化如何做pc指数营业推广经典案例
  • 怎样自做网站刚刚中国突然宣布
  • 国外做连接器平台网站品牌广告和效果广告
  • 大数据培训班出来能就业吗百度怎么优化排名
  • 网站开发以图片为背景html底部友情链接代码