Posts

Progress!

So after giving up on nVidia, I bought a used ATI card (Radeon HD 7850), started over with the install of Ubuntu 14.04 LTS and tried out OpenCL. The usual rules apply. Install 14.04, update it fully, use the built-in proprietary AMD drivers built in (and this is the key, the drivers are already there in 14.04, a huge plus) called "fglrx" and leave them alone (seriously, don't try to upgrade them, they work fine out of the box.) Install OpenCL ffrom here https://wiki.tiker.net/OpenCLHowTo It's not as intimidating as it looks, mostly it's a matter of carefully following instructions. Install will take a bit of time, don't panic. Once that's done, then you can install Char-RNN, following each step, skipping the CUDA instructions and going for OpenCL ones. During install, especially the Torch part, you'll see a lot of dependency errors, don't sweat it, they are non-fatal. Once *that* is done (whew!) then the system is ready to go.

Boot Loops

CUDA, it seems, is much more complex than sudo apt-get install. You have to use nVidia closed-source/binary-blob/call-it-what-you-want/non-open-source driver package. It's supposed to be specifically designed for CUDA. Okay, well, fine, I'm not picky, whatever makes it work.  Turns out CUDA documentation and drivers are....involved. Really really involved. If you want, take a look here http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html Those of you who read that, you will see the magic words "sudo apt-get install cuda" and think, "Ah ha! This guy is wrong, it really is that easy!" No, no it's not. Note all the prior stuff you need to install first, and some of it isn't trivial, and if you don't do it in exactly the way the documentation says, it will send you into an endless boot loop from login. Which means, time to start over. Well, for the really advanced Linux user, I'm sure there is a way to

Close, but no cigar

After many wipe and reinstall attempts with 16.04, I went back to Google to read. As it turns out, using an older version of Ubuntu, 14.04 LTS to be exact, works a lot better. For reasons unknown to me, many of the missing packages were already there by default, which cut down quite a bit on the install time. So, word to the wise, stay with Ubuntu 14.04 LTS if you want Char-RNN to work well, or simply to save yourself a lot of apt-get install backtracking. Trust me, the install of Karpthy goes much more smoothly. Which brings me to my next hiccup during the install. Graphic Drivers. Karpathy works fine CPU-bound, but works faster, much faster, running through a GPU. Which means having a video card, and drivers, and more importantly, either CUDA (for nVidia cards) or OpenCL (for AMD/ATI cards) installed. Given nVidia rules the roost when it comes to GFX cards and gaming, I had a few spare ones I wasn't using, that I could easily drop in to the spare PC and insta

Fun with Distros

Right, so, Ubuntu 16.04 LTS. Seems simple right? Well the basic install was a walk in the park, drop the CD in, and let it go to town on the PC. Then came the first set of instructions (taken from the Karpathy site I linked to earlier) $ curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash $ git clone https://github.com/torch/distro.git ~ /torch --recursive $ cd ~ /torch ; $ ./install.sh # and enter "yes" at the end to modify your bashrc $ source ~ /.bashrc So right away, problems arise. Curl it seems, wasn't installed by default on 16.04. Ok, no issues, I'll just sudo apt-get install curl and go to town. Yeah, errors get thrown. Scrolling through them I realize there are more dependencies required. Sigh. Ok, so make note, do a sudo apt-get install of each dependency and move on to the next step. Oh, one of the important things from the Karpathy site? Yeah, download the actual program and unpack it. That hel

How not to follow directions

So I mentioned I knew Linux right? Well the program required Ubuntu, which is basically Debian with a different Desktop Manager, and since I had a system with Linux Mint (another Debian version) already installed, I figured "no sweat! I'll just use that and I'll be up and running in no time." Famous last words. While the instructions seemed simple enough, I soon ran into Dependency Hell to the point where I was totally lost as to what step I was on and any attempts to move forward, was met with more errors. So, in my infinite wisdom, I started reading. And reading.. And reading... So yeah, you *can* use another distro, like Mint, but you had best be in top form as to your Linux skills if you try. In the end, it was easier to wipe the spare system and start fresh with their recommended distro, Ubuntu, than it was to try to patch up the mess I'd made. So, okay, I'm a bright guy, I'll go with the latest version (at the time, a new one is

How did this begin?

I read a tech site called "Ars Technica" and one day they ran an article about an RNN creating names for paint colours. You can read about it here https://arstechnica.com/information-technology/2017/05/an-ai-invented-a-bunch-of-new-paint-colors-that-are-hilariously-wrong/ and I was instantly hooked on the idea of creating my own Neural Network. So I followed the link from Ars, back to the original  site, which is here http://lewisandquark.tumblr.com/ and started reading from the beginning. The lovely and talented Ms. Shane linked to the Karpathy site where the program could be obtained from. Seemed simple enough, it need a Linux OS, and I was already familiar with Linux, so this would be a walk in the park. Right? Oh so very wrong... Read on.

Introduction

Greetings and Salutations, This journal is going to document my experiments with Recurrent Neural Networks (aka Machine Intelligence) and the rather long way we have to go with this field. A quick overview on RNNs can be found here https://karpathy.github.io/2015/05/21/rnn-effectiveness/ and here https://medium.com/@camrongodbout/recurrent-neural-networks-for-beginners-7aca4e933b82 These are reasonably high level topics, but to break it down it is a program that can create new connections (data, sound, images) from a given set of data. MI goes by a number of different terms these days, Deep Learning, Recurrent Neural Networks (which is the term I use) and of course, the overused and incorrect Artificial Intelligence. I will be specifically talking about my experiences with Karpathy RNN, which can be found here https://github.com/karpathy/char-rnn Ok, that's all for this post, keep reading for the trials and tribulations.