In this chapter, we compared Go-only and polyglot ML solutions from a practical point of view, contrasting their drawbacks and advantages. We then presented two generic solutions to develop polyglot ML solutions: the os/exec package and JSON-RPC. Finally, we looked at two highly-specialized libraries that come with their own RPC-based integration solutions: TensorFlow and Caffe. You have learned how to decide whether to use a Go-only or polyglot approach to ML in your application, how to implement an RPC-based polyglot ML application, and how to run TensorFlow models from Go.
In the next chapter, we will cover the last step of the ML development life cycle: taking an ML application written in Go to production.