【TORCH】绘制权重分布直方图,权重torch.fmod对torch.normal生成的随机数进行取模运算

news2025/4/7 3:19:00

要绘制上述代码中权重初始化的分布,可以分别展示每一层初始化权重的直方图。我们将用 torch.fmodtorch.normal 生成的随机数进行取模运算,确保权重值在 -2 到 2 之间。

含义解释

  • torch.normal(0, init_sd, size=...):生成服从均值为 0、标准差为 init_sd 的正态分布的张量。
  • torch.fmod(tensor, 2):对张量 tensor 中的每个元素取模 2 操作,结果在 [-2, 2) 范围内。

绘制分布的代码

以下代码生成初始化权重并绘制其直方图:

在这里插入图片描述

import torch
import matplotlib.pyplot as plt

# 参数
x_dim = 100  # 示例输入维度
width = 50   # 隐藏层宽度
n_double = 10  # 示例额外维度
init_sd_first = 0.1
init_sd_middle = 0.5
init_sd_last = 1.0

# 初始化权重
initial_weights = [
    torch.fmod(torch.normal(0, init_sd_first, size=(x_dim, width + n_double)), 2),
    torch.fmod(torch.normal(0, init_sd_middle, size=(width, width + n_double)), 2),
    torch.fmod(torch.normal(0, init_sd_middle, size=(width, width + n_double)), 2),
    torch.fmod(torch.normal(0, init_sd_last, size=(width, 1)), 2)
]

# 绘制直方图
plt.figure(figsize=(20, 5))

titles = ["Initial Weights Layer 1", "Initial Weights Layer 2", "Initial Weights Layer 3", "Initial Weights Layer 4"]
for i, weights in enumerate(initial_weights):
    plt.subplot(1, 4, i + 1)
    plt.hist(weights.numpy().flatten(), bins=30, color='blue', alpha=0.7)
    plt.title(titles[i])
    plt.xlabel('Weight Value')
    plt.ylabel('Frequency')

plt.tight_layout()
plt.show()

说明

  1. 参数设置x_dimwidthn_double 分别代表输入维度、隐藏层宽度和额外维度。

  2. 初始化权重

    • 第一层权重初始化:均值为 0,标准差为 init_sd_first,尺寸为 (x_dim, width + n_double)
    • 第二层和第三层权重初始化:均值为 0,标准差为 init_sd_middle,尺寸为 (width, width + n_double)
    • 第四层权重初始化:均值为 0,标准差为 init_sd_last,尺寸为 (width, 1)
    • 使用 torch.fmod 对初始化权重取模 2,使得权重在 [-2, 2) 范围内。
  3. 绘制直方图:每个子图展示了不同层初始化权重的分布情况。

通过这些图形,可以直观地看到不同标准差和不同层的权重分布情况。这有助于理解权重初始化对神经网络的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1902582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译Open Cascade(OCC)并使用C#进行开发

说明: VS版本:Visual Studio Community 2022系统:Windows 11 专业版23H2Open CASCADE:v7.7.0(链接:https://pan.baidu.com/s/1-o1s4z3cjpYf5XkwhSDspQ?pwdp9i5提取码:p9i5) 下载和…

【Kafka】Kafka生产者开启幂等性后报错:Cluster authorization failed.

文章目录 背景解决服务端配置ACL增加授权 背景 用户业务需求,需要开启生产者的幂等性,生产者加了配置:enable.idempotence true用户使用的集群开启了ACL认证:SASL_PLAINTEXT/SCRAM-SHA-512用户生产消息时报错:org.ap…

[笔记] 卷积 - 02 滤波器在时域的等效形式

1.讨论 这里主要对时域和频域的卷积运算的特征做了讨论,特别是狄拉克函数的物理意义。 关于狄拉克函数,参考这个帖子:https://zhuanlan.zhihu.com/p/345809392 1.狄拉克函数提到的好函数的基本特征是能够快速衰减,对吧&#xf…

VBA提取word表格内容到excel

这是一段提取word表格中部分内容的vb代码。 Sub 提取word表格() mypath ThisWorkbook.Path & "\"myname Dir(mypath & "*.doc*")n 4 index of rowsRange("A1:F1") Array("课程代码", "课程名称", "专业&…

云服务器在 Web 应用程序中作用

云服务器在Web应用程序中扮演着至关重要的角色,它不仅是现代Web应用程序的基石,还是推动业务发展和提升用户体验的关键技术之一。下面将详细探讨云服务器在Web应用程序中的重要作用及其优势。 首先,云服务器为Web应用程序提供了高度可扩展的…

蜂窝物联粮仓环境在线监测系统,确保粮食安全

在金黄的麦田里,每一粒小麦都承载着农民的辛勤与期待。为了保证这些宝贵粮食的品质与安全,储存环节显得尤为重要。传统的粮仓管理方式已难以满足现代粮食储存的需求,因此,引入智慧粮仓环境监控系统成为了必然的选择。 一、为何需…

谷粒商城 - 树形菜单递归流查询、三级分类数据查询性能优化、Jmter 性能压测

目录 树形分类菜单(递归查询,强扩展) 1)需求 2)数据库表设计 3)实现 4)关于 asSequence 优化 性能压测 1)Jmeter 安装使用说明 2)中间件对性能的影响 三级分类数…

Python内存优化的实战技巧详解

概要 Python是一种高级编程语言,以其易读性和强大的功能而广受欢迎。然而,由于其动态类型和自动内存管理,Python在处理大量数据或高性能计算时,内存使用效率可能不如一些低级语言。本文将介绍几种Python内存优化的技巧,并提供相应的示例代码,帮助在开发中更高效地管理内…

uniapp启动安卓模拟器mumu

mumu模拟器下载 ADB: android debug bridge , 安卓调试桥,是一个多功能的命令行工具,他使你能够与连接的安卓设备进行交互 # adb连接安卓模拟器 adb connect 127.0.0.1:port # 查看adb设备 adb deviceshubuilderx 有内置的adb&a…

【鸿蒙学习笔记】@Link装饰器:父子双向同步

官方文档:Link装饰器:父子双向同步 目录标题 [Q&A] Link装饰器作用 [Q&A] Link装饰器特点样例:简单类型样例:数组类型样例:Map类型样例:Set类型样例:联合类型 [Q&A] Link装饰器作用…

锂电池寿命预测 | Matlab基于改进的遗传算法优化BP神经网络的锂离子电池健康状态SOH估计

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 主要流程如下: 1、首先提取“放电截止电压时间”作为锂电池间接健康因子; 2、然后引入改进的遗传算法对BP神经网络的模型参数进行优化。 3、最后 NASA 卓越预测中心的锂电池数据集 B0005、B0006、B0007对…

VSCode设置字体大小

方法1:Ctrl 和 Ctrl -,可以控制整个VSCode界面的整体缩放,但是不会调整字体大小 方法2:该方法只能设置编辑器界面的字号,无法改变窗口界面的字号。 (1)点开左下角如下图标,进入…

【JVM基础篇】Java垃圾回收器介绍

垃圾回收器(垃圾回收算法实现) 垃圾回收器是垃圾回收算法的具体实现。由于垃圾回收器分为年轻代和老年代,除了G1(既能管控新生代,也可以管控老年代)之外,新生代、老年代的垃圾回收器必须按照ho…

【Python】组合数据类型:序列,列表,元组,字典,集合

个人主页:【😊个人主页】 系列专栏:【❤️Python】 文章目录 前言组合数据类型序列类型序列常见的操作符列表列表操作len()append()insert()remove()index()sort()reverse()count() 元组三种序列类型的区别 集合类型四种操作符集合setfrozens…

tongweb 部署软航流版签一体化应用示例 提示跨域错误CORS ERROR

目录 问题现象与描述 解决办法 原理解析 什么是CORS 浏览器跨域请求限制 跨域问题解决方法 跨域请求流程 浏览器请求分类解析 http请求方法简介 问题现象与描述 重庆软航科技有限公司提供了一套针对针对word、excel等流式文件转换成PDF版式文件并进行版式文件在线签章…

什么是 DDoS 攻击及如何防护DDOS攻击

自进入互联网时代,网络安全问题就一直困扰着用户,尤其是DDOS攻击,一直威胁着用户的业务安全。而高防IP被广泛用于增强网络防护能力。今天我们就来了解下关于DDOS攻击,以及可以防护DDOS攻击的高防IP该如何正确选择使用。 一、什么是…

Apache Seata分布式事务启用Nacos做配置中心

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Seata分布式事务启用Nacos做配置中心 Seata分布式事务启用Nacos做配置中心 项目地址 本文作…

matlab 有倾斜的椭圆函数图像绘制

matlab 有倾斜的椭圆函数图像绘制 有倾斜的椭圆函数图像绘制xy交叉项引入斜线负向斜线成分正向斜线成分 x^2 y^2 xy 1 (负向)绘制结果 x^2 y^2 - xy 1 (正向)绘制结果 有倾斜的椭圆函数图像绘制 为了确定椭圆的长轴和短轴的…

复现YOLO_ORB_SLAM3_with_pointcloud_map项目记录

文章目录 1.环境问题2.遇到的问题2.1编译问题1 monotonic_clock2.2 associate.py2.3 associate.py问题 3.运行问题 1.环境问题 首先环境大家就按照github上的指定环境安装即可 环境怎么安装网上大把的资源,自己去找。 2.遇到的问题 2.1编译问题1 monotonic_cloc…

STMF4学习笔记RTC(天空星)

前言:本篇笔记参考嘉立创文档,连接放在最后 #RTC相关概念定义 Real-Time Clock 缩写 RTC 翻译 实时时钟,是单片机片内外设的一种,作用于提供准确的时间还有日期,这个外设有独立的电源,当单片机停止供电…