深度学习基础
文章平均质量分 69
koliuchen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PyTorch中torch.randn()的全面解析
PyTorch中torch.randn()函数详解:本文全面解析了PyTorch核心函数torch.randn()的用法及应用场景。该函数用于生成服从标准正态分布(均值0,标准差1)的随机张量,支持通过size参数定义输出形状,并可指定数据类型、计算设备和梯度跟踪。主要应用包括神经网络权重初始化、测试数据生成和GAN噪声输入等场景。文章详细介绍了参数设置、分布调整方法(如Xavier/He初始化)、设备管理(CPU/GPU)以及常见错误的规避策略,特别强调了随机种子控制对结果可复现性的重要性。同时,文章还深原创 2025-08-13 20:51:41 · 1753 阅读 · 0 评论 -
tensor基础
本文介绍了PyTorch中Tensor的基本操作,包括创建、索引、运算及与NumPy的互转换。主要内容可总结为: Tensor创建方式多样,包括随机初始化、全零填充、从数据直接创建等,还能基于现有Tensor创建新Tensor并继承属性。 Tensor支持类似NumPy的索引操作,且索引结果与原数据共享内存。通过view()可改变Tensor形状,推荐使用clone()创建独立副本。 PyTorch的广播机制遵循NumPy规则,需满足维度对齐条件。文章详细分析了不兼容广播的解决方法,包括扩展维度、截取子集等原创 2025-08-12 18:34:59 · 960 阅读 · 0 评论 -
张量维度操作详解
本文介绍了PyTorch中unsqueeze和expand操作的使用方法。unsqueeze用于在指定维度添加尺寸为1的新维度,支持正负索引;expand则用于扩展尺寸为1的维度,实现张量广播。通过广播加法示例展示了如何将(3,)向量扩展为(2,3)矩阵与(2,3)矩阵相加。文中还指出expand是视图操作,修改原始数据会影响扩展结果,建议必要时使用clone()复制数据。最后提醒非1维度的扩展会导致错误。这些操作能有效处理张量维度不匹配问题,实现高效的张量计算。原创 2025-08-12 17:27:03 · 140 阅读 · 0 评论 -
多进程数据加载器随机种子设置
PyTorch中设置随机种子(torch.manual_seed)是保证实验可复现性的关键。摘要如下: 核心功能: 设置CPU/GPU随机数生成器的起始点 影响张量初始化、数据打乱、dropout等随机操作 完整设置方案: 主进程和所有worker需统一设置种子 多GPU需额外调用manual_seed_all 建议配合cudnn.deterministic=True确保确定性 注意事项: 需单独设置NumPy和Python的random种子 DataLoader多进程需通过worker_init_fn单独原创 2025-08-11 22:12:58 · 812 阅读 · 0 评论 -
可复现pytorch实验设置随机种子
PyTorch中设置随机种子(torch.manual_seed)可确保实验可复现性,主要影响张量初始化、数据打乱等随机操作。完整设置包括:CPU种子(manual_seed)、GPU种子(cuda.manual_seed)、多GPU种子(cuda.manual_seed_all),并建议设置cudnn.deterministic=True禁用不确定性操作。多进程DataLoader需通过worker_init_fn单独设种。注意这仅影响PyTorch随机数生成器,不影响Python/Numpy的随机性,且原创 2025-08-11 21:45:21 · 473 阅读 · 0 评论 -
线性回归损失可视化优化版及代码详细解释
本文介绍了线性回归损失函数的可视化优化方法。原始代码使用循环逐个计算不同权重下的损失值,效率较低。优化后的版本采用NumPy向量化操作,通过广播机制直接计算整个权重数组的损失值,避免了函数调用开销,执行速度提高3-5倍。关键优化点包括:将权重数组转换为列向量,利用广播计算预测值和损失,以及使用np.mean计算均方误差。优化代码还增加了数据集生成、结果可视化和最优参数查找功能。文中详细解释了向量化计算原理和实现步骤,包括使用np.vectorize函数和原生向量化方法的区别。最终版本能自动生成损失曲线图,并原创 2025-08-07 15:48:09 · 149 阅读 · 0 评论
分享