Just practice relaxed breathing and breath holds. As you breathe and do breath holds pay close attention to the feelings in your body.
The more you practice the more you will notice subtle changes in breath holds. You will learn to feel what is too much of an inhale
or too little. You will learn to recognize the pending urges and to identify when contractions begin. Learn to do a relaxed, slow, moderately deep breathe up cycle - don't breathe in too deep and don't force the air out on exhale, just let the elasticity of your ribcage force the air out. It's can be kind of meditative.
During breath holds feel how the urge to breath at first is not there at all, and then slowly builds. Learn to "accept" the urge to breathe and just ride through it. The urge to breathe during a breath hold is not really "painful" - it is just a very strong urge which you can learn to accept/ignore. When you think you can't go any longer say to your self "just 5 more seconds" - then do it. Then another 5, then another.
The more you practice the more you will get used to it and the more relaxed you will become. And freediving is all about calmness and relaxation. Never practice breath holds in the water unless you have a trained spotter! People have died doing this. But it is OK to practice alone on a sofa or in bed. Good luck. 2:45 is a very respectable breath hold!