网站后台怎么上传表格淘宝提货网站怎么做的

张小明 2026/1/11 17:06:13
网站后台怎么上传表格,淘宝提货网站怎么做的,兰州优秀网站推广,违章建设举报网站# DAY 43 随机函数与广播机制 知识点回顾: 1. 随机张量的生成: torch.randn函数 2. 卷积和池化的计算公式 (可以不掌握, 会自动计算的) 3. pytorch的广播机制: 加法和乘法的广播机制 ps: numpy运算也有类似的广播机制, 基本一致 作业: 自己多举几个例子帮助自己理解即可…# DAY 43 随机函数与广播机制知识点回顾:1. 随机张量的生成: torch.randn函数2. 卷积和池化的计算公式 (可以不掌握, 会自动计算的)3. pytorch的广播机制: 加法和乘法的广播机制ps: numpy运算也有类似的广播机制, 基本一致作业: 自己多举几个例子帮助自己理解即可# CBAM 注意力知识点回顾:1. 通道注意力模块复习2. 空间注意力模块3. CBAM的定义作业尝试对今天的模型检查参数数目并用 tensorboard 查看训练过程浙大疏锦行# 导入依赖库 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt # 1. 模型参数统计工具统计模型总参数、可训练/不可训练参数数量 def count_model_parameters(model): total_params 0 trainable_params 0 non_trainable_params 0 for param in model.parameters(): param_num param.numel() total_params param_num if param.requires_grad: trainable_params param_num else: non_trainable_params param_num def format_params(num): if num 1e6: return f{num/1e6:.2f}M elif num 1e3: return f{num/1e3:.2f}K else: return f{num} print(模型参数统计) print(f总参数: {format_params(total_params)} ({total_params:,})) print(f可训练参数: {format_params(trainable_params)} ({trainable_params:,})) print(f不可训练参数: {format_params(non_trainable_params)} ({non_trainable_params:,})) return total_params, trainable_params, non_trainable_params # 2. CBAM注意力模块定义 class CBAMBlock(nn.Module): def __init__(self, channels, reduction16): super().__init__() # 通道注意力 self.avg_pool nn.AdaptiveAvgPool2d(1) self.max_pool nn.AdaptiveMaxPool2d(1) self.fc nn.Sequential( nn.Linear(channels, channels//reduction), nn.ReLU(inplaceTrue), nn.Linear(channels//reduction, channels) ) # 空间注意力 self.spatial nn.Sequential( nn.Conv2d(2, 1, kernel_size7, padding3, biasFalse), nn.Sigmoid() ) self.sigmoid nn.Sigmoid() def forward(self, x): # 通道注意力计算 avg_out self.fc(self.avg_pool(x).view(x.size(0), -1)).view(x.size(0), x.size(1), 1, 1) max_out self.fc(self.max_pool(x).view(x.size(0), -1)).view(x.size(0), x.size(1), 1, 1) channel_att self.sigmoid(avg_out max_out) x x * channel_att # 空间注意力计算 avg_out torch.mean(x, dim1, keepdimTrue) max_out, _ torch.max(x, dim1, keepdimTrue) spatial_att self.spatial(torch.cat([avg_out, max_out], dim1)) x x * spatial_att return x # 3. 基于CBAM的CNN模型定义 class CBAM_CNN(nn.Module): def __init__(self, num_classes10): super().__init__() self.features nn.Sequential( nn.Conv2d(3, 64, kernel_size3, padding1), nn.ReLU(inplaceTrue), CBAMBlock(64), nn.MaxPool2d(2, 2), nn.Conv2d(64, 128, kernel_size3, padding1), nn.ReLU(inplaceTrue), CBAMBlock(128), nn.MaxPool2d(2, 2), ) self.classifier nn.Linear(128 * 8 * 8, num_classes) def forward(self, x): x self.features(x) x x.view(x.size(0), -1) x self.classifier(x) return x # 4. 训练函数集成TensorBoard可视化 def train(model, train_loader, test_loader, criterion, optimizer, scheduler, device, epochs, writer): model.train() all_iter_losses [] iter_indices [] for epoch in range(epochs): running_loss 0.0 correct 0 total 0 for batch_idx, (data, target) in enumerate(train_loader): data, target data.to(device), target.to(device) optimizer.zero_grad() output model(data) loss criterion(output, target) loss.backward() optimizer.step() iter_loss loss.item() global_step epoch * len(train_loader) batch_idx 1 all_iter_losses.append(iter_loss) iter_indices.append(global_step) # TensorBoard记录batch级损失 writer.add_scalar(Train/Batch_Loss, iter_loss, global_step) running_loss iter_loss _, predicted output.max(1) total target.size(0) correct predicted.eq(target).sum().item() if (batch_idx 1) % 100 0: print(fEpoch {epoch1}/{epochs} | Batch {batch_idx1}/{len(train_loader)} | 单Batch损失: {iter_loss:.4f}) # 记录epoch级训练指标 epoch_train_loss running_loss / len(train_loader) epoch_train_acc 100. * correct / total writer.add_scalar(Train/Epoch_Loss, epoch_train_loss, epoch1) writer.add_scalar(Train/Epoch_Accuracy, epoch_train_acc, epoch1) # 测试阶段 model.eval() test_loss 0 correct_test 0 total_test 0 with torch.no_grad(): for data, target in test_loader: data, target data.to(device), target.to(device) output model(data) test_loss criterion(output, target).item() _, predicted output.max(1) total_test target.size(0) correct_test predicted.eq(target).sum().item() # 记录epoch级测试指标 epoch_test_loss test_loss / len(test_loader) epoch_test_acc 100. * correct_test / total_test writer.add_scalar(Test/Epoch_Loss, epoch_test_loss, epoch1) writer.add_scalar(Test/Epoch_Accuracy, epoch_test_acc, epoch1) scheduler.step(epoch_test_loss) print(fEpoch {epoch1} 完成 | 训练准确率: {epoch_train_acc:.2f}% | 测试准确率: {epoch_test_acc:.2f}%) writer.close() return epoch_test_acc # 5. 绘图辅助函数 def plot_iter_losses(losses, indices): plt.figure(figsize(10, 4)) plt.plot(indices, losses, b-, alpha0.7) plt.xlabel(Iteration) plt.ylabel(Loss) plt.title(Training Loss per Iteration) plt.grid(True) plt.show() # 6. 主执行逻辑 if __name__ __main__: # 设备配置 device torch.device(cuda if torch.cuda.is_available() else cpu) # 数据加载CIFAR10 transform transforms.Compose([ transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ]) train_dataset torchvision.datasets.CIFAR10(root./data, trainTrue, downloadTrue, transformtransform) test_dataset torchvision.datasets.CIFAR10(root./data, trainFalse, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size64, shuffleTrue, num_workers2) test_loader DataLoader(test_dataset, batch_size64, shuffleFalse, num_workers2) # 模型、损失函数、优化器初始化 model CBAM_CNN().to(device) criterion nn.CrossEntropyLoss() optimizer optim.Adam(model.parameters(), lr0.001) scheduler optim.lr_scheduler.ReduceLROnPlateau(optimizer, modemin, patience3, factor0.5) # 统计模型参数 count_model_parameters(model) # 初始化TensorBoard writer SummaryWriter(log_dir./cbam_logs) # 启动训练 epochs 50 print(开始模型训练...) final_accuracy train(model, train_loader, test_loader, criterion, optimizer, scheduler, device, epochs, writer) print(f训练完成 | 最终测试准确率: {final_accuracy:.2f}%)
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

商务网站建设目的建立一个企业网站需要多少钱

EmotiVoice能否生成诗歌朗诵语音?韵律美感捕捉 在数字人文与AI艺术交汇的今天,一个看似简单却极具挑战的问题浮现出来:机器能否真正“读懂”一首诗,并用声音将其灵魂演绎出来?不是机械地朗读字句,而是像一位…

张小明 2026/1/10 6:54:22 网站建设

玩具网站的制作怎样在腾讯地图设置自己公司位置

Linly-Talker在医疗咨询场景中的创新应用探索 在三甲医院的夜间值班室里,急诊科医生平均每隔8分钟就要接起一个电话——大多是患者家属询问“孩子发烧39度要不要立刻送医”。这类重复性高、专业门槛低的咨询,占据了医护人员大量精力。与此同时&#xff…

张小明 2026/1/10 6:52:05 网站建设

企网官方网站怎么开发小程序

GPT-SoVITS多说话人模型训练:构建通用语音库 在数字内容爆炸式增长的今天,个性化语音服务正从“锦上添花”变为“刚需”。无论是为有声书定制多个角色音色,还是为虚拟主播克隆真实声音,传统语音合成系统往往受限于高昂的数据成本和…

张小明 2026/1/10 6:52:09 网站建设

苏州智能网站开发网站建设的技术可行性分析

零样本语音克隆有多强?EmotiVoice实测结果公布 在游戏里,你终于击败了那个折磨你一周的最终BOSS。屏幕一暗,随即传来一声低沉而颤抖的怒吼:“你竟然打败了我……不可原谅!”——这声音不只是台词播放,而是由…

张小明 2026/1/10 7:25:20 网站建设

温州网站关键词排名网站建设方案可以乱写吗

网球追踪系统:3大核心功能让比赛分析更智能 【免费下载链接】tennis-tracking Open-source Monocular Python HawkEye for Tennis 项目地址: https://gitcode.com/gh_mirrors/te/tennis-tracking 在当今科技飞速发展的时代,人工智能技术正在彻底改…

张小明 2026/1/10 7:07:15 网站建设

高端网站设计杭州石家庄建站模板搭建

CNI容器网络安全防护:7层防护体系完整实战指南 【免费下载链接】cni Container Networking 是一个开源项目,旨在实现容器网络和网络应用的高效编排和管理。 * 容器网络管理、网络应用编排和管理 * 有什么特点:基于 Kubernetes 和容器技术、实…

张小明 2026/1/10 6:52:16 网站建设