def __init__(self, para=Parameters.gtn_net(), debug_mode=False, device='cuda'): # Initialize Parameters self.para = para Programclass.Program.__init__(self, device=device, dtype=para['dtype'], debug_mode=debug_mode) MPSclass.MPS.__init__(self) MLclass.MachineLearning.__init__(self, self.para, debug_mode=debug_mode) tc.nn.Module.__init__(self) self.initialize_parameters_gtn_net() self.name_md5_generate() self.debug_mode = debug_mode self.update_info = dict() self.data_info = dict() # Initialize MPS and update info self.weight = None self.tensor_shape = None if not debug_mode: self.load_weight() if self.weight is None: self.initialize_dataset() self.generate_tensor_info() self.generate_update_info() self.initialize_mps_gtn_net() self.initialize_tensor_shape() self.weight = tc.nn.Parameter( tc.empty((self.tensor_info['n_length'], self.tensor_info['tensor_initialize_bond'], self.tensor_info['physical_bond'], self.tensor_info['tensor_initialize_bond']), device=self.device, dtype=self.dtype)) self.initialize_weight() self.tensor_input = None self.opt = None self.initialize_opt() self.fun = tc.nn.LogSoftmax(dim=0)
from library import TNMLclass from library import Parameters as Pa pa = Pa.gtn_net() A = TNMLclass.GTN_Net(para=pa, device='cuda:0', debug_mode=False) A.start_learning()