Thanks for reply!
Absolutely, using self.xxx = aaa is a convenient way to update buffers. But, in my code, I need to update buffer like this:
for i in range(stages):
    self.register_buffer('feature_stage{}'.format(i))

In this case, I need to access buffers by getattr(self,  feature_stage{}.format(i)), and I cannot use self.feature_stage{}.format(i) = aaa to update a buffer.
Does there exist more efficient way like self.xxx = aaa for my case?