Skip to content

Commit

Permalink
修改对齐卷积加入优化器
Browse files Browse the repository at this point in the history
  • Loading branch information
zongmouhuang committed Nov 20, 2023
1 parent 6c20637 commit 2fa4646
Show file tree
Hide file tree
Showing 70 changed files with 16 additions and 4 deletions.
6 changes: 3 additions & 3 deletions train.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# modelL = YOLO('/home/huangzm/code/mycode/pytorch/ultralytics/runs/detect/coco_v8l/weights/best.pt')
# model_t = YOLO('/home/huangzm/code/mycode/pytorch/ultralytics/runs/detect/train37/weights/best.pt')

# model_t = YOLO('yolov8l.pt')
model_t = YOLO('yolov8l.pt')
# success = modelL.export(format="onnx",device="cpu")

data = "/home/huangzm/code/mycode/pytorch/yolov8/Knowledge_Distillation/ultralytics/datasets/coco.yaml"
Expand All @@ -22,8 +22,8 @@
# success = modeln.export(format="onnx")
# modelL.val(data=data)

# model_s.train(data=data, epochs=100, imgsz=640, Distillation = model_t.model)
model_s.train(data=data, epochs=100, imgsz=640, Distillation = None)
model_s.train(data=data, epochs=100, imgsz=640, Distillation = model_t.model)
# model_s.train(data=data, epochs=100, imgsz=640, Distillation = None)



Binary file modified ultralytics/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/hub/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/hub/__pycache__/auth.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/hub/__pycache__/utils.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/nn/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/nn/__pycache__/autobackend.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/nn/__pycache__/modules.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/nn/__pycache__/tasks.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/cfg/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/augment.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/base.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/build.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/dataset.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/data/__pycache__/utils.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/exporter.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/model.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/predictor.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/results.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/trainer.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/engine/__pycache__/validator.cpython-38.pyc
Binary file not shown.
14 changes: 13 additions & 1 deletion ultralytics/yolo/engine/trainer.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,8 @@ def __init__(self, modeln,modelL,distiller="CWDLoss"): # model must be de-paral
# channels_t=[128,256,512,512,512,256,512,512]
channels_s=[128,256,128,64,128,256]
channels_t=[512,512,512,256,512,512]
# channels_s=[64,128,256]
# channels_t=[256,512,512]
self.D_loss_fn = FeatureLoss(channels_s=channels_s,channels_t=channels_t)

self.teacher_module_pairs = []
Expand Down Expand Up @@ -457,6 +459,7 @@ def _setup_train(self, world_size):
self.accumulate = max(round(self.args.nbs / self.batch_size), 1) # accumulate loss before optimizing
weight_decay = self.args.weight_decay * self.batch_size * self.accumulate / self.args.nbs # scale weight_decay
self.optimizer = self.build_optimizer(model=self.model,
model1=self.Distillation,
name=self.args.optimizer,
lr=self.args.lr0,
momentum=self.args.momentum,
Expand Down Expand Up @@ -842,7 +845,7 @@ def resume_training(self, ckpt):
self.train_loader.dataset.close_mosaic(hyp=self.args)

@staticmethod
def build_optimizer(model, name='Adam', lr=0.001, momentum=0.9, decay=1e-5):
def build_optimizer(model,model1, name='Adam', lr=0.001, momentum=0.9, decay=1e-5):
"""
Builds an optimizer with the specified parameters and parameter groups.
Expand All @@ -866,6 +869,15 @@ def build_optimizer(model, name='Adam', lr=0.001, momentum=0.9, decay=1e-5):
elif hasattr(v, 'weight') and isinstance(v.weight, nn.Parameter): # weight (with decay)
g[0].append(v.weight)

for v in model1.modules():
# print(v)
if hasattr(v, 'bias') and isinstance(v.bias, nn.Parameter): # bias (no decay)
g[2].append(v.bias)
if isinstance(v, bn): # weight (no decay)
g[1].append(v.weight)
elif hasattr(v, 'weight') and isinstance(v.weight, nn.Parameter): # weight (with decay)
g[0].append(v.weight)

if name == 'Adam':
optimizer = torch.optim.Adam(g[2], lr=lr, betas=(momentum, 0.999)) # adjust beta1 to momentum
elif name == 'AdamW':
Expand Down
Binary file modified ultralytics/yolo/utils/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/autobatch.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/checks.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/dist.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/downloads.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/files.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/instance.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/loss.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/metrics.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/ops.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/plotting.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/tal.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/utils/__pycache__/torch_utils.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/utils/callbacks/__pycache__/base.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/utils/callbacks/__pycache__/hub.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/utils/callbacks/__pycache__/wb.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file not shown.
Binary file modified ultralytics/yolo/v8/classify/__pycache__/predict.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/classify/__pycache__/train.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/classify/__pycache__/val.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/detect/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/detect/__pycache__/predict.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/detect/__pycache__/train.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/detect/__pycache__/val.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/pose/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/pose/__pycache__/predict.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/pose/__pycache__/train.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/pose/__pycache__/val.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/segment/__pycache__/__init__.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/segment/__pycache__/predict.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/segment/__pycache__/train.cpython-38.pyc
Binary file not shown.
Binary file modified ultralytics/yolo/v8/segment/__pycache__/val.cpython-38.pyc
Binary file not shown.

0 comments on commit 2fa4646

Please sign in to comment.