Implement a custom training loop in PyTorch that incorporates gradient clipping and mixed-precision training.