diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/main.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/main.py index c7bdf20029af5e256afcd2230ba5b28d9e587086..301ce9d5d9b901304eee1ee9f698cd9fe16864f5 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/main.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/main.py @@ -15,6 +15,8 @@ import os import json import torch +if torch.__version__.startswith('1.8'): + import torch_npu from torch import nn from torch import optim from torch.optim import lr_scheduler @@ -112,11 +114,12 @@ if __name__ == '__main__': if opt.use_apex == 1: from apex import amp - if opt.loss_scale < 0: - model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=None) - else: - # model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=opt.loss_scale, combine_grad=True) - model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=opt.loss_scale) + #if opt.loss_scale < 0: + # model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=None) + #else: + # # model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=opt.loss_scale, combine_grad=True) + # model, optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level, loss_scale=opt.loss_scale) + model,optimizer = amp.initialize(model, optimizer, opt_level=opt.opt_level,loss_scale=opt.loss_scale) # resume model best_pre1 = 0 diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/getmodel.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/getmodel.py index 2e6b18ed23a9a1e855193f0f677cbac63791d18e..6a4db1bd282ad538a9cb75ef4e4cc48a166f377e 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/getmodel.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/getmodel.py @@ -15,6 +15,9 @@ import os import json import torch +if torch.__version__.startswith('1.8'): + import torch_npu + from torch import nn from torch import optim from torch.optim import lr_scheduler diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/opts.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/opts.py index e4583c32e613ba471d873a4d9971d3e5455f19c6..5165ec11c249b7cd2d173e70de000b2c6c7987c7 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/opts.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/opts.py @@ -17,14 +17,14 @@ import argparse def parse_opts(): parser = argparse.ArgumentParser() - parser.add_argument('--root_path', default='/root/ennengyang_space/Efficient-3DCNNs-master/', type=str, help='Root directory path of data') + parser.add_argument('--root_path', default='/home/jsz/Efficient-3DCNNs_ID1230_for_PyTorch/', type=str, help='Root directory path of data') parser.add_argument('--video_path', default='annotation_UCF101/UCF-101-image', type=str, help='Directory path of Videos') parser.add_argument('--annotation_path', default='annotation_UCF101/ucf101_01.json', type=str, help='Annotation file path') # parser.add_argument('--resume_path', default='results/ucf101_mobilenetv2_1.0x_RGB_16_checkpoint.pth', type=str, help='Save data (.pth) of previous training') parser.add_argument('--resume_path', default='', type=str, help='Save data (.pth) of previous training') # parser.add_argument('--pretrain_path', default='pretrain/kinetics_mobilenetv2_1.0x_RGB_16_best_dp.pth', type=str, help='Pretrained model (.pth)') parser.add_argument('--pretrain_path', default='', type=str, help='Pretrained model (.pth)') - parser.add_argument('--ft_portion', default='complete', type=str, help='The portion of the model to apply fine tuning, either complete or last_layer') + parser.add_argument('--ft_portion', default='last_layer', type=str, help='The portion of the model to apply fine tuning, either complete or last_layer') parser.add_argument('--no_drive', action='store_true', help='If true, cuda or npu is not used.') parser.set_defaults(no_drive=False) @@ -41,14 +41,14 @@ def parse_opts(): parser.add_argument('--use_prof', default=1, type=int, help='use_prof') parser.add_argument('--use_apex', default=0, type=int, help='use_apex') parser.add_argument('--opt_level', default='O2', type=str, help='Initial opt_level') - parser.add_argument('--loss_scale', default=128, type=float, help='Initial loss_scale') + parser.add_argument('--loss_scale', default='dynamic', help='Initial loss_scale') - parser.add_argument('--batch_size', default=8, type=int, help='Batch Size') + parser.add_argument('--batch_size', default=80, type=int, help='Batch Size') parser.add_argument('--n_epochs', default=2, type=int, help='Number of total epochs to run') - parser.add_argument('--learning_rate', default=0.1, type=float, help='Initial learning rate') + parser.add_argument('--learning_rate', default=0.01, type=float, help='Initial learning rate') parser.add_argument('--droupout_rate', default=0.9, type=float, help='Droupout rate') parser.add_argument('--lr_steps', default=[15, 25, 35, 40, 45], type=float, nargs="+", metavar='LRSteps', help='epochs to decay learning rate by 10') - parser.add_argument('--n_threads', default=0, type=int, help='Number of threads for multi-thread loading') + parser.add_argument('--n_threads', default=16, type=int, help='Number of threads for multi-thread loading') parser.add_argument('--no_train', default=0, type=int, help='If true, training is not performed.') parser.add_argument('--no_val', default=0, type=int, help='If true, validation is not performed.') diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/spatial_transforms.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/spatial_transforms.py index bc532e2093be2256191bdd0f0c4f44e744b24f01..5bb23484f41da97b38581a60b443df2d55f18f30 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/spatial_transforms.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/spatial_transforms.py @@ -18,6 +18,9 @@ import numbers import collections import numpy as np import torch +if torch.__version__.startswith('1.8'): + import torch_npu + import cv2 import scipy.ndimage from PIL import Image, ImageOps diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/test.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/test.py index 4a1abb3f5dc4ca7ed0f7e0c24e89213a6afca50c..b780dd1557c77607d4a9c8b05ab37476b42d15e6 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/test.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/test.py @@ -19,6 +19,8 @@ import time import os import sys import json +if torch.__version__.startswith('1.8'): + import torch_npu from run.utils import AverageMeter diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/train.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/train.py index 312ff580551ef382c2e41618d2d0153b2eba4405..14225a0476736fc1b013e370bf4f422e3966e746 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/train.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/train.py @@ -17,6 +17,8 @@ from torch.autograd import Variable import time import os import sys +if torch.__version__.startswith('1.8'): + import torch_npu from run.utils import AverageMeter, calculate_accuracy @@ -126,7 +128,7 @@ def train_epoch(epoch, data_loader, model, criterion, optimizer, opt, if i >= 2: tot_time.update(current_batch_time) - if device_ids == 0: # distributed master or 1p + if (device_ids == 0) or (opt.device_num == 1): # distributed master or 1p batch_logger.log({ 'date': time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())), 'epoch': epoch, @@ -159,7 +161,7 @@ def train_epoch(epoch, data_loader, model, criterion, optimizer, opt, epoch_fps = opt.batch_size * opt.device_num / tot_time.avg - if device_ids == 0: # distributed master or 1p + if (device_ids == 0)or (opt.device_num == 1): # distributed master or 1p epochlog = { 'date': time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())), 'epoch': epoch, diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/utils.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/utils.py index 70357d2254782432d3a9d3c66068c79aa3f85442..40c1216f99eae37b70cf4cceeae3ae556eaf378f 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/utils.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/utils.py @@ -18,6 +18,9 @@ import shutil import numpy as np import json import os +if torch.__version__.startswith('1.8'): + import torch_npu + from run.mean import get_mean, get_std class AverageMeter(object): diff --git a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/validation.py b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/validation.py index 61827e741592b277f61c32a2b470f61d67d3a41e..795e555bc17be55fdcdd5ae288efa1033c6eef22 100644 --- a/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/validation.py +++ b/PyTorch/contrib/cv/classification/Efficient-3DCNNs_ID1230_for_PyTorch/run/validation.py @@ -13,6 +13,9 @@ # limitations under the License. # ============================================================================ import torch +if torch.__version__.startswith('1.8'): + import torch_npu + from torch.autograd import Variable import time import sys