Pytorch-Hook机制
Hook是什么? Hook(钩子)其实并不是Pytorch特有的机制,其在软件工程中也是相当常见的,一般来说Hook表示一种自动触发的机制,即在遇到某些时间/情况之后会自动执行的事项,其实在生活中也会遇到很多Hook的事件: 移动到光线变化的环境里,手机屏幕亮度会跟着变化 水烧开后就会沸腾把壶盖顶开 火灾情况下温度升高自动触发报警系统和灭火喷头 总而言之,虽然上面很多情况即便没有Hook,我们也能实现(比如手动调亮度、手动打开报警和灭火器等),但是Hook作为一种强大的自动触发机制,能够很大程度上帮助我们提高效率。 Pytorch中的 Hook是干嘛的? 当想要查看网络输出中每层特征的shape时,有没有过手动print每个tensor.shape的情况?虽然快但是不“优雅”而且很有可能导致代码显得冗余..
Read more