pythonamazon-web-servicesamazon-ec2hpcgrid-computing

Possible to outsource computations to AWS and utilize results locally?


I'm working on a robot that uses a CNN that needs much more memory than my embedded computer (Jetson TX1) can handle. I was wondering if it would be possible (with an extremely low latency connection) to outsource the heavy computations to EC2 and send the results back to the be used in a Python script. If this is possible, how would I go about it and what would the latency look like (not computations, just sending to and from).


Solution

  • I think it's certainly possible. You would need some scripts or a web server to transfer data to and from. Here is how I think you might achieve it:

    1. Send all your training data to an EC2 instance
    2. Train your CNN
    3. Save the weights and/or any other generated parameters you may need
    4. Construct the CNN on your embedded system and input the weights from the EC2 instance. Since you won't be needing to do any training here and won't need to load in the training set, the memory usage will be minimal.
    5. Use your embedded device to predict whatever you may need

    It's hard to give you an exact answer on latency because you haven't given enough information. The exact latency is highly dependent on your hardware, internet connection, amount of data you'd be transferring, software, etc. If you're only training once on an initial training set, you only need to transfer your weights once and thus latency will be negligible. If you're constantly sending data and training, or doing predictions on the remote server, latency will be higher.