# \#loss-function

**URL:** https://discuss.pytorch.kr/tag/loss-function/2064.md

[최신](https://discuss.pytorch.kr/latest.md) · [카테고리](https://discuss.pytorch.kr/categories.md) · [태그](https://discuss.pytorch.kr/tags.md)

---

## [yolov5의 loss function 수정 시, backward, optimize에 관해](https://discuss.pytorch.kr/t/yolov5-loss-function-backward-optimize/2851)

<div class="topic-metadata">

**Author:** [@ojun.kwon](https://discuss.pytorch.kr/u/ojun.kwon)\
**댓글:** 3\
**마지막 업데이트:** [11월 14, 2023, 6:36오전 UTC](https://discuss.pytorch.kr/t/yolov5-loss-function-backward-optimize/2851 "2023-11-14T06:36:56Z")

</div>

yolov5n.pt 파일(pretrained with 300 epochs)을 이용하여 yolov5n 모델을 fine-tuning을 할 생각입니다. loss function은 각 conv 레이어의 활성화 함수를 SiLU로 한 경우(teacher model)의 예측 값 (a), ReLU로 바꾸었을때(student model)의 예측 값 (b)의 nn.MSEloss()를 loss function으로 하여 finetuning을 할 생각입니다. 참고 코드는 GitHub - ultralytics/yolov5: YOLOv5 :rocket: in PyTorch \> ONNX \> CoreML \> TFLite 코드를 기반하여 테스트를 할 생각입니다. 아래는 제가 임의로 작성한 코드입니다. 다음과 같이 loss function을 설정하여 backward 및 optimize를 하는 경우 추가로 수정해야할 부분이 있다면 어떻게 해야할까요? def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictionary save\_dir, epochs, batch\_size, weights, single\_cls, evolve, data, cfg, resume, noval, nosave, workers, freeze, user\_loss = \\ Path(opt.save\_dir), opt.epochs, opt.batch\_size, opt.weights, opt.single\_cls, opt.evolve, opt.data, opt.cfg, \\ opt.resume, opt.noval, opt.nosave, opt.workers, opt.freeze, opt.user\_loss callbacks.run('on\_pretrain\_routine\_start') ... # Model, user\_loss is True check\_suffix(weights, '.pt') …
