# A custom trainer for multi-task learning?

**URL:** <https://discuss.huggingface.co/t/a-custom-trainer-for-multi-task-learning/27039>\
**Category:** 🤗Transformers\
**Created:** [December 1, 2022, 8:07am UTC](https://discuss.huggingface.co/t/a-custom-trainer-for-multi-task-learning/27039 "2022-12-01T08:07:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![EvilIceCream](https://avatars.discourse-cdn.com/v4/letter/e/eb8c5e/32.png) [@EvilIceCream](https://discuss.huggingface.co/u/EvilIceCream)\
**Post date:** [December 1, 2022, 8:07am UTC](https://discuss.huggingface.co/t/a-custom-trainer-for-multi-task-learning/27039/1 "2022-12-01T08:07:30Z")

</div>

Hi!  
I am working on using Trainer under a multi-task setting. Specifically, a list of losses(`[loss1, loss2, ...]`) is returned in a single model forward, and optimized with a custom optimizer like [PCGrad](https://github.com/WeiChengTseng/Pytorch-PCGrad). How can I do this with minimal changes to Trainer (while preserving all the nice features of Trainer like multi-gpu training)?  
Thanks!

---

<div class="post-metadata">

**Author:** ![yeshwanthv5](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/yeshwanthv5/32/18621_2.png) [@yeshwanthv5](https://discuss.huggingface.co/u/yeshwanthv5)\
**Post date:** [September 18, 2024, 6:13pm UTC](https://discuss.huggingface.co/t/a-custom-trainer-for-multi-task-learning/27039/2 "2024-09-18T18:13:57Z")

</div>

Did you find a reliable solution for this?
