我的家乡网站建设太原铁路建设有限公司网站

张小明 2026/1/2 13:14:13
我的家乡网站建设,太原铁路建设有限公司网站,网站建设后怎么写,婚纱设计工作室一、模型结构可视化 1.nn.model自带的方法 这些是 PyTorch 原生支持的方法#xff0c;无需额外安装依赖#xff0c;核心用于打印 / 遍历模型层级、参数等信息。 # nn.Module 的内置功能#xff0c;返回模型的可训练参数迭代器 for name, param in model.named_parameters(…一、模型结构可视化1.nn.model自带的方法这些是 PyTorch 原生支持的方法无需额外安装依赖核心用于打印 / 遍历模型层级、参数等信息。# nn.Module 的内置功能返回模型的可训练参数迭代器 for name, param in model.named_parameters(): print(fParameter name: {name}, Shape: {param.shape})将模型中带有weight的参数即权重提取出来并转为 numpy 数组形式对其计算统计分布并且绘制可视化图表。# 提取权重数据 import numpy as np weight_data {} for name, param in model.named_parameters(): if weight in name: weight_data[name] param.detach().cpu().numpy() # 可视化权重分布 fig, axes plt.subplots(1, len(weight_data), figsize(15, 5)) fig.suptitle(Weight Distribution of Layers) for i, (name, weights) in enumerate(weight_data.items()): # 展平权重张量为一维数组 weights_flat weights.flatten() # 绘制直方图 axes[i].hist(weights_flat, bins50, alpha0.7) axes[i].set_title(name) axes[i].set_xlabel(Weight Value) axes[i].set_ylabel(Frequency) axes[i].grid(True, linestyle--, alpha0.7) plt.tight_layout() plt.subplots_adjust(top0.85) plt.show() # 计算并打印每层权重的统计信息 print(\n 权重统计信息 ) for name, weights in weight_data.items(): mean np.mean(weights) std np.std(weights) min_val np.min(weights) max_val np.max(weights) print(f{name}:) print(f 均值: {mean:.6f}) print(f 标准差: {std:.6f}) print(f 最小值: {min_val:.6f}) print(f 最大值: {max_val:.6f}) print(- * 30)2.torchsummary库的summary方法torchsummary是早期常用的 PyTorch 模型结构可视化工具核心通过summary方法打印模型的层结构、输出形状、参数数量等信息。from torchsummary import summary # 打印模型摘要可以放置在模型定义后面 summary(model, input_size(4,))核心限制仅支持单输入张量多输入模型会报错对嵌套过深的自定义 nn.Module 兼容性差仅支持 CPU/CUDA 设备无法显示参数占比、训练 / 非训练参数区分等细节。参数类型模型modelnn.Module待可视化的模型实例需已初始化input_sizetuple/list输入张量的形状不含 batch_size如 (3, 32, 32)3 通道 32x32 图片batch_sizeint批次大小默认 -1不显示 batch 维度指定后输出形状会包含 batch_sizedevicestr模型运行设备可选 cuda/cpu默认 cuda无 GPU 自动切 CPU该方法不显示输入层的尺寸因为输入的神经网是自己设置的所以不需要显示输入层的尺寸。但是在使用该方法时input_size(4,) 参数是必需的因为 PyTorch 需要知道输入数据的形状才能推断模型各层的输出形状和参数数量。这是因为PyTorch的模型在定义时是动态的它不会预先知道输入数据的具体形状。nn.Linear(4, 10) 只定义了 “输入维度是 4输出维度是 10”但不知道输入的批量大小和其他维度比如卷积层需要知道输入的通道数、高度、宽度等信息。----并非所有输入数据都是结构化数据因此要生成模型摘要如每层的输出形状、参数数量必须提供一个示例输入形状让 PyTorch “运行” 一次模型从而推断出各层的信息。summary 函数的核心逻辑是1. 创建一个与 input_size 形状匹配的虚拟输入张量通常填充零2. 将虚拟输入传递给模型执行一次前向传播但不计算梯度3. 记录每一层的输入和输出形状以及参数数量4. 生成可读的摘要报告3.torchinfo库的summary方法torchinfo 是 torchsummary 的升级版是 PyTorch 模型可视化的首选工具其核心 summary 方法支持多输入、嵌套模块、多设备CUDA/CPU/MPS、自定义显示列等能精准展示每层的输入输出形状、参数数量、训练状态、内存占用等关键信息。from torchinfo import summary summary(model, input_size(4, ))二、进度条功能1.手动更新from tqdm import tqdm # 先导入tqdm库 import time # 用于模拟耗时操作 # 创建一个总步数为10的进度条 with tqdm(total10) as pbar: # pbar是进度条对象的变量名 # pbar 是 progress bar进度条的缩写约定俗成的命名习惯。 for i in range(10): # 循环10次对应进度条的10步 time.sleep(0.5) # 模拟每次循环耗时0.5秒 pbar.update(1) # 每次循环后进度条前进1步from tqdm import tqdm import time # 创建进度条时添加描述desc和单位unit with tqdm(total5, desc下载文件, unit个) as pbar: # 进度条这个对象可以设置描述和单位 # desc是描述在左侧显示 # unit是单位在进度条右侧显示 for i in range(5): time.sleep(1) pbar.update(1) # 每次循环进度1unit 参数的核心作用是明确进度条中每个进度单位的含义使可视化信息更具可读性。在深度学习训练中常用的单位包括- epoch训练轮次遍历整个数据集一次。- batch批次每次梯度更新处理的样本组。- sample样本单个数据点2.自动更新from tqdm import tqdm import time # 直接将range(3)传给tqdm自动生成进度条 # 这个写法我觉得是有点神奇的直接可以给这个对象内部传入一个可迭代对象然后自动生成进度条 for i in tqdm(range(3), desc处理任务, unitepoch): time.sleep(1)# 用tqdm的set_postfix方法在进度条右侧显示实时数据如当前循环的数值、计算结果等 from tqdm import tqdm import time total 0 # 初始化总和 with tqdm(total10, desc累加进度) as pbar: for i in range(1, 11): time.sleep(0.3) total i # 累加123...10 pbar.update(1) # 进度1 pbar.set_postfix({当前总和: total}) # 显示实时总和三、模型的推理模型推理Inference是指使用训练好的模型对新数据进行预测 / 分类 / 回归的过程核心目标是高效、准确地得到模型输出。在 PyTorch 中推理流程需重点关注「模型状态切换、梯度关闭、数据预处理、设备匹配、效率优化」等关键点。# 在测试集上评估模型此时model内部已经是训练好的参数了 # 评估模型 model.eval() # 设置模型为评估模式 with torch.no_grad(): # torch.no_grad()的作用是禁用梯度计算可以提高模型推理速度 outputs model(X_test) # 对测试数据进行前向传播获得预测结果 _, predicted torch.max(outputs, 1) # torch.max(outputs, 1)返回每行的最大值和对应的索引 correct (predicted y_test).sum().item() # 计算预测正确的样本数 accuracy correct / y_test.size(0) print(f测试集准确率: {accuracy * 100:.2f}%)核心原则推理时需将模型切换为eval()模式禁用 BatchNorm/Dropout 等训练特有的层行为关闭梯度计算torch.no_grad()节省内存、加速推理数据预处理需与训练时完全一致如归一化、尺寸、通道顺序保证输入数据与模型设备CPU/GPU/MPS一致。前提训练好的模型保存推理的前提是有训练好的模型权重文件先演示模型保存。模型推理的核心流程模型加载与eval模式 → 数据预处理与训练一致 → 关闭梯度的前向传播 → 结果后处理浙大疏锦行
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

吉林新农村建设网站长沙seo工资

目录 一、引言:分布式训练的 “隐形基石” 与驱动版本的用户关切 二、测试环境与核心指标说明 2.1 硬件环境:8 台 H200 集群的统一配置 2.2 软件环境:双驱动版本的对比配置 2.3 测试配置:聚焦all-reduce的典型场景 2.4 核心指标解释:读懂 NCCL 测试结果 三、驱动版本…

张小明 2025/12/29 7:57:40 网站建设

景泰做网站如何自己制作微网站

文章目录1. 实战概述2. 实战步骤3. 实战总结1. 实战概述 本次实战围绕 MySQL 单表查询展开,基于 bookstore 数据库的图书、会员和销售三张表,系统演练了 SELECT 子句的核心功能,包括列选择、别名定义、CASE 表达式分类、计算列、去重查询&am…

张小明 2025/12/29 8:01:33 网站建设

WordPress版块会员可见网站谷歌优化怎么做

特点:封装成帧,透明传输,差错监测一、点到点协议PPP1.组成:LCP链路控制协议(身份验证)NCP网络控制协议(支持一种不同的网络层协议如IP)封装成帧2.认证机制1.PAP密码认证协议&#xf…

张小明 2025/12/29 7:57:40 网站建设

旅游网站开发数据库五星酒店网站建设方案

Incoloy907Incoloy 907是一种高性能的铁镍钴基高温合金,核心优势在于其极低的热膨胀系数与高温强度、抗蠕变能力的结合,专为严苛的热循环环境设计。‌‌核心特性:‌‌极低的热膨胀系数:‌ 这是907最突出的特点,使其在高…

张小明 2025/12/29 7:57:39 网站建设

react企业网站模板daozicms企业建站系统

GuardDog是一款功能强大的CLI工具,专门用于识别PyPI、npm、Go模块、GitHub Actions和VSCode扩展中的恶意软件包。它通过结合源代码分析和包元数据检测的双重机制,为开发者提供全面的软件供应链安全保障。 【免费下载链接】guarddog :snake: :mag: GuardD…

张小明 2025/12/29 7:57:39 网站建设

网站策划案怎么做专业seo培训学校

VERT:终极本地文件转换解决方案,安全快速免费使用 【免费下载链接】VERT The next-generation file converter. Open source, fully local* and free forever. 项目地址: https://gitcode.com/gh_mirrors/ve/VERT 还在为文件格式不兼容而烦恼吗&a…

张小明 2025/12/29 7:57:43 网站建设