How would you optimize a deep neural network to fit within a strictly limited memory footprint for edge inference like Syntiant?