Live data from Hacker News

How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

medium.com

51–60 of 123 posts

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#52

Just wanted to say thanks for the warm welcome from HN when the app was released last month — I hope this blogpost answers the questions that were raised back then. I’d be happy to answer anything else you’d like to know! Original thread: https://news.ycombinator.com/item?id=14347211 Demo of the app (in the show): https://www.youtube.com/watch?v=ACmydtFDTGs App for iOS: https://itunes.apple.com/app/not-hotdog/id12124…

I am making an app that takes pictures and tries to tell you if the food in the picture has allergens. I didn't know if I should feel humble or just laugh. (I decided it was hilarious in the end) But it made me aim higher in a hackathon last weekend. I also use your app in my elevator pitch for people to understand.

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#53

Just wanted to say thanks for the warm welcome from HN when the app was released last month — I hope this blogpost answers the questions that were raised back then. I’d be happy to answer anything else you’d like to know! Original thread: https://news.ycombinator.com/item?id=14347211 Demo of the app (in the show): https://www.youtube.com/watch?v=ACmydtFDTGs App for iOS: https://itunes.apple.com/app/not-hotdog/id12124…

I am making an app that takes pictures and tries to tell you if the food in the picture has allergens. I didn't know if I should feel humble or just laugh. (I decided it was hilarious in the end) But it made me aim higher in a hackathon last weekend. I also use your app in my elevator pitch for people to understand.

Great idea that I would be terrified to pursue from a legal perspective.

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#54

Just wanted to say thanks for the warm welcome from HN when the app was released last month — I hope this blogpost answers the questions that were raised back then. I’d be happy to answer anything else you’d like to know! Original thread: https://news.ycombinator.com/item?id=14347211 Demo of the app (in the show): https://www.youtube.com/watch?v=ACmydtFDTGs App for iOS: https://itunes.apple.com/app/not-hotdog/id12124…

I am making an app that takes pictures and tries to tell you if the food in the picture has allergens. I didn't know if I should feel humble or just laugh. (I decided it was hilarious in the end) But it made me aim higher in a hackathon last weekend. I also use your app in my elevator pitch for people to understand.

[deleted]

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#55

What kind of accuracy did you get with the transfer learning attempts?

Well for a while I was lulled into complacency because the retrained networks would indicate 98%+ accuracy, but really that was just an artifact of my 49:1 nothotdog:hotdog image imbalance. When I started weighing proportionately, a lot of networks were measurably lower, although it’s obviously possible to get Inception of Vgg back to a “true” 98% accuracy given enough training time. That would have beat what I ended…

Very interesting! If you were to make a v2, would you adjust the 49:1 imbalance and add more hot dog images?

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#56
I am glad I am not the only one with questions about the external GPU, I had considered trying that, but came to the conclusion that the data transfer between CPU to GPU would be too slow for ML tasks. So, what is your opinion on this ? if you had to do it again would you use the eGPU or just use AWS or another GPU cloud service .

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#57

I am glad I am not the only one with questions about the external GPU, I had considered trying that, but came to the conclusion that the data transfer between CPU to GPU would be too slow for ML tasks. So, what is your opinion on this ? if you had to do it again would you use the eGPU or just use AWS or another GPU cloud service .

My takeaway is that local development has a huge developer experience advantage when you are going through your initial network design / data wrangling phase. You can iterate quickly on labeling images, develop using all your favorite tools/IDEs, and dealing with the lack of official eGPU support is bearable. Efficiency-wise it’s not bad. As far as I could tell the bottleneck ended up being on the GPU, even on a 2016 MacBook Pro with Thunderbolt 2 and tons of data augmentation done on CPU. It’s also a very lengthy phase so it helps that’s it’s a lot cheaper than cloud.

When you get into the final, long training runs, I would say the developer experience advantages start to come down, and not having to deal with the freezes/crashes or other eGPU disadvantages (like keeping your laptop powered on in one place for an 80-hour run) makes moving to the cloud (or a dedicated machine) become very appealing indeed. You will also sometimes be able to parallelize your training in such a way that the cloud will be more time-efficient (if still not quite money-efficient). For Cloud, I had my best experience using Paperspace [0]. I’m very interested to give Google Cloud’s Machine Learning API a try.

If you’re pressed for money, you can’t do better than buying a top of the line GPU once every year or every other year, and putting it in an eGPU enclosure.

If you want the absolute best experience, I’d build a local desktop machine with 2–4 GPUs (so you can do multiple training runs in parallel while you design, or do a faster, parallelized run when you are finalizing).

Cloud does not quite totally make sense to me until the costs come down, unless you are 1) pressed for time and 2) will not be doing more than 1 machine learning training in your lifetime. Building your own local cluster becomes cost-efficient after 2 or 3 AI projects per year, I’d say.

[0]: https://www.paperspace.com/ml

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#58

Earlier quoted context omitted.

Well for a while I was lulled into complacency because the retrained networks would indicate 98%+ accuracy, but really that was just an artifact of my 49:1 nothotdog:hotdog image imbalance. When I started weighing proportionately, a lot of networks were measurably lower, although it’s obviously possible to get Inception of Vgg back to a “true” 98% accuracy given enough training time. That would have beat what I ended…

Very interesting! If you were to make a v2, would you adjust the 49:1 imbalance and add more hot dog images?

[deleted]

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#59

I am glad I am not the only one with questions about the external GPU, I had considered trying that, but came to the conclusion that the data transfer between CPU to GPU would be too slow for ML tasks. So, what is your opinion on this ? if you had to do it again would you use the eGPU or just use AWS or another GPU cloud service .

My takeaway is that local development has a huge developer experience advantage when you are going through your initial network design / data wrangling phase. You can iterate quickly on labeling images, develop using all your favorite tools/IDEs, and dealing with the lack of official eGPU support is bearable. Efficiency-wise it’s not bad. As far as I could tell the bottleneck ended up being on the GPU, even on a 2016…

Awesome, thanks!

Re: How HBO’s Silicon Valley Built “Not Hotdog” with TensorFlow, Keras and React Native

#60
post #18

It's interesting how amenable image classification neural networks are to the "take working model, peel off last layer or two, retrain for a new application" approach. I've seen this suggested as working pretty well in a few instances. I guess the interpretation is that the first few normalize->convolution->pool->dropout layers are basically achieving something broadly analogous to the initial feature extraction step…

For sure, although I should say, for this specific instance I ended up training a network from scratch. I did get inspiration from the MobileNets architecture, but I did not keep any of the weights from their ImageNet training. That was shockingly affordable to do even on my very limited setup, and the results were better than what I could do with a retraining (mostly has to do with how finicky small networks can be…

That's very cool to hear, I'm a lot more interested in the eGPUs (vs. something like an AWS P2 instance) after reading this. Thanks again for sharing.
Post reply on HN