Closed libertatis closed 2 years ago
这个深拷贝是因为在较早期的Paddle2.0版本中,以list方式创建encoderlayer的时候会出现浅拷贝的情况,也就是说,添加的层并不会完全新建一个对象,这会造成运算的时候结果不正确。但是这个问题应该在新版本的Paddle中已经得到解决,所以目前应该不用去考虑这个问题,或者说用或者不用都可以。
This issue have been explained here, so I close this issue.
PaddleViT/image_classification/ViT/transformer.py
Encoder
初始化创建encoder_layer
时,深拷贝的意义是什么呢?for
循环创建encoder_layer
,每一个encoder_layer
都是不同的对象,也不存在参数共享的问题,这里对encoder_layer
做深拷贝是基于什么样的考量呢? 我个人认为这里对encoder_layer
的深拷贝是不必要的:可能是我想的还不够深,期待官方的答疑解惑~