Mental abuse. Is he sick or hateful?

My husband has been good to me and sweet majority of the time but when he gets just a bit stressed out or upset he will take it out on me and say he hates me and that I ruined his life. I recognize this is mental abuse that should not be tolerated. When he treats me this way my heart breaks and I just want to leave and forget about him. But I cannot distinguish if he is sick or he really hates me? I know he has some sort of mental illness undiagnosed but when he says he hates me I'm not sure if it's due to his illness. I actually do believe he hates me when he tells me, but when I tell him I am going to leave he says no and doesn't want a broken up family and that he loves me and his growing baby. What concerns me is that he doesn't want to have sex anymore which suspects that he is cheating, but he tells me he is extremely exhausted from work. Its hard to believe because he was always addicted to sex. He says he is stressed with work and stressed out even more when I bring up certain stuff. His job is physically tiring, dirty, and far away. He spends 8 hours at work and 4 hours of driving around. I told him his stress doesn't give him an exuse to treat me this way so I am stuck between packing up and leaving or giving him his space. I just want to know if he is bipolar/sick or truly hates me from his heart. I don't want to bring my baby into a toxic household. I rather be alone raising him than my husband saying he hates me when he is upset. He tells me every single day he loves me and kisses my face and my belly before going to work so it truly upsets me when he gets mean and it's something that stays on my mind all day.