Deep Semi-supervised Learning with Double-Contrast of Features and Semantics