DeepMind Open Sources 'Sonnet' Library For Easier Creation Of Neural Networks (fossbytes.com)
"We are very excited about contributions from the community," announced Alphabet's DeepMind, open sourcing a new library to make it easier to build complex TensorFlow neural networks. An anonymous reader writes:
"DeepMind foresees Sonnet to be used by the community as a research propellant," reports FossBytes. "Also, it would allow easy sharing of other models created by DeepMind with the community." Sonnet uses an object-oriented approach, a recent blog post explained, pointing to more details on GitHub. "The main principle of 'Sonnet' is to first construct Python objects which represent some part of a neural network, and then separately connect these objects into the TensorFlow computation graph."
DeepMind sees this as part of their broader commitment to open source AI research. "In recent months we've also open-sourced our flagship platform DeepMind Lab, and are currently working with Blizzard to develop an open source API that supports AI research in StarCraft II."
DeepMind sees this as part of their broader commitment to open source AI research. "In recent months we've also open-sourced our flagship platform DeepMind Lab, and are currently working with Blizzard to develop an open source API that supports AI research in StarCraft II."
After recently diving into machine learning and playing with the available libraries out there. IMO what is really needed is libraries that are developer friendly, not data scientist friendly. That's when we will see a lot more developers starting to apply this to more real world problems.
I know enough to know that I don't need to know that much about the algorithms involved to tweak them towards an end goal. I just need to know ok this knob moves it this way, this algorithm is best for this type of problem, etc..
I don't want to learn scientific notation, I want a library for developers by developers not for data scientists by data scientists.
I started with a specific problem I wanted to solve, and pretty much everything I could find out there was student projects doing the same things over and over. Almost nothing about how someone applied this to a real world problem.
Don't get me wrong I'm not knocking on the work that's been done. More like frustrated because right now i have to learn far more then I really should have just to solve some practical problem using machine learning.
If google just could start selling their TPU processors in a nice and bundled format, maybe as PCI express card or something... I don't want to buy nvidia shit and have to endure its closed drivers on linux, nor do I want to buy from google's cloud 'offer'.
Works with Python. Cool! What does it do?
I'd like to try this but the build is failing on a newly updated ubuntu system.
bazel build --config=opt :install
C++ compilation of rule '//sonnet/cc/kernels:resampler_op' failed
Has anyone had success following the build instructions here: https://bazel.build/versions/m...
Agreed. It seems we've gotten over a hump going from machine learning etc being a research area to where it's now usable for real-world applications. However, it's currently usable only for specialists. A major breakthrough will be when it's abstracted and packaged to be usable by ordinary developers.
Once upon a time, to write programs for a particular CPU, you had to know about the details of that particular CPU hardware, its registers and all that, and write in the appropriate asssembly language. Later, you could write software in C - not only did you not need to understand the details of the CPU in order to write software that uses the CPU, but the same C code will run on different CPU architectures. This is because the people who do know the details of the CPU hardware wrapped that in an abstraction layer. Similar for GPUs. Once upon a time, graphics programming required fully understanding the details of the particular graphics hardware in use. Now, general developers can work with hardware accelerated graphics as ordinary objects C#, courtesy of DirectX.
It feels like machine learning is now mostly at the "write in assembly" stage, you have to thoroughly understand how the thing works in order to use it. There are some developer-friendly libraries, like Intel's machine vision library. One day we'll have a full suite of developer-friendly libraries. We'll be able to call Pattern Finder and Pattern Matcher and have them find and match patterns, without knowing or caring HOW it matches patterns. Hopefully it'll be at least as easy as how Perl programmers use regular expressions all day, without having a clue how the regex engine works internally.