Neuromorphic Computing with Two-dimensional Materials-based Memories and Metal Oxide Memories