【四、深度学习计算】笔记
1. 层和块
- 速度极快的 GPU 可能要等到 CPU 运⾏ Python 代码后才能运⾏另⼀个作业,提⾼ Python 速度的最好⽅法是完全避免使⽤ Python。Gluon 允许混合式编程(hybridization),Python 解释器在第⼀次调⽤块时执⾏它,Gluon 运⾏时记录正在发⽣的事情,以及下⼀次它将对 Python 调⽤加速,从而加快速度,但需要注意控制流在不同的⽹络通路上引导不同分⽀的情况
- 层也是块,⼀个块可由多层或多块组成。块可以包含代码,负责⼤量内部处理,包括参数初始化和反向传播。层和块的顺序连接由** Sequential 块**处理
2. 延后初始化
- 延后初始化(defers initialization):深度学习框架⽆法判断⽹络的输⼊维度大小,第⼀次将数据通过模型传递时,才会动态地推断出每个层的大小
- 延后初始化可以很⽅便地通过框架⾃动推断参数形状。识别出第⼀层的形状后,框架处理第⼆层,依此类推,直到所有形状都已知为⽌,此时只有第⼀层需要延迟初始化,但是框架仍是按顺序初始化的,一旦知道所有的参数形状,框架就可以初始化参数