Live data from Hacker News

Not Hotdog App

itunes.apple.com

41–50 of 148 posts

Re: Not Hotdog App

#41
For anyone keen to learn more about object detection (and deep learning in general), I just finished working through an excellent free MOOC taught by Jeremy Howard (former chief scientist at Kaggle) - you basically learn how to fine-tune a convolutional neural network with your own data (e.g. hotdog vs not hotdog) in lesson 2!

http://course.fast.ai/lessons/lesson2.html

Re: Not Hotdog App

#42

Earlier quoted context omitted.

About 150k total images, 3k of which were hotdogs. The results are far from perfect (there's ton of subtle — or hilarious — ways to trick the app) but it was better than using a pre-trained model or doing transfer learning, accuracy-wise (honestly it was even better than using Cloud APIs). As for the difficulty in preparing the training set, I'll just say I definitely empathize with Dinesh and Jian Yang’s feelings in…

AWESOME! Can you please elaborate a bit more on the model architecture and what you tried with respect to transfer learning? Did you use an imagenet architecture e.g. VGG and retrain from scratch or a custom architecture? Did you try chop off the last 1/2/3 layers of a prerrained mode and fine-tune? Bonus points: 1. How much better were your results trained from scratch vs fine-tuned? 2. How long did it take to train…

Hey so I actually tried Vgg, Inception and SqueezeNet, out of the box, chopped and trained from scratch (SqueezeNet only for the latter due to resource constraints).

We ended up with a custom architecture trained from scratch due to runtime constraints more so than accuracy reasons (the inference runs on phones, so we have to be efficient with CPU + memory), but that model also ended up being the most accurate model we could build in the time we had. (With more time/resources I have no doubt I could have achieved better accuracy with a heavier model!)

Training the final model took about 80 hours on a single Nvidia GTX 980 Ti (the best thing I could hook to my MacBook Pro at the time). That's for 240 epochs (150k images in an epoch) ran in 3 rate annealing phases, each phase being a handful of CLR (cyclical learning rate) phases.

I'll answer in more detail in the full blogpost, it's a bit complicated to explain in a comment. I'll have charts & figures for y'all :)

Re: Not Hotdog App

#43
post #16

Earlier quoted context omitted.

How does one get this job? This sounds ridiculously fun.

It was random, I was already working on the show as what Hollywood calls a (technical) “consultant”: advising on storylines, dialogue, background assets, etc. When this idea popped up, someone suggested we build the app for real. We took a try and ended up building the entire thing in-house with the crew, as opposed to hiring an external agency to do it for us.

If I understood correctly by reading the comments, this was built for a show ? What show ?

EDIT: ah, it's in your profile ;)

Re: Not Hotdog App

#44
post #38

Earlier quoted context omitted.

What was the hack?

When using React Native (and also storing your network in JS) you can choose to push updates and fixes to JS part of your code without going through store again. Check: http://microsoft.github.io/code-push/

Yup that's basically it. The hack was just in getting Tensorflow to accept/load its neural network definition from the JS bundle (what CodePush distributes for you) rather than from the main Cocoa bundle.

Re: Not Hotdog App

#45

US only, welcome to the "global system of interconnected computer networks". Hope Richard's P2P-internet will work better :)

Yup sorry about that, the app is available only in the US (& Canada) due to some legal restrictions we couldn't avoid. FWIW I also worked about on Richard's New Internet concept for this season so I definitely hear ya ;)

Can you please enlighten us as to what kind of legal restrictions apply here? It is always interesting to see how these «little» legal details get in the way of running software.

Congrats for getting the app out!

Re: Not Hotdog App

#46
post #21

Earlier quoted context omitted.

It was written in Objective C?

It's actually written in React Native with a fair bit of C++ (TensorFlow), and some Objective-C++ to glue the two. One cool thing we added on top of React Native was a hack to let us inject new versions of our deep learning model on the fly without going through an App Store review. If you thought injecting JavaScript to change the behavior of your app was cool, you need to try injecting neural nets, it's quite a fee…

This looks great, haha! Shame I can't access it from the UK.

It would be really interesting to read more about your thoughts on working with RN and C++ and perhaps how you did some of it. I'm currently doing the same (but with a C++ audio engine rather than image processing stuff) and I think it's an incredibly powerful combination - but I do feel like I'm making up some interop patterns as I go and there might be better ways, so would love to hear how other people use it!

Broadly, I've created a "repository" singleton that stores a reference to both the React Native module instance (which gets set when I call its setup method from JS) and the C++ main class instance (which gets set when it starts up), so they can get a handle on each other (I bet there are better ways to do this, but I'm new to C++/ObjC and couldn't work out a better way to get a reference to the RN module).

I'm then using RCT_EXPORT_METHOD to provide hooks for JS to call into C++ via an ObjC bridge (in an RCT_EXPORT_MODULE class), and using the event emitter to communicate back to JS (so the C++ can get the RN module instance from the singleton and call methods which emit events).

I've not done anything that really pushes the bridge performance to a point where I've seen any noticeable latency/slow down caused by the interop - have you had any issues here?

Like I say, I'm finding a really cool way to build apps that need the power of native code but still with the ease of RN as the GUI and some logic, and I actually quite like the separation it enforces with the communication boundary.

Re: Not Hotdog App

#47
post #25

Hm, is this an officially licensed HBO marketing stunt? Or does SeeFood Technologies Inc. actually exist as a corporation? If not, I'm curious what the legal ramifications are of doing business as a corporation that does not exist.

The term you're looking for is "Fictitious Business Name," or "Trade Name." Generally, the legal ramifications are a requirement to register the name and pay a small fee. In Santa Clara it costs $40 to register a fictitious business name with the county and the registration is good for five years: https://www.sccgov.org/sites/rec/Fictitious%20Business%20Nam... It's really not a big deal.

Thank you, that's a pleasant surprise! Cheap and painless enough that it makes me want to try my hand at an ARG with fake corporations.

Re: Not Hotdog App

#48
post #25

Hm, is this an officially licensed HBO marketing stunt? Or does SeeFood Technologies Inc. actually exist as a corporation? If not, I'm curious what the legal ramifications are of doing business as a corporation that does not exist.

I mean, run it by a lawyer if you're ever tempted to use this in a commercial fashion, but you'd generally get told by a lawyer "I've got an icky feeling about saying untrue things in a fashion which could possibly be described as touching interstate commerce, but there is a surprising amount of nuance in fiction and entertainment experiences."

Do I think SeeFood Technologies, Inc. is factually incorporated in a US state? No, I do not. I checked the four states it is most likely to be registered in (Delaware, California, Wyoming, and Nevada) and it isn't registered in any of them. Corporate registrations are a public record and trivially searchable; if I had access to Lexis-Nexis or similar I could probably run the search nationwide roughly as easily.

A sibling reply suggests that getting a Fictitious Name / DBA issued might be sufficient, but this would depend on the state/county/etc; some of them prevent folks from registering fictitious names with things which suggest actual corporations (like Inc.) or various things which the state wants to protect ("Bank", "Trust", "University", etc are common).

(DBAs are available like candy and might make a lot of sense if you've got e.g. an LLC which operates a product whose name is not the LLC's name, if for no other reason than "You'll possibly need this to convince your bank to let you deposit checks made out to $PRODUCT_NAME into $COMPANY, LLC's bank account.")

Re: Not Hotdog App

#49
post #45

Earlier quoted context omitted.

Yup sorry about that, the app is available only in the US (& Canada) due to some legal restrictions we couldn't avoid. FWIW I also worked about on Richard's New Internet concept for this season so I definitely hear ya ;)

Can you please enlighten us as to what kind of legal restrictions apply here? It is always interesting to see how these «little» legal details get in the way of running software. Congrats for getting the app out!

NSA probably shared a few libraries/ pretrained models with them, and forgot the waiver.

Re: Not Hotdog App

#50

Earlier quoted context omitted.

It was random, I was already working on the show as what Hollywood calls a (technical) “consultant”: advising on storylines, dialogue, background assets, etc. When this idea popped up, someone suggested we build the app for real. We took a try and ended up building the entire thing in-house with the crew, as opposed to hiring an external agency to do it for us.

If I understood correctly by reading the comments, this was built for a show ? What show ? EDIT: ah, it's in your profile ;)

For future reference, the show is Silicon Valley.
Post reply on HN