From Whalesharks To Leopard Spheres

One of my big weekend projects (for longer than I care to think) has been trying to create a pipeline for identifying individual whalesharks from photos. The project had kind of grown moribund as I repeatedly failed to get any decent level of recognition despite using what I thought was …

more ...

Please: Say "Twin" Networks, Not "Siamese" Networks

I'm a big fan of using a pair of identical networks to create output vectors that are then fed into a network that is trained to judge whether it's two input vectors are the same or different.

This is a powerful technique for "low k-shot" comparisons. Most ML techniques that …

more ...

The Simplest Deep Learning Program That Could Possibly Work

Once upon a time, when I, a C programmer, first learned Smalltalk, I remember lamenting to J.D. Hildebrand "I just don't get it: where's the main()?" Eventually I figured it out, but the lesson remained: Sometimes when learning a new paradigm, what you need isn't a huge tutorial, it's …

more ...

Deep Whalesharks

Whalesharks are the largest fish in the ocean, but very little is known about their movements (where they breed, for instance, has been a huge mystery, although there's now pretty good evidence that some, at least, breed in the Galapagos).

Whalesharks have a "fingerprint" in the form of distinct spots …

more ...

Notes on installing TensorFlow with GPU Support

The best Tensorflow is the one you have on your machine.

In my opinion, the bottleneck on a DNN solution is not training, but data preparation and iterating your model to the point where it's reasonable to start investing kilowatt-hours of electricity to the training. So I have Tensorflow on …

more ...

Keras is the Deep Learning Toolkit You Have Been Waiting For

I remember a time when "learning about computers" invariably started with the phrase "computers only operate on 0s and 1s…" Things could vary a little for a few minutes, but then you'd get to the meat of things: Boolean logic. "All computer programs are formed from these 'logic gates'…"

I …

more ...

The Half-Baked Neural Net APIs of iOS 10

iOS 10 contains 2 sets of APIs relating to Artificial Neural Nets and Deep Learning, aka The New New Thing. Unfortunately, both APIs are bizarrely incomplete: they allow you to specify the topology of the neural net, but have no facility for training.

I say this is "bizarre" for two …

more ...

Is Watson Elementary?: Pt. 2

I used to be on top of  Artificial Intelligence -- I wrote a column for and ultimately went on to be the Editor-in-Chief of AI Expert, the leading trade magazine in the AI field at the time. I've tried to stay, not professionally competent, but familiar with the field. That has …

more ...

ResolverOne: Best Spreadsheet Wins $17K

ResolverOne is one of my favorite applications in the past few years. It's a spreadsheet powered by IronPython. Spreadsheets are among the most powerful intellectual tools ever developed: if you can solve your problem with a spreadsheet, a spreadsheet is probably the fastest way to solve it. Yet there are …

more ...

IronPython 2.0 & Microsoft Research Infer.NET 2.2

 import sys import clr sys.path.append("c:\\program files\\Microsoft Research\\Infer.NET 2.2\\bin\\debug") clr.AddReferenceToFile("Infer.Compiler.dll") clr.AddReferenceToFile("Infer.Runtime.dll") from MicrosoftResearch.Infer import * from MicrosoftResearch.Infer.Models import * from MicrosoftResearch.Infer.Distributions import *  firstCoin = Variable[bool].Bernoulli(0.5) secondCoin = Variable …
more ...