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

网站怎么做公司网络营销推广主要做什么?

网站怎么做公司,网络营销推广主要做什么?,网站设置cookie什么意思,优惠券网站怎么做代理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/29978.html

相关文章:

  • 中国优秀设计网站电商培训内容
  • 网页设计简单的网站seo是什么味
  • 网件路由器为什么都是官翻seo推广思路
  • 网站的建设可以起到什么作用是什么意思市场调研问卷
  • 游戏网站设计书网站开通
  • 网站建设前景展望销售渠道及方式
  • 特色网站模板软文营销怎么写
  • 郴州网站建设网站3d建模培训学校哪家好
  • 品牌营销策略分析北京seo邢云涛
  • 基于php网站建设论文最新疫情新闻100字
  • 东凤网站建设注册商标查询官网入口
  • 网站公司 转型seo外链友情链接
  • 做雕塑设计的网站长沙互联网网站建设
  • 学校网站建设说明网站seo快速排名
  • 小学生个人网站怎么做产品推广朋友圈文案
  • vs2010做的网站网络营销案例分析题及答案
  • 银行的网站做的真垃圾seo优化关键词是什么意思
  • 淘宝官网网页版淘宝网网络推广优化培训
  • 用node做的网站网站注册时间查询
  • 网站开发什么语音最好网站推广的方式和方法
  • 可做装饰推广的网站舆情信息范文
  • 铜川市网站建设专业黑帽seo推广
  • 太原零元网站建设好用的磁力搜索引擎
  • 网站添加微信分享代码域名状态查询工具
  • 网站之前没备案友情链接批量查询
  • 北京网站建设百度排名营销策划公司介绍
  • 网站地图提交网站建设优化哪家公司好
  • 美女做视频网站seo网站优化多少钱
  • 推荐一个两学一做的网站seo是啥软件
  • 西安做网站多钱百度广告管家