What is Google's business model for Tensorflow? also why did Baidu develop PaddlePaddle - tensorflow

I heard Google has over 100 engineers working on Tensorflow. So, what does Google gain from distributing this expensive engine for free? Will Google later charge corporate Tensorflow users? ?
What is google’s plan for Tensorflow? will it be free forever? like a deep learning version of python?
Some people tell me it's to reduce new employee training time. If so, why did Baidu develop it's own deep learning library when that means they should spend extra time training it's employees who are used to using Tensorflow, how to use Baidu's deep learning library

Well if everyone is using tensorflow there are more contributions made to it by the public. That helps google for free.
Even if it doesn't become a product that they sell they can still make money from it.
The thing is they might be able to sell services around it like lessons. They can also sell hardware specifically optimized for tensorflow etc.
Almost every company had its own machine learning framework. The reason they open sourced them was because each of theirs were going to fall much behind if it wasn't open source. A prime example is how Torch was doing so great up until tensorflow became open source as well. (With google's backing and because it's in python instead of lua are a few reasons tf became more popular).

Related

Has Microsoft abandoned CNTK?

I want to know if CNTK dead? Release notes on GitHub dated 03/31/2019: "Today’s 2.7 release will be the last main release of CNTK." I've spent months developing software using CNTK and now it appears to be a waste of time and money. I've search for an answer on numerous sites and still no answer. stackoverflow is one of the sites recommend by Microsoft.
From KedengMS, one of the maintainers for CNTK. Reposted from github.
Thanks for all the CNTK supporters, and I am privileged to have worked
on it, and learned a lot in the process. You can continue to use CNTK
for training and inference in the way it currently is, as other
Microsoft internal teams that still runs old models even in
BrainScript or NDL. Stopping adding new features does not mean CNTK is
no longer open source, it just means that going forward, there will be
no new GPU support (say, CUDA 11+), and no major new features added.
For different user scenarios, I think you may have different choices:
Deep learning newcomers: IMO CNTK is still a good entry to understand basics of deep learning, if you found CNTK
documents/tutorials/examples useful. Once you learnt the basic, it
won't be too hard to switch between frameworks. However, the DL field
is changing rapidly and CNTK has already lagged behind in a lot of
ways, so if you need more advanced features like dynamic graph,
PyTorch would be a better choice.
Model maintainers: If you already have CNTK models working, and to maintain it just means training with new data, you can continue to use
CNTK the way you currently use it. Actually, teams inside Microsoft
are doing this too. If there are serious bugs preventing productivity,
they still will be fixed. For inference, you can continue to use CNTK
C/C++/Python/C#/Java APIs, or you may export CNTK models in ONNX
format, and use ONNX Runtime or ORT as a slimmer and faster inference
engine. You'll be surprised to find how much faster it is comparing to
CNTK, and how slimmer the setup is (forget about OpenMPI when you just
need inference!). ORT currently provides C/C++/Python/C# interfaces.
Model builders: If you have CNTK model, and want to use features that are not currently supported in CNTK, please consider switch to
other frameworks like TensorFlow/PyTorch/etc. Our team has done lots
of data reader work inside PyTorch to ensure teams in Microsoft can
switch from CNTK to PyTorch. Besides, we are also in the process of
migrating CNTK specific distributed trainer like BMUF to PyTorch.
Hopefully you'll find that useful too when migrating your model.
The good thing about open source is that the community can continue to
fork/evolve if needed, unlike other Microsoft products that only ship
binaries (Win7 I am looking at you).

How can I use Tensorflow to make cellular automata?

Knowing that Tensorflow is good for working with matrices, would I be able to use Tensorflow to create a cellular automata? And would this offer a great deal of speed over just coding it in Python?
Are there any tutorials or websites that could point me in the right direction to use Tensorflow for more general purpose computing than machine learning (for example, simulations)?
If so, could someone help point me in the right direction to the type of Tensorflow commands I would need to learn to make this program? Thanks!
A TensorFlow implementation is likely to offer an improvement in execution time, especially if executed by GPU, since CA can be executed in parallel. See: https://cs.stackexchange.com/a/320/67726.
A starting point for TensorFlow in general might be the official guide and documentation, which do go beyond just machine learning. Also available are two tutorials on non-ML examples: Mandelbrot Set, Partial Differential Equations.
While TensorFlow is usually mentioned in the context of machine learning, it is worth noting that:
TensorFlow™ is an open source software library for high performance
numerical computation. Its flexible architecture allows easy
deployment of computation across a variety of platforms (CPUs, GPUs,
TPUs), and from desktops to clusters of servers to mobile and edge
devices.
Edit: here's an implementation and a tutorial about Conway's Game of Life using TF.

Machine Learning Tensor flow and sentiment analysis

I'd like to make a machine learning with Tensorflow about sentiment analysis, I know it's possible to do machine learning with tensorflow but is it possible to make machine learning suited for sentiment analysis ? I know it's possible to do sentiment analysis with Convolutional Neuronal Network (Deep learning so) with Tensor flow but I'm looking for a solution that only uses Machine learning algorithm, not deep learning.
Would you know great tutorials to begin a GCP Machine Learning project ? Is it possible to begin a GCP Machine Learning Project without using google API or Tensorflow (just in "regular" python but which can be linked to other services like google big query, data prep) ?
Thank you very much for your answers :)
In general it wouldn't make much sense to use TensorFlow for non-deep learning solutions. You can always try scikit-learn for implementing other machine learning techniques with python, but I do not think that you could get far with sentiment analysis this way. For a nice introduction on sentiment analysis with TensorFlow I would suggest to go through this guide.
As for machine learning on google cloud platform: there is a number of APIs hosted in the platform which use pre-built models, including cloud natural language which has an analyzeSentiment method. Here you can find a python tutorial on how to do sentiment analysis using the python client library of the cloud natural language api.
If you still want to try and build your own model, you can train (with either scikit-learn or tensorflow), deploy and then use it for predictions on the cloud with the google cloud machine learning engine. As for tutorials, I would suggest that you visit the official documentations of any of the above products/services, you will find there comprehensive step-by-step guides for all levels.

Real Time Object detection using TensorFlow

I have just started experimenting with Deep Learning and Computer Vision technologies. I came across this awesome tutorial. I have setup the TensorFlow environment using docker and trained my own sets of objects and it provided greater accuracy when I tested it out.
Now I want to make the same more real-time. For example, instead of giving an image of an object as the input, I want to utilize a webcam and make it recognize the object with the help of TensorFlow. Can you guys guide me with the right place to start with this work?
You may want to look at TensorFlow Serving so that you can decouple compute from sensors (and distribute the computation), or our C++ api. Beyond that, tensorflow was written emphasizing throughput rather than latency, so batch samples as much as you can. You don't need to run tensorflow at every frame, so input from a webcam should definitely be in the realm of possibilities. Making the network smaller, and buying better hardware are popular options.

Use summarization model without training

The tensorflow text summarization model as described here https://github.com/tensorflow/models/tree/master/textsum requires a multi GPU architecture in order to train. My repeated attempts at training the model has resulted in memory exceptions, machine crashing for various reasons. Is the trained summarisation model available so can make use of the summarization model without the need for training? The summarization model is trained using the not free Gigaword dataset, if the trained model is not available from Google is this a factor in reason why ?
So as far as I can tell, no one has put the trained model out there that is referenced. I too was originally running into memory issues on my macbook pro and eventually ended up using my gaming laptop which had a much better GPU.
The other option of course is to take advantage of AWS and use something like their g2.2xlarge instance. They also have their P2 instances as well, but I have not checked that out yet.
With regards to the Gigaword dataset, it simply comes down to licensing. It is not a free license from LDC and often many of the academics working on this have the dataset provided to them via their Universities or companies. I have not had luck finding it, however LDC did get back to me and advised that they do have other article datasets that have a pricetag of around $300 which is much more reasonable for those of use just trying to learn TF. That said, if you didn't want to buy anything, you can always write your own page scraper and format the data for the textsum model. https://github.com/tensorflow/models/pull/379/files
Hope this helps some. Good luck!