示例#1
0
    def init_environment(self):
        # super().init_environment()  # 先执行一次父类的该方法,这里实际上就是在父类方法的基础上进行扩展
        #父类方法,直接抄过来方便查阅
        self.io = torchlight.IO(  #class 'torchlight.io.IO',这里的torchlight.IO就是一个容器
            self.arg.work_dir,  #存储结果的路径,默认为'./work_dir/tmp'
            save_log=self.arg.save_log,  #是否保存日志,默认true
            print_log=self.arg.print_log)  #是否打印日志,默认true
        self.io.save_arg(self.arg)

        # gpu
        if self.arg.use_gpu:  #如果指定了使用GPU,就默认使用0号GPU,否则使用CPU
            gpus = torchlight.visible_gpu(
                self.arg.device)  #返回的是list(range(len(gpus)))
            torchlight.occupy_gpu(gpus)

            self.gpus = gpus
            print('现在使用的gpu为:', self.gpus)
            self.dev = "cuda:0"
        else:
            self.dev = "cpu"
        #子类方法
        #定义了几个字典对象
        self.result = dict()
        self.iter_info = dict()
        self.epoch_info = dict()
        self.meta_info = dict(epoch=0, iter=0)
示例#2
0
 def init_io(self):
     self.io = torchlight.IO(self.arg.work_dir,
                             self.arg.session,
                             save_log=self.arg.save_log,
                             print_log=self.arg.print_log)
     if self.arg.phase == 'train':
         self.io.save_arg(self.arg)
示例#3
0
    def __init__(self,
                 args,
                 ftype,
                 data_loader,
                 C,
                 T,
                 V,
                 num_classes,
                 graph_dict,
                 n_z=32,
                 device='cuda:0'):

        self.args = args
        self.ftype = ftype
        self.data_loader = data_loader
        self.num_classes = num_classes
        self.result = dict()
        self.iter_info = dict()
        self.epoch_info = dict()
        self.meta_info = dict(epoch=0, iter=0)
        self.device = device
        self.io = torchlight.IO(self.args.work_dir,
                                save_log=self.args.save_log,
                                print_log=self.args.print_log)

        # model
        self.C = C
        self.T = T
        self.V = V
        self.n_z = n_z
        if not os.path.isdir(self.args.work_dir):
            os.mkdir(self.args.work_dir)
        self.model = CVAE.CVAE(C, T, V, self.n_z, num_classes, graph_dict)
        self.model.cuda('cuda:0')
        self.model.apply(weights_init)
        self.loss = vae_loss
        self.best_loss = math.inf
        self.loss_updated = False
        self.step_epochs = [
            math.ceil(float(self.args.num_epoch * x)) for x in self.args.step
        ]
        self.best_epoch = 0
        self.mean = 0.
        self.lsig = 1.

        # optimizer
        if self.args.optimizer == 'SGD':
            self.optimizer = optim.SGD(self.model.parameters(),
                                       lr=self.args.base_lr,
                                       momentum=0.9,
                                       nesterov=self.args.nesterov,
                                       weight_decay=self.args.weight_decay)
        elif self.args.optimizer == 'Adam':
            self.optimizer = optim.Adam(self.model.parameters(),
                                        lr=self.args.base_lr,
                                        weight_decay=self.args.weight_decay)
        else:
            raise ValueError()
        self.lr = self.args.base_lr
示例#4
0
文件: io.py 项目: zgsxwsdxg/st-gcn
    def init_environment(self):
        self.io = torchlight.IO(self.arg.work_dir,
                                save_log=self.arg.save_log,
                                print_log=self.arg.print_log)
        self.io.save_arg(self.arg)

        # gpu
        gpus = torchlight.visible_gpu(self.arg.device)
        torchlight.occupy_gpu(gpus)
        self.gpus = gpus
        self.dev = "cuda:0"
示例#5
0
    def __init__(self,
                 args,
                 data_loader,
                 C,
                 F,
                 num_classes,
                 graph_dict,
                 device='cuda:0'):

        self.args = args
        self.data_loader = data_loader
        self.num_classes = num_classes
        self.result = dict()
        self.iter_info = dict()
        self.epoch_info = dict()
        self.meta_info = dict(epoch=0, iter=0)
        self.device = device
        self.io = torchlight.IO(self.args.work_dir,
                                save_log=self.args.save_log,
                                print_log=self.args.print_log)

        # model
        if not os.path.isdir(self.args.work_dir):
            os.mkdir(self.args.work_dir)
        self.model = classifier.Classifier(C, F, num_classes, graph_dict)
        self.model.cuda('cuda:0')
        self.model.apply(weights_init)
        self.loss = nn.CrossEntropyLoss()
        self.best_loss = math.inf
        self.step_epochs = [
            math.ceil(float(self.args.num_epoch * x)) for x in self.args.step
        ]
        self.best_epoch = 0
        self.best_accuracy = np.zeros((1, np.max(self.args.show_topk)))
        self.accuracy_updated = False

        # optimizer
        if self.args.optimizer == 'SGD':
            self.optimizer = optim.SGD(self.model.parameters(),
                                       lr=self.args.base_lr,
                                       momentum=0.9,
                                       nesterov=self.args.nesterov,
                                       weight_decay=self.args.weight_decay)
        elif self.args.optimizer == 'Adam':
            self.optimizer = optim.Adam(self.model.parameters(),
                                        lr=self.args.base_lr,
                                        weight_decay=self.args.weight_decay)
        else:
            raise ValueError()
        self.lr = self.args.base_lr
示例#6
0
 def init_environment(self):
     self.io = torchlight.IO(self.arg.work_dir,
                             save_log=self.arg.save_log,
                             print_log=self.arg.print_log)
     self.io.save_arg(self.arg)
     print('Mid of init enviroment')
     # gpu
     if self.arg.use_gpu:
         gpus = torchlight.visible_gpu(self.arg.device)
         torchlight.occupy_gpu(gpus)
         self.gpus = gpus
         self.dev = "cuda:0"
     else:
         self.dev = "cpu"
示例#7
0
    def init_environment(self):
        self.io = torchlight.IO(  #class 'torchlight.io.IO',这里的torchlight.IO就是一个容器
            self.arg.work_dir,  #存储结果的路径,默认为'./work_dir/tmp'
            save_log=self.arg.save_log,  #是否保存日志,默认true
            print_log=self.arg.print_log)  #是否打印日志,默认true
        self.io.save_arg(self.arg)

        # gpu
        if self.arg.use_gpu:  #如果指定了使用GPU,就默认使用0号GPU,否则使用CPU
            gpus = torchlight.visible_gpu(self.arg.device)
            torchlight.occupy_gpu(gpus)
            self.gpus = gpus
            self.dev = "cuda:0"
        else:
            self.dev = "cpu"
示例#8
0
    def __init__(self, args, data_loader, device='cuda:0'):

        self.args = args
        # TBD:The data loader class has to be implemented to load the train, test and evaluation images
        self.data_loader = data_loader
        self.result = dict()
        self.iter_info = dict()
        self.epoch_info = dict()
        self.meta_info = dict(epoch=0, iter=0)
        self.device = device
        self.io = torchlight.IO(
            "./model_output/",
            save_log=self.args.save_log,
            print_log=self.args.print_log)

        # Initialize timer to see the time taken for each batch
        self.io.init_timer("batch_processing_time")
#
        # model
        self.model = classifier1.DepthPredictionNet()
        self.model.cuda('cuda:0')
        # TBD: Apart from the Resnet layers, all other layers has to be initialized with the weights as mentioned in the
        # paper, For now we can go ahead and try the default initialization which can be later modified
        # [Resolved: Doing at Model level]
        self.loss = ReverseHubberLoss()
        self.best_loss = math.inf
        #self.step_epochs = [math.ceil(float(self.args.num_epoch * x)) for x in self.args.step]
        self.best_epoch = None
        self.best_mean_error = np.zeros((1, np.max(self.args.topk)))
        self.mean_error_updated = False

        # optimizer
        if self.args.optimizer == 'SGD':
            self.optimizer = optim.SGD(
                self.model.parameters(),
                lr=self.args.base_lr,
                momentum=0.9,
                nesterov=self.args.nesterov,
                weight_decay=self.args.weight_decay)
        elif self.args.optimizer == 'Adam':
            self.optimizer = optim.Adam(
                self.model.parameters(),
                lr=self.args.base_lr,
                weight_decay=self.args.weight_decay)
        else:
            raise ValueError()
        self.lr = self.args.base_lr
        self.mean_loss_per_lr_step = 0
示例#9
0
文件: io.py 项目: zzzzlalala/AS-GCN
    def init_environment(self):
        self.save_dir = os.path.join(self.arg.work_dir, self.arg.max_hop_dir,
                                     self.arg.lamda_act_dir)
        self.io = torchlight.IO(self.save_dir,
                                save_log=self.arg.save_log,
                                print_log=self.arg.print_log)
        self.io.save_arg(self.arg)

        # gpu
        if self.arg.use_gpu:
            gpus = torchlight.visible_gpu(self.arg.device)
            torchlight.occupy_gpu(gpus)
            self.gpus = gpus
            self.dev = "cuda:0"
        else:
            self.dev = "cpu"
示例#10
0
文件: io.py 项目: zbliu98/DMGNN
    def init_environment(self):
        self.save_dir = os.path.join(self.arg.work_dir,
                                     self.arg.fusion_layer_dir,
                                     self.arg.learning_rate_dir,
                                     self.arg.lamda_dir,
                                     self.arg.crossw_dir,
                                     self.arg.note)
        self.io = torchlight.IO(self.save_dir, save_log=self.arg.save_log, print_log=self.arg.print_log)
        self.io.save_arg(self.arg)

        if self.arg.use_gpu:
            gpus = torchlight.visible_gpu(self.arg.device)
            torchlight.occupy_gpu(gpus)
            self.gpus = gpus
            self.dev = "cuda:0"
        else:
            self.dev = "cpu"