Pytorch-我的权重是否在此网络中共享?

Pytorch-我的权重是否在此网络中共享?,pytorch,Pytorch,我在以下网络中尝试进行三重态丢失: 首先,我有一个自定义卷积类ConvBlock(nn.Module): 我现在有一个编码器模块: 类编码器(nn.模块): 我将编码器初始化为单个对象: encoder = _Encoder(ngpu,nc,nef,out_size,nz) encoder = encoder.cuda() 然后我应用了一些函数: latent_x,mean_x,logvar_x,skip_x = self.encoder(x) latent_y,mean_y,

我在以下网络中尝试进行三重态丢失:

首先,我有一个自定义卷积类ConvBlock(nn.Module):

我现在有一个编码器模块:

类编码器(nn.模块):

我将编码器初始化为单个对象:

encoder = _Encoder(ngpu,nc,nef,out_size,nz)
encoder = encoder.cuda()
然后我应用了一些函数:

    latent_x,mean_x,logvar_x,skip_x = self.encoder(x)
    latent_y,mean_y,logvar_y,skip_y = self.encoder(y)
    latent_z,mean_z,logvar_z,skip_z = self.encoder(z)
    dist_a = F.pairwise_distance(mean_x, mean_y, 2)
    dist_b = F.pairwise_distance(mean_x, mean_z, 2)
    loss_triplet = triplet_loss(dist_a, dist_b, target)

    optimizer.zero_grad()
    loss_triplet.backward()
    optimizer.step()

我开始怀疑权重是否在3个编码器块中实际共享。请帮我检查并告诉我是否有

先训练一会儿,然后在所有GPU上运行相同的输入,并检查是否匹配?这是一个脆弱的测试,但如果失败,你很可能会遇到问题
encoder = _Encoder(ngpu,nc,nef,out_size,nz)
encoder = encoder.cuda()
    latent_x,mean_x,logvar_x,skip_x = self.encoder(x)
    latent_y,mean_y,logvar_y,skip_y = self.encoder(y)
    latent_z,mean_z,logvar_z,skip_z = self.encoder(z)
    dist_a = F.pairwise_distance(mean_x, mean_y, 2)
    dist_b = F.pairwise_distance(mean_x, mean_z, 2)
    loss_triplet = triplet_loss(dist_a, dist_b, target)

    optimizer.zero_grad()
    loss_triplet.backward()
    optimizer.step()