Thank you very much! Here is the related code.
class VerificationMatcher_ldaloss(nn.Module):
    def __init__(self,te,P,y,lamda,cta,w,mu,sigma,sr,T):
        super(VerificationMatcher_ldaloss,self).__init__()
        self.te=te
        self.P=P
        self.y=y
        self.lamda=lamda
        self.cta=cta
        self.sr=sr
        self.w=w
        self.mu=mu
        self.sigma=sigma
        self.T=T
        #self.beta=beta
        return
    def forward(self,x):
        fwa=extractiVector()#self.y+x,self.sr,self.w,self.mu,self.sigma)
        #print(wa)
        voice=self.y+x
        wa=fwa(voice,self.sr,self.w,self.mu,self.sigma,self.T)
        ta=self.P.float().mm(wa)
        
        ta=torch.t(ta)
        #self.te=torch.t(self.te)
        #print(te)
        #te=torch()
        #print(torch.norm(self.te.float(), 2, 1))
        #print(2)
        cos = nn.CosineSimilarity(dim=0, eps=1e-6)
        #print(self.te)
        loss =1- self.lamda*(cos(self.te[0].float(),ta[0])-self.cta)+torch.norm(x).item()
        print(loss)
        return loss

generator_loss=VerificationMatcher_ldaloss(te=te,P=P,y=y,lamda=lamda,cta=cta,
w=w,mu=mu,sigma=sigma,sr=sr,T=T)
def train_a_gan(G_net, G_optimizer,generator_loss, show_every=250, 
                noise_size=200, num_epochs=1000):
    iter_count = 0
    sample_noise = (torch.rand(1, noise_size) - 0.5) / 0.5
    for epoch in range(num_epochs):
        #sample_noise = (torch.rand(1, noise_size) - 0.5) / 0.5 # -1 ~ 1 的均匀分布
        g_fake_seed = Variable(sample_noise)#.cuda()
        if torch.cuda.is_available():
            g_fake_seed=g_fake_seed.cuda()
        fake_voices = G_net(g_fake_seed) # 生成的假的数据
        
        g_error = generator_loss(fake_voices)
        
        G_optimizer.zero_grad()
        #weights=torch.ones(1)*0.1
        #g_error.backward(weights,retain_graph=True)
        g_error.backward()
        G_optimizer.step() # 优化生成网络
        if (iter_count % show_every == 0):
            print('Iter: {}, G:{:.4}'.format(iter_count,g_error.item()))
            voices_numpy = fake_voices.data.cpu().numpy()
            #show_images(imgs_numpy[0:16])
            #plt.show()
            #print()
        iter_count += 1

train_a_gan(G_net, G_optimizer,generator_loss, show_every=25, noise_size=200, num_epochs=100001)


The error is:
TypeError: backward() takes 1 positional argument but 2 were given
in the line " g_error.backward()"