继续昨日的内容@浙大疏锦行
学习一下两种机制:try-except机制和try-except-else-finally机制
try-except
摘自讲义
try:把你认为可能会出错的代码放在这里。
except:如果 try 块里的代码真的出错了(从出错开始就不会继续执行try之后的代码了),Python 就会跳到 except 块里执行这里的代码,而不是崩溃。
示例
Q. 详细说明except的作用
try-except-else-finally
摘自讲义
示例
Q. 关于“finally”
finally这个无论如何都会执行的特性,在机器学习和深度学习的中,多涉及资源的保存、文件的关闭等。
1. 无论训练成功、失败还是中途被打断,都确保日志文件被正确关闭,避免数据丢失或文件损坏。
2. 确保计算资源在使用完毕后被释放,供其他进程或任务使用。更常见的是使用 with 语句来自动管理这类资源,with 语句本身就隐式地使用了类似 finally 的机制。(with open语句)
3. 关闭数据库连接
4. 恢复全局状态或配置, 如果程序在运行过程中修改了全局变量或配置文件,在异常处理结束后,需要恢复到之前的状态或配置。
5. 模型训练可能非常耗时,如果中途因为各种原因(OOM、手动中断、硬件故障)停止,我们希望记录下中断的状态,方便后续恢复。
在ML/DL项目中,由于流程长、资源消耗大、外部依赖多,finally 提供的这种“保证执行”的机制对于构建稳定、可靠的系统至关重要。
今日学习到这里,接下来即将进入“深度学习”专题的精进。最近一段时间的学习有点晕晕乎乎的,我感觉还有很多自己没能彻底搞懂的地方,明日要重新从头复习,并对之前遗留的一些任务进行处理。接下来几日暂不发布新内容的学习日志,以“复习日志”为主,待前面内容彻底搞懂吃透后,再进行新板块的学习,和大家伙儿一起加油!!!