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

国内做网站费用搜索引擎推广简称

国内做网站费用,搜索引擎推广简称,象山县建设管理局网站,四川省政府官网知识点回顾: 三种不同的模型可视化方法:推荐torchinfo打印summary权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式 可视化 理解深度学习网络最重要的2点: 1.了解损失如何定…

知识点回顾:

  1. 三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化
  2. 进度条功能:手动和自动写法,让打印结果更加美观
  3. 推理的写法:评估模式
可视化

理解深度学习网络最重要的2点:

1.了解损失如何定义的,知道损失从何而来----把抽象的任务通过损失函数量化出来
2.了解参数总量,即知道每一层的设计才能退出---层设计决定参数总量

1.1 nn.model自带的方法

#1.
#  nn.Module 的内置功能,直接输出模型结构
print(model)#2.
# nn.Module 的内置功能,返回模型的可训练参数迭代器
for name, param in model.named_parameters():print(f"Parameter name: {name}, Shape: {param.shape}")#3.
# 提取权重数据
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, bins=50, alpha=0.7)axes[i].set_title(name)axes[i].set_xlabel('Weight Value')axes[i].set_ylabel('Frequency')axes[i].grid(True, linestyle='--', alpha=0.7)plt.tight_layout()
plt.subplots_adjust(top=0.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)
from torchsummary import summary
# 打印模型摘要,可以放置在模型定义后面
summary(model, input_size=(4,))

该方法不显示输入层的尺寸,因为输入的神经网是自己设置的,所以不需要显示输入层的尺寸。 但是在使用该方法时,input_size=(4,) 参数是必需的,因为 PyTorch 需要知道输入数据的形状才能推断模型各层的输出形状和参数数量。

summary 函数的核心逻辑是:

创建一个与 input_size 形状匹配的虚拟输入张量(通常填充零)
将虚拟输入传递给模型,执行一次前向传播(但不计算梯度)
记录每一层的输入和输出形状,以及参数数量
生成可读的摘要报告

from torchinfo import summary
summary(model, input_size=(4, ))

torchinfo 是提供比 torchsummary 更详细的模型摘要信息,包括每层的输入输出形状、参数数量、计算量等

from tqdm import tqdm  # 先导入tqdm库
import time  # 用于模拟耗时操作# 创建一个总步数为10的进度条
with tqdm(total=10) as pbar:  # pbar是进度条对象的变量名# pbar 是 progress bar(进度条)的缩写,约定俗成的命名习惯。for i in range(10):  # 循环10次(对应进度条的10步)time.sleep(0.5)  # 模拟每次循环耗时0.5秒pbar.update(1)  # 每次循环后,进度条前进1步
# 在测试集上评估模型,此时model内部已经是训练好的参数了
# 评估模型
model.eval() # 设置模型为评估模式
with torch.no_grad(): # torch.no_grad()的作用是禁用梯度计算,可以提高模型推理速度outputs = model(X_test)  # 对测试数据进行前向传播,获得预测结果_, predicted = torch.max(outputs, 1) # torch.max(outputs, 1)返回每行的最大值和对应的索引#这个函数返回2个值,分别是最大值和对应索引,参数1是在第1维度(行)上找最大值,_ 是Python的约定,表示忽略这个返回值,所以这个写法是找到每一行最大值的下标# 此时outputs是一个tensor,p每一行是一个样本,每一行有3个值,分别是属于3个类别的概率,取最大值的下标就是预测的类别# predicted == y_test判断预测值和真实值是否相等,返回一个tensor,1表示相等,0表示不等,然后求和,再除以y_test.size(0)得到准确率# 因为这个时候数据是tensor,所以需要用item()方法将tensor转化为Python的标量# 之所以不用sklearn的accuracy_score函数,是因为这个函数是在CPU上运行的,需要将数据转移到CPU上,这样会慢一些# size(0)获取第0维的长度,即样本数量correct = (predicted == y_test).sum().item() # 计算预测正确的样本数accuracy = correct / y_test.size(0)print(f'测试集准确率: {accuracy * 100:.2f}%')

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

相关文章:

  • 青岛网站建设公司招聘crm系统
  • 个人备案域名可以做哪些网站吗网络服务提供者知道或者应当知道
  • 北京网站建设电话百度福州分公司
  • 邯郸市房价seo营销推广全程实例
  • 168网站建设谷歌搜索引擎首页
  • 个人网站备案名搜索引擎优化师工资
  • flash网站制作教程推广渠道怎么写
  • 商务网站构建与维护河南网站推广
  • 南昌企业网站建设费用百度云建站
  • 代做论文 软件指导去哪些网站做网站找哪个公司好
  • 网站建设 网站设计人员优化方案怎么写
  • 小说网站防盗做的好百度风云排行榜
  • 网站建设的关键要素网络营销的主要工作有哪些
  • 认证网站所有权要添加代码广州:推动优化防控措施落地
  • 新乡网站建设多少钱图片外链工具
  • 邯郸网站建设的地方青岛百度网站排名优化
  • 企业网站建设计什么科目关键词智能优化排名
  • 优秀的个人网站案例分析知名seo公司
  • 商场网站开发的项目分析今日头条收录入口
  • 长沙传媒公司泰安短视频seo
  • 做网站设计答辩问题百度搜索引擎投放
  • 做ppt用的音效网站百度一级代理商
  • 做网站如何写需求外链管理
  • 网站建设费用摊销多少年湖南seo推广
  • 网站开发语言 微信接口百度信息流推广技巧
  • 做网站公司怎么备案客户网站免费推客推广平台
  • 商业网站怎么做seo整站优化新站快速排名
  • 淮安营销型网站建设不限次数观看视频的app
  • 创意网站建设公司免费发布产品的网站
  • 做网站建设公司网易互客seo优化网