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

np.random.rand

np.random.rand 是 NumPy 库中一个常用的函数,用于创建包含随机数(浮点数)的数组


np.random.rand 详解

1. 核心功能

np.random.rand 生成的随机数服从**[0.0, 1.0) 范围内的均匀分布(Uniform Distribution)**。

  • 均匀分布: 这意味着在这个范围内的任何值被生成的概率都是相等的。
  • 范围: 包含 0.0,但不包含 1.0。

2. 用法

它最常见的用法是直接传入你想要的数组的维度作为参数。

语法: np.random.rand(d1, d2, ..., dn)

示例代码 数组形状 (Shape) 描述
np.random.rand(5) (5,) 生成 5 个 0 到 1 之间的随机浮点数(一维数组)。
np.random.rand(2, 3) (2, 3) 生成一个 2 行 3 列的数组,所有元素都是 0 到 1 之间的随机浮点数。
np.random.rand(4, 5, 6) (4, 5, 6) 生成一个三维数组。

3. 在 Dropout 中的应用

在你实现的 Dropout 类中,np.random.rand 用于生成随机掩码来决定哪些神经元应该被丢弃:

# Dropout 类的 forward 部分
self.mask = (np.random.rand(*x.shape) > self.p)

这里的执行步骤是:

  1. *x.shape 这会解包输入数据 x 的形状(例如 (200, 512))。
  2. np.random.rand(*x.shape) 生成一个与输入数据 x 形状完全相同的数组,其中每个元素都是 0 到 1 之间的随机浮点数。
  3. > self.p 将这个随机数组中的每个元素与丢弃概率 self.p(例如 0.5)进行比较。
    • 如果随机数大于 0.5,结果为 True(该神经元被保留)。
    • 如果随机数小于等于 0.5,结果为 False(该神经元被丢弃)。
  4. self.mask 最终得到了一个与输入数据同形状的布尔型掩码,用于控制哪些神经元在训练时是激活的。
http://www.hskmm.com/?act=detail&tid=18992

相关文章:

  • Nexpose 8.22.0 for Linux Windows - 漏洞扫描
  • 冯延巳-风乍起,吹皱一池春水。
  • 大唐名相张九龄-海上生明月,天涯共此时
  • 王昌龄的态度
  • 开发知识点-Python-virtualenv
  • 白居易-那个寒冷的夜晚,思念像潮水般袭来。想得家中夜深坐,还应说着远行人。
  • 2025年移动厕所厂家口碑排行榜:环保移动厕所,泡沫封堵移动厕所,市区公园露营地移动厕所,装配式移动厕所,公共移动厕所定制安装公司选择指南!
  • Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
  • VSCode+Window+Chrome常用快捷键
  • 那些诗词那些花|君不见此玫瑰于晚秋的夜色中凄然绽放,别具一格。
  • Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
  • 醉后不知天在水,满船清梦压星河
  • Apache Doris性能优化全解析:慢查询定位与引擎深度调优 - 教程
  • 【诗词解读】跨越千年的文脉传承:月与酒是中国人的永恒浪漫
  • 秋风中的窘境,一代诗圣的安居梦
  • 辛弃疾:明月团团高树影,十里水沉烟冷
  • 坐观垂钓者,徒有羡鱼情:孟浩然与当代人的无能为力之痛
  • Go与C# 谁才更能节省内存? - 详解
  • SQL子查询(Subquery)优化
  • 【诗词解读】王维的温柔都藏在他的诗句里:吾谋适不用,勿谓知音稀。
  • shiro反序列化及规避检测
  • 2台Linux 服务器文件夹同步,使用rsync工具
  • 涉及各种高级特性的c++ lambda表达式例子
  • Altium Designer(AD)自定义PCB外观颜色 - 实践
  • 使用 Azure AD 实现认证与权限管理:原理解析与操作指南 - 详解
  • 2025 年地坪研磨机厂家推荐榜单:盘点 TOP 品牌的格力,宁德时代等标杆客户合作案例
  • 分拆数
  • 【PLC】昱控兼容三菱FX3U PLC作为Modbus RTU从机,使用串口调试助手访问
  • B站python入门学习---第二阶段第二章数据库、SQL和MySQL
  • C++项目:仿muduo库高并发服务器 - 实践