News for hackers. Stuff that matters.
Re:Learning to See in the Dark (2018) by NikhilVerma on Friday April 17, 2020 @11:34AM (#22899918)
It's surprising how little code [1] is needed to do this. On the other hand I feel this is quite dependent on the specific camera models and might not work on the RAW data downloaded from my phone. Happy to be corrected.

[1] - https://github.com/cchen156/Learning-to-See-in-the-Dark/blob...

Re:Learning to See in the Dark (2018) by covidacct on Friday April 17, 2020 @11:40AM (#22899966)
It's a huge amount of code, hidden behind the tensorflow import statements. It's common to credit GPUs for the rapid spread of deep learning, but good GPUs were available for quite a few years before deep learning really took off. As someone who wrote * a lot* of OpenCL code, including my own python wrappers, I'm fairly certain this code would be thousands of lines without a computation graph framework library. These frameworks are really amazing pieces of software engineering and deserve some non-trivial fraction of the credit for the rise of deep learning.

If you want to know what the next hot thing in software engineering will be, just pay attention to whatever Jeff Dean is doing.

Re:Learning to See in the Dark (2018) by ganstyles on Friday April 17, 2020 @11:47AM (#22900038)
I don't know that I agree with this first statement, but even if I do, everything is abstracted by import statements even outside ML. You say this is a huge amount of code abstracted, but it wouldn't be difficult to reimplement this in numpy and pandas directly without using tensorflow at all. The code would expand a bit, and you'd have to deal directly with backprop and calculating derivatives but it wouldn't expand things too much. But then you could make the same claim about numpy abstracting the linear algebra, and I could show you that I could extract that and do it without numpy but then it would be the python math library. It's turtles all the way down. My point is, your comment applies to everything.
Re:Learning to See in the Dark (2018) by covidacct on Friday April 17, 2020 @11:50AM (#22900063)
Yup, I absolutely agree. Almost all big leaps in software engineering and applied computer science come from building a powerful and simple abstraction. Powerful and simple abstractions are surprisingly difficult to get right.
Re:Learning to See in the Dark (2018) by gowld on Friday April 17, 2020 @02:58PM (#22901827)
When people say "little code" what they mean an should say is "little customization of the tool".

There's also the issue of how hard it is to select the line of code (API call) that does the job (because the API surface is huge), which is nearly invisible attribute.

Mathematica is famous for being incredibly powerful with low custom coding, but also very hard to find the API call that does the precise thing you need.

Re:Learning to See in the Dark (2018) by liuliu on Friday April 17, 2020 @12:34PM (#22900457)
We don't have good GPUs that is as fast until 580 (or to some extents, the first Titan). Previous generations only about 2 to 5x faster depending on what types of CPU you compare against.

IMHO, credit should always go to Alex Krizhevsky for the rapid spread of deep learning. He has shown us it was possible. Even without Tensorflow and PyTorch, we will be fine with Caffe, torch, mxnet or Julia.

[dead]
Re:Learning to See in the Dark (2018) by covidacct on Friday April 17, 2020 @02:09PM (#22901397)
I implemented neural networks before the advent of the good python frameworks. It sucked. And CNNs existed for decades before AlexNet. Honestly, the software and hardware engineers are the real heroes of the deep learning revolution.

By way of analogy, David Heinemeier Hansson didn't invent the webapp or even the MVC design pattern. But Ruby on Rails did change the way webapps were built, and enabled a bunch of stuff that wouldn't have been possible otherwise (or, at least, would've taken longer and been more expensive). Lots of websites were built because of Ruby on Rails that probably wouldn't have been built otherwise, even if people would've kept on doing the web thing regardless. We can say the same thing about lisps, about linux, and about a lot of other software infrastructure.

Any high schooler who's capable of learning python and can afford a gaming desktop can build and train a neural network. That's pretty amazing, and definitely wouldn't be the case without computation graph frameworks.

I've never worked for Google or with Jeff, and I'm not a huge fan of the ad tech industry, although I don't understand why either of those things should matter.

Re:Learning to See in the Dark (2018) by sambe on Friday April 17, 2020 @11:46AM (#22900031)
"How can I train the model using my own raw data?

Generally, you just need to subtract the right black level and pack the data in the same way of Sony/Fuji data. If using rawpy, you need to read the black level instead of using 512 in the provided code. The data range may also differ if it is not 14 bits. You need to normalize it to [0,1] for the network input."

The Sony and Fuji training code looks mostly the same - they haven't bothered to pull out common code and re-use.

Re:Learning to See in the Dark (2018) by ganstyles on Friday April 17, 2020 @11:42AM (#22899989)
This could actually be shortened, maybe simplified, significantly. For example there is a lot of redundancy in the layers and that could be pulled out into a function per block. This is what I often do with deep networks as it helps avoid errors in code and shortens everything significantly, at the potential expense of being able to grok it initially as quickly.

But, many DNN concepts (and ML concepts themselves) can be described with a few lines of pseudocode. CNNs, RNNs, etc. can all be described in a few lines.

It's really quite amazing, most of the work goes into first creating the net work from theory, then training and tuning it until you get good results.

Re:Learning to See in the Dark (2018) by elwell on Saturday April 18, 2020 @11:11AM (#22908261)
Do you have an iPhone 6s? https://youtu.be/qWKUFK7MWvg?t=85