Part 2 - Creating a Neural Network Based MAUI Mobile App with a Neural Network Designed and Trained in RunPod
In part one I established the pipeline - designing and training the NN in Colab so that it can be used in a .NET MAUI based mobile app. In part two I will try making a more genuinely useful NN to be used in a more genuinely release-able app.
MAUI DEV STORIES
Stephen Moreton-Howell
5/9/20263 min read
The Limits of Google Colab
OK, so I think I've started to hit the limits of what I can do with Google Colab. As soon as a I try to train a non-trivial NN (I'm experimenting with generating human faces with a NN trained on a faces dataset) on a free GPU I leave it running, come back and it times out. I could pay for more GPU time in Colab, but I did a bit of research on environments that are good for more serious work and came up with:
RunPod. I've created an account using my GitHub account and am going to spend a bit of time experimenting with it. I'll try out my face-learning GAN in there and see how that works out. Watch this space to see the results.
My RunPod account it set up. I've added a $10 credit (the minimum allowed) to start off, just while I'm finding my feet. I choose the RTX 4090 GPU, but it seems to hang while setting up the pod. So I delete that one and try again with the RTX 3070 ($0.13 per hour). That one seems to work. I don't know if it was the change of GPU that did it, or something else, (Philosophical aside: In the good ole days long before the internet when the ZX Spectrum had a total of 64k to store everything, with its entire "personality" defined in its 16k ROM, you got the feeling that the world was deterministic - everything was defined - you could know the value of every byte of that ROM. Nowadays, the number of variables beyond your control is so huge that, although it's still theoretically deterministic, in practice it's not), but at least it works now.
09-MAY RunPod - Choose a GPU and set up a pod
15-MAY RunPod - Try to get the pod initialized and do some coding
With the new GPU (RTX 3070) I'd tried creating a Jupyter notebook but then had to stop for a few days. Coming back to it, trying to start the pod again, it hung in the "Initializing your pod..." stage. So this RunPod system was not particularly impressive so far. Quite difficult to get anything up and running.
There seemed to be very few GPUs with any available capacity. The cheapest I could find that still has some is the RTX 5090 at $0.99 per hour. So I tried a 3rd attempt to create a pod using that one. I called this "pod_attempt_3". This was what happened next:
So apparently in the time it took me to set up the pod that GPU also became unavailable. This is despite specifying "Any region". At this point it was looking like RunPod was no good. No resources available to do anything. Lucky I only put $10 in my account there!
Anyway, I tried it again and it randomly worked this time. "pod_attempt_3" connected. So I clicked "Jupyter Lab" and a Jupyter Lab session opened. Good. Next I wanted to try running the WGAN that I was playing with in Google Colab. So I downloaded that Jupyter notebook from Colab and successfully uploaded it to RunPod's Jupyter Lab. Next, before getting too deeply into anything else, I need to check that I can close Jupyter Lab down and re-open it. No point in doing loads of work only to find that when I take a break I lose it all. So I close it down and try to-reopen it. Result: "Bad gateway Error code 502".
My opinion of this RunPod system is not getting any better! Very close to abandoning it at this point and looking for something else. But I persevered for now.


