- 博客(10)
- 收藏
- 关注
原创 Python 中为什么要用 @property?什么时候该用它?
本文介绍了 Python 中 @property 装饰器的核心应用场景。该装饰器可以将方法伪装成属性访问,实现数据验证、自动更新、只读控制等功能。主要适用于五种情况:1)属性值合法性校验;2)属性变更触发其他属性更新;3)创建只读属性;4)延迟加载计算密集型属性;5)封装实现细节提供统一接口。通过示例代码展示了各种场景下的实现方式,体现了 @property 在提升代码安全性、可维护性和易用性方面的优势。
2025-06-04 14:38:57
265
原创 PyTorch Lightning 中 predict_step 输出缓存导致的CPU内存泄漏问题
使用PyTorch Lightning进行推理时,predict_step返回的张量会被自动缓存,导致CPU内存持续增长。本文指出该问题的原因是Lightning默认收集所有predict_step输出,并给出两种解决方案:1) 在predict_step中返回None;2) 调用trainer.predict()时设置return_predictions=False。这两种方法能有效避免内存泄漏,特别适用于大规模数据或复杂模型的推理场景
2025-05-28 11:09:41
310
原创 深入理解PyTorch Lightning中的分布式批次处理机制
本文详细介绍了PyTorch Lightning中分布式数据并行(DDP)的批次处理机制
2025-05-27 11:55:32
305
原创 All distributed processes registered 后 Pytorch Lightnign进程死锁问题解决
在使用PyTorch Lightning进行分布式推理时,可能会遇到进程死锁问题,表现为程序在显示“All distributed processes registered”后进入死循环。该问题通常与多线程设置有关。通过在代码开头添加torch.set_num_threads(N)(N为所需进程数),可以有效解决此问题。这一设置能够优化线程管理,避免死锁现象,确保分布式推理任务正常进行。
2025-05-22 11:28:36
249
原创 MOE的改进版本- Dynamic router moe(动态路由)理解
本文分析了Dynamic Router MoE(Mixture of Experts)的实现,重点介绍了top_p_sampling_batched_all_sequence方法和SwitchMLP类。
2025-05-19 17:13:48
611
原创 SVR, adaboost, MLP, GBDT, XGBOOST, LIGHTGBM以及随机森林模型参数优化+模型训练+shap解释
建立SVR,MLP,RF,ADAboost,GBDT,LIGHTGBM,XGBOOOST模型,并作参数优化,对最优模型进行shap解释
2023-09-12 10:25:19
539
1
原创 normalization in nn (batchnorm layernorm instancenorm groupnorm)
本文根据b站deep_thought老师的讲述,将batchnorm、layernorm、instancenorm和groupnorm四种方式的底层逻辑实现出来,并深入讲解了其原理区别。
2023-08-31 11:51:29
176
1
原创 Python+Opencv的环境配置
Python+Opencv的环境配置anaconda的安装考虑到下载时间的问题,读者可到清华镜像下载,更多与anaconda镜像的使用帮助,可参考此处https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/下载好之后,下面我们开始安装首先,点击next[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EdNn5Z6Q-1611646895612)(C:\Users\DELL\AppData\Roaming\Typor
2021-01-26 15:44:47
485
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人