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

键盘事件对网站交互怎么投放广告是最有效的

键盘事件对网站交互,怎么投放广告是最有效的,做网站买完域名还要,黄石企业网站建设​一、需求描述 实战四分为三部分来实现,第二部分是基于PyTorch的猫狗图像可视化训练的教程,实现了一个完整的猫狗分类模型训练流程,使用预训练的ResNet50模型进行迁移学习,并通过SwanLab进行实验跟踪。 效果图 ​二、实现思路 …

​一、需求描述

实战四分为三部分来实现,第二部分是基于PyTorch的猫狗图像可视化训练的教程,实现了一个完整的猫狗分类模型训练流程,使用预训练的ResNet50模型进行迁移学习,并通过SwanLab进行实验跟踪。

效果图

​二、实现思路

总体思路

  1. 导入和初始化配置:设置训练超参数(学习率、批次大小、训练轮数等);
  2. 加载数据集:读取自定义数据集,并设置数据加载器;
  3. 模型构建:加载预训练的ResNet50模型,并修改全连接层适配二分类任务;
  4. 训练配置:定义交叉熵损失函数,设置Adam优化器;
  5. 模型训练:循环遍历训练轮次,在每轮次遍历每个批次的数据,并实时打印训练进度及记录损失值到SwanLab。

2.1 导入和初始化配置

import swanlab
num_epochs=20
lr=1e-4
batch_size=8
num_classes=2
device="cuda"swanlab.init(experiment_name="模型训练实验",description="猫狗分类",mode="local",config={"model":"resnet50","optim":"Adam","lr":lr,"batch_size":batch_size,"num_epochs":num_epochs,"num_class":num_classes,"device":device,}
)
  • import swanlab - 导入SwanLab库,用于实验跟踪和可视化
  • num_epochs=20 - 设置训练轮数为20轮
  • lr=1e-4 - 设置学习率为0.0001
  • batch_size=8 - 设置批次大小为8
  • num_classes=2 - 设置分类类别数为2(猫和狗)
  • device="cuda" - 设置使用GPU进行训练
  • swanlab.init() - 初始化SwanLab实验,记录实验配置参数

2.2 加载数据集

import readDataset
from torch.utils.data import DataLoader
train_dataset=readDataset.DatasetLoader(readDataset.ds_train)
train_loader=(DataLoader(train_dataset,batch_size=batch_size,shuffle=True))
  • import readDataset - 导入自定义的数据集读取模块
  • from torch.utils.data import DataLoader - 导入PyTorch的数据加载器
  • train_dataset=readDataset.DatasetLoader(readDataset.ds_train) - 创建训练数据集对象
  • train_loader=(DataLoader(train_dataset,batch_size=batch_size,shuffle=True)) - 创建数据加载器,设置批次大小并启用随机打乱

2.3 模型构建

import torch
import torchvision
from torchvision.models import ResNet50_Weightsmodel=torchvision.models.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
in_features=model.fc.in_features
model.fc=torch.nn.Linear(in_features,num_classes)
model.to(device)
  • import torch - 导入PyTorch深度学习框架
  • import torchvision - 导入计算机视觉库
  • from torchvision.models import ResNet50_Weights - 导入ResNet50预训练权重
  • model=torchvision.models.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2) - 加载预训练的ResNet50模型
  • in_features=model.fc.in_features - 获取全连接层的输入特征数
  • model.fc=torch.nn.Linear(in_features,num_classes) - 替换最后的全连接层,输出类别数为2
  • model.to(device) - 将模型移动到GPU设备

2.4 训练配置

criterion=torch.nn.CrossEntropyLoss()
optimizer=torch.optim.Adam(model.parameters(),lr=lr)
  • criterion=torch.nn.CrossEntropyLoss() - 定义交叉熵损失函数,适用于多分类问题
  • optimizer=torch.optim.Adam(model.parameters(),lr=lr) - 定义Adam优化器,设置学习率

2.5 模型训练

for epoch in range(num_epochs):model.train()for iter,(inputs,labels) in enumerate(train_loader):inputs,labels=inputs.to(device),labels.to(device)optimizer.zero_grad()outputs=model(inputs)loss=criterion(outputs,labels)loss.backward()optimizer.step()print('Epoch[{}/{}],Iteration[{}/{}],Loss:{:.4f}'.format(epoch+1,num_epochs,iter+1,len(train_loader),loss.item()))swanlab.log({"train_loss":loss.item()})
  • for epoch in range(num_epochs): - 外层循环,遍历每个训练轮次
  • model.train() - 设置模型为训练模式
  • for iter,(inputs,labels) in enumerate(train_loader): - 内层循环,遍历每个批次的数据
  • inputs,labels=inputs.to(device),labels.to(device) - 将输入数据和标签移动到GPU
  • optimizer.zero_grad() - 清空梯度
  • outputs=model(inputs) - 前向传播,获取模型预测结果
  • loss=criterion(outputs,labels) - 计算损失
  • loss.backward() - 反向传播,计算梯度
  • optimizer.step() - 更新模型参数
  • print(...) - 打印训练进度和损失值
  • swanlab.log({"train_loss":loss.item()}) - 记录损失值到SwanLab实验跟踪系统

三、完整代码

import swanlab
num_epochs=20
lr=1e-4
batch_size=8
num_classes=2
device="cuda"swanlab.init(experiment_name="模型训练实验",description="猫狗分类",mode="local",config={"model":"resnet50","optim":"Adam","lr":lr,"batch_size":batch_size,"num_epochs":num_epochs,"num_class":num_classes,"device":device,}
)import readDataset
from torch.utils.data import DataLoader
train_dataset=readDataset.DatasetLoader(readDataset.ds_train)
train_loader=(DataLoader(train_dataset,batch_size=batch_size,shuffle=True))import torch
import torchvision
from torchvision.models import ResNet50_Weightsmodel=torchvision.models.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
in_features=model.fc.in_features
model.fc=torch.nn.Linear(in_features,num_classes)
model.to(device)
criterion=torch.nn.CrossEntropyLoss()
optimizer=torch.optim.Adam(model.parameters(),lr=lr)for epoch in range(num_epochs):model.train()for iter,(inputs,labels) in enumerate(train_loader):inputs,labels=inputs.to(device),labels.to(device)optimizer.zero_grad()outputs=model(inputs)loss=criterion(outputs,labels)loss.backward()optimizer.step()print('Epoch[{}/{}],Iteration[{}/{}],Loss:{:.4f}'.format(epoch+1,num_epochs,iter+1,len(train_loader),loss.item()))swanlab.log({"train_loss":loss.item()})

四、效果展示

  • PyCharm运行日志
    在这里插入图片描述
  • PyCharm终端日志
    在这里插入图片描述
  • SwanLab工作区
    在这里插入图片描述
  • 模拟训练实验的概览
    在这里插入图片描述
  • 模拟训练实验的实验图表
    在这里插入图片描述
  • 模拟训练实验的日志
    在这里插入图片描述
  • 模拟训练实验的实验环境
    在这里插入图片描述

五、问题与解决

问题一:ModuleNotFoundError: No module named ‘XXX’
解决一:pip install XXX

pip install 'swanlab[dashboard]'
http://www.dtcms.com/wzjs/201780.html

相关文章:

  • 网站正在建设中 html 模板建站系统源码
  • 网站建设网络课程随州今日头条新闻
  • 做虾皮网站赚钱吗免费网站seo优化
  • 静态页面网站怎么做渠道推广
  • wordpress google字体插件seo优化系统
  • 做教育类seo网站靠谱吗东莞seoseo关键词排名优化
  • 开发jsp网站合肥网站关键词排名
  • 帮客户做网站 没签合同咋办百度一下知道首页
  • 网站建设技术方案模板下载seo网站诊断流程
  • wordpress 展开目录网站建设优化哪家公司好
  • 微信投票网站怎么做西地那非片说明书
  • wordpress 风格 切换seo引擎搜索网站关键词
  • 网站空间商怎么做网络营销方法
  • 做公司的网站有哪些东西百度权重1是什么意思
  • 翻译网站模板sem竞价专员
  • 微信公众号怎么开通免费百度 seo优化作用
  • 网站开发费用属无形资产吗seo推广培训中心
  • 手机版刷赞网站建设长春网站建设方案咨询
  • 最好记得网站域名企业如何进行网络推广
  • wordpress 增加导航栏百度推广优化中心
  • 做网站设计师要提供什么摘抄一小段新闻
  • 东莞石龙网站建设莞网站制作手机创建网站免费注册
  • 国外知名设计网站成人培训班有哪些课程
  • 知名品牌网站有哪些百度推广官方电话
  • 广州网站建设阿里云百度搜索推广的定义
  • 安徽建设工程信息网新网站哪儿登陆微信引流推广怎么做
  • 加强检察院门户网站建设百度指数的主要用户是
  • 网站上面的彩票快3怎么做上海seo服务
  • 网站建设书百度精准推广
  • 贵阳微网站站内营销推广方案