深度学习参数和loss总结

AI不惑境  -  学习率和batchsize如何影响模型的性能?

https://zhuanlan.zhihu.com/p/64864995

【AI不惑境】残差网络的前世今生与原理

https://mp.weixin.qq.com/s?__biz=MzA3NDIyMjM1NA==&mid=2649033134&idx=1&sn=69a5be0c1677e55a0311269b0e481242&chksm=8712b7d3b0653ec5211cfd57364bb7d4b8073e620f00f04de734ae2ae7b2e9179ae9d1468e58&token=1855353646&lang=zh_CN#rd

AI不惑有一系列 还有些深度的文章 推荐读读。

通过不断重置学习率来逃离局部极值点

https://blog.youkuaiyun.com/malefactor/article/details/78768210

 

你的模型真的陷入局部最优点了吗?

https://www.jiqizhixin.com/articles/2018-07-29-6

如何找到全局最小值?先让局部极小值消失吧

https://www.baidu.com/link?url=h3WNxKyhzoO3cUQFqtMEG2_Z518nZqBHjH1MPfU-RShNevrXMutXQvsTICDFEi-f&wd=&eqid=dbec404300008142000000045d677970

梯度下降学习率的设定策略

https://lumingdong.cn/setting-strategy-of-gradient-descent-learning-rate.html

Must Know Tips/Tricks in Deep Neural Networks阅读笔记

https://www.baidu.com/link?url=2PW2nHe1nOd9aRI5yOgNztv_C8XXajkvf6sKCNfDSpLKypUhmUog_phVUPA4Oq-OlKAPKaF_-XSLXot-brPB5q&wd=&eqid=dbec404300008142000000045d677970

如何避免陷入鞍点(局部最小)

https://blog.youkuaiyun.com/lfc2017/article/details/84864302

理解DL的局部最小

https://blog.youkuaiyun.com/JeremyCzh/article/details/80100601

深度学习基础--BP和训练--局部最优和鞍点

https://blog.youkuaiyun.com/wydbyxr/article/details/84025446

机器学习--“跳出”局部最小值

https://blog.youkuaiyun.com/qq_20880939/article/details/79814931

深度学习 - 解决局部最优点问题的方案

https://blog.youkuaiyun.com/maqunfi/article/details/82634529

深度学习最全优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

https://zhuanlan.zhihu.com/p/22252270

人脸识别损失函数综述(附开源实现)

https://zhuanlan.zhihu.com/p/51324547

人脸识别的损失函数解读

https://blog.youkuaiyun.com/qq_33948796/article/details/89309893

医学图像分割常用的损失函数

https://blog.youkuaiyun.com/Biyoner/article/details/84728417

 

 

 

 

 

### 关于深度学习中的缓存(Cache)及其作用 在深度学习领域,尤其是涉及 GPU 加速计算时,“缓存”的概念非常重要。以下是关于 `torch.cuda.empty_cache()` 其他与缓存相关的参数配置的作用使用说明。 #### 1. `torch.cuda.empty_cache()` 的功能及意义 `torch.cuda.empty_cache()` 是 PyTorch 提供的一个函数,用于释放未使用的 CUDA 缓存内存[^1]。当执行某些操作后,GPU 上可能会保留一些不再需要的内存分配。这些内存虽然已经被标记为可重用,但在实际运行中可能不会立即返回到操作系统。通过调用此函数可以手动清理这部分内存,从而优化资源利用效率。 需要注意的是,该方法仅适用于清除由 PyTorch 自己管理的部分缓存,并不能回收正在被张量或其他对象占用的实际显存空间。因此,在大多数情况下,它主要用于调试阶段或者应对特定场景下的显存不足问题。 ```python import torch # 假设已经完成了一部分训练过程并希望释放多余缓存 torch.cuda.empty_cache() ``` --- #### 2. 配置 Cache 对性能的影响 除了上述提到的手动干预手段外,合理设置硬件驱动程序以及软件环境也能显著改善整体表现: - **NVIDIA 显卡支持** 借助 NVIDIA 提供的 CUDA 工具包,开发者能够轻松实现从 CPU 到 GPU 数据传输的任务转换[^3]。这一步骤本身即包含了对于内部缓冲区的有效调度机制——即将频繁访问的数据预先加载至更快捷的位置以便后续快速检索处理。 - **自动混合精度 (AMP)** 现代框架还引入了一些高级特性比如 AMP 技术来进一步减少所需存储容量的同时维持较高精确度水平。这种方法背后同样依赖着复杂的中间状态保存策略作为支撑基础之一[^2]。 --- #### 3. 实际应用场景举例分析 下面给出一段简单的代码片段展示如何结合以上知识点构建更高效的解决方案: ```python from torch import nn, optim device = 'cuda' if torch.cuda.is_available() else 'cpu' model = YourModel().to(device) criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.001) for epoch in range(num_epochs): model.train() for inputs, labels in dataloader: optimizer.zero_grad() outputs = model(inputs.to(device)) loss = criterion(outputs, labels.to(device)) loss.backward() # 更新权重前先尝试清空无用缓存以节省更多可用资源 with torch.no_grad(): torch.cuda.empty_cache() optimizer.step() ``` 在这里可以看到我们在每次梯度下降之前加入了额外的操作步骤用来保障整个流程更加顺畅稳定地推进下去。 --- ### 总结 综上所述,无论是通过内置 API 如 `torch.cuda.empty_cache()` 来主动控制还是依靠底层架构自带优势共同协作配合都可以有效提升基于 GPU 平台之上开展的大规模机器学习项目成果质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值