Placeto: Learning Generalizable Device Placement Algorithms for Distributed Machine Learning