# Change training data in Trainer with callback

**URL:** </static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610%3E%5C
**Category:** 🤗Transformers\
**Created:** [November 23, 2022, 10:13pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610 "2022-11-23T22:13:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jpcorb20](https://avatars.discourse-cdn.com/v4/letter/j/f4b2a3/32.png) [@jpcorb20](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fjpcorb20)%5C
**Post date:** [November 23, 2022, 10:13pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610%2F1 "2022-11-23T22:13:34Z")

</div>

Can we change the train\_dataset during training using a custom Trainer callback?

Thanks,

---

<div class="post-metadata">

**Author:** ![sgugger](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/sgugger/32/2291_2.png) [@sgugger](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fsgugger)%5C
**Post date:** [November 28, 2022, 6:30pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610%2F2 "2022-11-28T18:30:36Z")

</div>

I don’t think that’s possible no. To customize your own training loop, we really recommend using Accelerate.

---

<div class="post-metadata">

**Author:** ![Indramal](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/indramal/32/61744_2.png) [@Indramal](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2FIndramal)%5C
**Post date:** [November 29, 2022, 2:57am UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610%2F3 "2022-11-29T02:57:03Z")

</div>

Use a function for the dataset to insert data without a callback.

NOTE: I did not check but can be possible.

Also can combine multiple datasets.

---

<div class="post-metadata">

**Author:** ![jpcorb20](https://avatars.discourse-cdn.com/v4/letter/j/f4b2a3/32.png) [@jpcorb20](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Fu%2Fjpcorb20)%5C
**Post date:** [November 29, 2022, 10:39pm UTC](/static-proxy?url=https%3A%2F%2Fdiscuss.huggingface.co%2Ft%2Fchange-training-data-in-trainer-with-callback%2F26610%2F4 "2022-11-29T22:39:00Z")

</div>

Thanks for the replies!

Actually, I came up with a hack to stop the training based on a criteria using a custom callback. Then, I computed what I needed to change the training data and I overwrote it in the trainer after. Finally, I expanded the training epochs in the arguments to continue the training afterwards.
