Machine Learning - First Experience

General / 28 September 2020

So I tried machine learning for the first time. I thought, "Hey! This is a cool new tech, let's apply it to my own work!". Well as you can imagine, it ain't so simple...

TecoGAN example

TecoGAN

I stumbled upon TecoGAN decided that it'd be damn cool to get it up and running and maybe use it on a few sample shots. 

Spoiler:

I failed hard and didn't end up getting anything to work.

So what happened? After a week of just trying to get things up and running, I discovered that Windows isn't really the best platform for machine learning. Even though it is supported by most major libraries, it seems that for one reason or another things are easier on Linux. As an example, TecoGAN requires Tensorflow to work. Tensorflow can be set up to run on Windows no worries, however on Linux things are easier because there's a Docker container available to get things going straight off with hardly any hassle. Docker is available on Windows too, but the Tensorflow container is not compatible on the platform.

Here's the real kick in the nuts though: after getting everything set up and sorting out a few issues relating to company proxy settings, I realised that TecoGAN was written for Linux and only Linux (maybe I'm wrong, let me know if I am). The first thing that tipped me off to this was every Python reference was to Python3. Python3 isn't a valid command in Windows, just use Python. The second thing was the dependency on wget in the source code despite not being listed in the requirements anywhere. This is no worries, just download it right? Yeah that worked but more issues kept popping up until it just felt like I was re-writing the source code entirely to suit Windows.

Virtual Machine

Since I wasn't about to reconfigure my main work system for dual-boot, I decided to install Linux into a VM. I heard Ubuntu was the most supported distro for data science so I went with that. No idea why, but it literally would not boot in Virtualbox? Sure, let's try Hyper-V! Wow, buttery smooth! Cool as! Very nice except there's no access to CUDA for some reason. I abandoned that and went for VMware Workstation. It wouldn't run because of Hyper-V, yeah cool man let's just disable that AND still doesn't work because of Hyper-V. Apparently updating Windows was the solution because well, it was and VMware worked. Very smoothly might I add. Next problem was that CUDA still wasn't available. I looked into it and realised that GPU access in a VM is actually a large topic and not easy, especially in Windows. Only really possible in Linux even. 

Time to give up. With more time (and Linux) this could've worked out. I could've at least played around with machine learning on the CPU but with an RTX card in the system, it felt like a waste of time.


I hope my experience with machine learning has been interesting for you like it was for me. It definitely won't be my last time playing around with it so expect to hear more in the future! See you next time!