Hacker News new | past | comments | ask | show | jobs | submit | petewarden's comments login

One nice thing about Lite is that it's a lot easier to just include the operations you need (compared to TensorFlow 'classic'), there's fusion for common patterns, and the base interpreter is only 70KB. That covers a lot of the advantages of using XLA for mobile apps. In return you have the ability to load models separately from the code, and the ops are hand-optimized for ARM.

I'm still a fan of XLA, and I expect the two will grow closer over time, but I think Lite is better for a lot of scenarios on mobile.


How about quantization? Does tensorflow lite perform quantization or is it tensorflow supposed to do it? Is it iterative process or straightforward? Or are you training quantized models as nn api docs say?


The quantization is done with a special training script that is quantization aware. We will be open sourcing a mobilenet quantized training script to show how to do this soon.


I'm the original author of the freeze_graph script, so I'm to blame for a lot of the on-going mess here. For what it's worth I'm actively working on cleaning this up, since I know what a painful experience it is. Apologies for everyone who's struggled with this, and I will take a look at the case number mentioned above and follow up internally to see if there's anything I can help with.


Thanks for this! I would like to bring two things to your attention :

1. We don't know what to use and its very confusing. For example, now there is https://stackoverflow.com/questions/42216208/should-tensorfl.... Will freeze_graph become canonical and we forget about SavedModel? And everything else deprecated? It should be part of the core API and workable on CloudML, where we don't have a lot of control on running scripts and certainly not Bazel builds.

2. Android/ios story. Now you have the Pixel Visual Core as well... Please make it seamless all the way to Android or Ios or raspberry pi (whatever you guys support).


I'm not going to cover it in detail in my talk, but the code with some barebones documentation is available at https://github.com/tensorflow/tensorflow/tree/master/tensorf...

One thing to note is that this isn't available on production phones yet, because we need a signed driver to run within Android. You should be able to run this on a Dragonboard 820 development board though, using the instructions in the README.

This is all very new though, so apologies in advance for any hiccups getting up and running. My email's petewarden at google.com if you are trying this and hit problems.


Thanks Tim and Pete!


Yes, that was my screwup, sorry for any confusion! Despite multiple linear algebra courses, working in 3D graphics for a decade, I haven't internalized the basics of matrix notation. It doesn't help that my usual sandbox (Eigen) is column major by default, which is the wrong in-memory order for my raster-image trained brain to visualize. Funnily enough, I find tensor notation a bit easier, despite being less familiar.


No worries. Also, I found the article very interesting and informative. Thanks!


I found college completely crushing, especially because I'd built up wild hopes for it as an escape from my unhappy childhood. I don't have any easy answers, but here's some of the tools that helped me:

- Exercise. I know, it sounds dumb, especially when you're depressed and have no energy, but it's an incredibly effective way of hacking your brain chemistry. Run, swim, bike, hike, just pick one and pour all your frustration, anger, and sadness into it.

- Get a hobby. I spent a lot of time worrying about being interesting to others, which guaranteed I wouldn't be. Being interesting is a many-body problem with lots of unknowns, but being interested is way more solvable. You can figure out what you like a lot more easily than you can guess what might make other people like you. Don't rule something out because it seems dorky, I guarantee you'll find other people who enjoy it too, even if it's Lego or collecting old maps. It's surprisingly hard to understand what you actually want though, especially if you've been focused on what other people think.

- Beware of magical transformations. I got married at 19, driven by an overwhelming desire to completely change my life to find happiness. It didn't work. I also took a lot of drugs. That didn't work either. I saw people get pulled into cult-like religions or extreme political groups. Drastic exterior changes don't alter who you are, you'll still have the same problems, no matter what anyone tells you. Focus on boring incremental improvements, like exercise and hobbies. I hated that idea, because I was in love with my life being dramatic and the basic stuff seemed so mundane, but it's what ended up making a lasting difference.

I doubt I'd have even listened to my present-day self when I was 19, but I hope there's something in there that helps you. Life really does get better.


I went through Techstars in 2010 as their first solo founder, and I failed pretty hard. The combination of talks, mentor sessions, wooing potential team members, and pitch practice left me almost no time to code and plan the product. For the final pitch, all I had was demo ware, and I felt an idiot getting up on stage.

It was a worthwhile failure for me, I made some great friends and learned a lot, but I'd counsel any lone founder to focus on growing some kind of support team around them as the first priority. I would never contemplate an accelerator as a solo founder, but I have nothing but admiration for those who have managed it.


That might be more of an issue with Techstars than being a solo founder (I've been through Techstars as a solo founder. I'm also a YC alum).

Techstars has lots of talks, sessions, and pitch practice. YC has almost none of that - one dinner a week, otherwise, a complete focus on product and customers.


Agreed. I started out solo in an incubator and had to be RUTHLESS with my time. Basically didn't really make use of the mentors / sessions / etc - too busy writing code / making sales calls. Didn't spend time networking with the other startups - too busy trying to network in my industry. Didn't spend time on pitch competitions etc - too busy trying to find real investors who knew me and knew the space.

I've since added a co-founder, but we more or less still operate the same (probably a bit to our detriment).


Why didn't you contract coding out (possibly you did)?


I look through the 'new' page archives every few days, and reblog interesting posts. They're usually so old that upvotes wouldn't matter, but the signal-to-noise ratio for submissions is high enough that I can usually find some neglected gems.


I've wrestled with this pattern (anti-pattern?) myself. One key advantage is that I can run plain Ruby unit tests outside of Rails, as long as I make sure the right environment variables are set in my shell.

I'm conflicted about it though; I hate being out of the mainstream on something as fundamental for maintenance as this and I have to jump through hoops to get Apache to set my environment variables.


Bandwidth and general cumbersomeness of dealing with larger amounts of data with starving-startup resources. I actually spent about a decade of my career focused on image processing, and while I love it's power, I knew how much of an engineering challenge it can be at massive scale. I need to do a blog post about this, since I know my choice is a bit surprising and needs explanation.


Though it meant a bit of server setup, I had a good experience using self-hosted PhantomJS. I have a mini how-to here, in the "Rendering the screenshot" section: http://petewarden.typepad.com/searchbrowser/2011/11/how-to-p...


Thanks. That was easier to set up than I expected -- lots of prerequisites but all easy to install. I just need to figure out why the fonts are coming out wrong, then maybe it'll make more sense to set up a queue to build screenshots myself with this instead of paying for a service.



How long did these take to render with phantomjs?


I set up a queue/worker setup with a max of 5 threads to generate screenshots with phantomjs then resize them with imagemagick. It was averaging one URL per second. Wasn't very taxing on the CPU so probably could be pushed much higher even on this little VPS.


Excellent! Thanks for the tip. I'm currently using url2png and imagemagick. URL2PNG is an excellent service, but probably won't be economically feasible for me, long term, when I get to trying to scale my app. ( I'm working on a visual bookmarking app with screenshot thumbnails serving as tiles on a draggable corkboard interface. You can double-click the tiles to open the target url in a draggable iframe. Example: http://beta.mindcast.com/ui/4k82yb5zb2ov )


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: