A Variation-Tolerant In-Memory Machine Learning Classifier via On-Chip Training | Synapse