'Finishes deferred initialization.'

def _finish_deferred_init(self):

    if (not self._deferred_init):
        return
    (init, ctx, default_init) = self._deferred_init
    self._deferred_init = ()
    assert ((self.shape is not None) and (np.prod(self.shape) > 0)), ('Cannot    initialize    Parameter    %s    because    it    has    invalid    shape:    %s.    Please    specify    in_units,    in_channels,    etc    for    `Block`s.' % (self.name, str(self.shape)))
    with autograd.pause():
        data = ndarray.zeros(shape=self.shape, dtype=self.dtype, ctx=context.cpu())
        initializer.create(default_init)(initializer.InitDesc(self.name, {'__init__': init}), data)
        self._init_impl(data, ctx)
