Join for free and connect with our local tech scene

Stay on top of the latest companies and upcoming events with our weekly newsletter, and be counted among the people building the future of your local tech community.

Phoenix, AZ /

Deep Learning like a Viking with Guy Royse

Foothills Recreation Center 5600 W. Union Hills Dr. , Glendale, AZ (map)

Building Convolutional Neural Networks with Keras

The Vikings came from the land of ice and snow, from the midnight sun, where the hot springs flow. In addition to longships and bad attitudes, they had a system of writing that we, in modern times, have dubbed the Younger Futhark (or ᚠᚢᚦᚬᚱᚴ if you're a Viking). These sigils are more commonly called runes and have been mimicked in fantasy literature and role-playing games for decades.

Of course, having an alphabet, runic or otherwise, solves lots of problems. But, it also introduces others. The Vikings had the same problem we do today. How were they to get their automated software systems to recognize the hand-carved input of a typical boatman? Of course, they were never able to solve this problem and were instead forced into a life of burning and pillaging. Today, we have deep learning and neural networks and can, fortunately, avoid such a fate.

In this session, we are going to build a Convolution Neural Network to recognize hand-written runes from the Younger Futhark. We'll be using Keras to write easy to understand Python code that creates and trains the neural network to do this. We'll wire this up to a web application using Flask and some client-side JavaScript so you can write some runes yourself and see if it recognizes them.

When we're done, you'll understand how Convolution Neural Networks work, how to build your own using Python and Keras, and how to make it a part of an application using Flask. Maybe you'll even try seeing what it thinks of the Bluetooth logo?


Guy started his career as gasp a COBOL programmer. But don’t hold that against him, it just gives him perspective. He has spent much of his time programming in the most popular of the semi-colon delimited languages including C++, Java, and JavaScript. More recently he has been working with Python and machine learning.

In addition to programming computers, Guy had a background in electronics and enjoys building circuits, burning himself with a soldering iron, and programming small hardware devices such as the Arduino and the Raspberry Pi. No one has actually paid him to do this sort of work… yet.

Guy loves to speak and teach and will go to any conference that will give him an audience and teach anyone who wants to learn. He normally speaks about technology but has been known to wander into other topics.

Currently, Guy works for Nexosis, a machine learning company in Columbus, where they pay him to do what he loves. He is also the chief organizer for the Columbus JavaScript User Group and is active in the local development community in Columbus.

In his personal life, Guy is a hard-boiled geek interested in role-playing games, science fiction, and technology. He also has a slightly less geeky interest in history and linguistics. In his spare time he volunteers for his local Cub Scout Pack and studies language history.

An avid gamer for decades, Guy bemoans the glut of fantasy in role-playing and yearns for more science fiction in gaming. His favorite games include BattleTech, Dungeons & Dragons 1, Illuminati, In Nomine, Munchkin, Paranoia, and most recent Savage Worlds.

On the fiction front, Guy prefers to read Science Fiction although he has been known to rant prolifically that Science Fiction and Fantasy differ only in their flavor, not their substance (I’m looking at you, Doctor). Some of his favorite authors include Douglas Adams, Greg Bear, Larry Niven, Fredrick Pohl, Scott Sigler, and Dan Simmons.

Guy lives in Ohio with his wife, his three sons, and an entire wall of games. He attends church every Sunday—and actually pays attention—but he’s not a prude about it.


Sign in to comment.