'Allocate backend memory for dW\'s. Sync initial affine layer weights.'

def allocate(self, shared_outputs=None):

    super(SkipThought, self).allocate(shared_outputs)
    self.error_ctx = self.be.iobuf((self.nhidden, self.encoder.nsteps))
    self.dW_embed = self.be.empty_like(self.embed_s.dW)
    self.dW_linear = self.be.empty_like(self.affine_p[0].dW)
    self.dW_bias = self.be.empty_like(self.affine_p[1].dW)
    self.affine_p[0].W[:] = self.affine_n[0].W
