S
S
SEOD2018-08-10 23:35:54
Neural networks
SEOD, 2018-08-10 23:35:54

Who can help me understand TensorFlow terminology?

For some time I worked with neural networks: multilayers, training, backprop, activation functions - I did everything manually in C ++. Now working with Node.js, I decided to look at TensorFlow. In general, I can’t understand anything :) I am a practitioner, I swim a lot in theory, so I ask you for tips.
1. In TensorFlow, we often talk about "models". What do they mean by "models"? As far as I understand, this is a trained neuron with optimal weights? Not the architecture of the network, they call it that. Or something even third?
2. We are constantly talking about some TensorFlow and Keras models, and that for some reason they need to be imported. Why are they needed, what is so useful about them? As I understand it, everything revolves around them :) I understand that this is some kind of thing that can greatly simplify the life of a developer, but I don’t understand what is included in it, where are the limits of what they are capable of.
3. For some reason, I can't find simple examples of using TensorFlow to teach, say, an XOR problem, as is often done in textbooks. It seems that everything for them only rests on these models, and for some reason it is not possible to find the simplest examples of how to create a neuron with the required number of layers, activation functions, an indication of the learning method, etc.
Is this even possible for TensorFlow.JS?
4. What is Tensor2d? :)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
I
ivodopyanov, 2018-08-13
@SEOVirus

1. Exactly the architecture. When you wrote neurons by hand, the sequence of operations was determined by you personally and by the order of commands that you wrote. But at the same time, it is very likely that the expenditure of resources was far from optimal. Moreover, this can be important in the case of training on the GPU, when the program still needs to manage the GPU memory - what data to keep there, and what data can already be deleted and returned to regular memory. To solve this problem, the order in which calculations are performed in Tensorflow is determined by the compiler - the programmer first describes the graph on which the calculations will take place (the same model that can have multiple inputs, multiple outputs, multiple paths for computing); then compiles it; then creates a Tensorflow session and starts running this graph with some input.
2. Keras is a framework that aims to make developing neural networks easier, to move one level of abstraction higher from mathematical calculations to a zoo of layers of neural networks. Plus, abstract from a specific tensor computing framework, such as Theano, CNTK, Tensorflow. As a result, this framework has officially grown into Tensorflow.
3. The source language for Tensorflow is Python, you need to look at examples on it: https://www.tensorflow.org/tutorials/keras/basic_c...
Tensorflow is generally an example of what has recently been called "differentiable programming "is another new programming paradigm. So after the imperative approach, you need to creak a little with your brains.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question