Machine learning can performed on a wide range of device categories - from MCUs with Arm® Cortex®-M4 and M7 cores to complex SoCs with high-end A-class cores, GPUs, DSPs, and dedicated machine learning accelerators. The first step is learning how to utilize proper training techniques for model development, but beyond that how to generate optimized inference engines that can be used to perform classifications, anomaly detection, predictions, and other types of decisions. This presentation highlights some basic training techniques, such as data augmentation, but the primary focus will be on various ways to deploy neural network frameworks and classical machine learning algorithms, and most importantly, utilizing a variety of open source tools and techniques. We will show how these techniques fit in with some real use cases such as object recognition and anomaly detection.