in GraphAutoEncoder/graphVAE_train.py [0:0]
def __init__(self,param, facedata):
super(Net_autoenc, self).__init__()
self.weight_num = 17
self.motdim = 94
# build the mesh convolution structure, which contains the connectivity at each layer;
# note this class donesnot have any learnable parameters
# here is defining for encoder graph connectivity structure
self.mcstructureenc = vae_model.MCStructure(param, param.point_num, self.weight_num, bDec =False)
# corresponding to vc in the paper and is connectivity related
# this defines a parameter class for spatially varying coefficients
# this vc enables to apply traditional conv with learnable conv kernels
# this vc can be potentially shared across different network as long as it is defined with the same MCStructure (graph connectivity)
self.mcvcoeffsenc = vae_model.MCVcoeffs(self.mcstructureenc, self.weight_num)
# here defines the input and output channel numbers
encgeochannel_list = [3, 32,64,128, 256,512,64]
# here defines the encoder with learnable conv kernels
self.net_geoenc = vae_model.MCEnc(self.mcstructureenc, encgeochannel_list, self.weight_num)
# self.net_texenc = vae_model.MCEnc(self.mcstructureenc, encgeochannel_list, self.weight_num)
self.nrpt_latent = self.net_geoenc.out_nrpts
# build the mesh convolution structure, which contains the connectivity at each layer;
# note this class donesnot have any learnable parameters
# here is defining for decoder graph connectivity structure
self.mcstructuredec = vae_model.MCStructure(param,self.nrpt_latent,self.weight_num, bDec = True)
# corresponding to vc in the paper and is connectivity related
# this defines a parameter class for spatially varying coefficients
# this vc enables to apply traditional conv with learnable conv kernels
# this vc can be potentially shared across different network as long as it is defined with the same MCStructure (graph connectivity)
self.mcvcoeffsdec = vae_model.MCVcoeffs(self.mcstructuredec, self.weight_num)
# here defines the input and output channel numbers
decgeochannel_list3 = [64, 512,256,128, 64,32,3]
# here defines the decoder with deconv layers with learnable conv kernels
self.net_geodec = vae_model.MCDec(self.mcstructuredec, decgeochannel_list3, self.weight_num)
# self.net_texdec = vae_model.MCDec(self.mcstructuredec, decgeochannel_list3, self.weight_num)
self.net_loss = vae_model.MCLoss(param)
self.register_buffer('t_facedata', facedata.long())
self.w_pose = param.w_pose
self.w_laplace = param.w_laplace #0.5
self.klweight = 1e-5 #0.00001
self.w_nor = 10.0
self.write_tmp_folder = param.write_tmp_folder #+"%07d"%iteration+"_%02d_out"%n+suffix+".ply"