From your question there is no indication that there is any pattern to these digits. If there were, the recommendation for an LSTM or RCNN would make sense. In the case of random values, I have found that a two or three layer CNN that then descends through two parallel dense networks does an excellent job identifying CAPTCHA style random characters. One ...
Your task is text recognition, however your code is for classification task. So you need to use different approach for that. You mentioned that you're going to give model 123 and get 123. But you can not do that with just convolutional networks. Images with text are sequential, so you need to use CRNN(Convolutional-Recurrent-Neural-Networks), LSTM(Long-Short-...
Are you using BinaryCrossEntropy through tensorflow? If so, check if you are using the logits argument. I am using from_logits=True and I am getting unpredictable outcomes, and my model becomes untrainable. It is not similar to the original BinaryCrossEntropy loss.
In the end, this problem turned out to be largely a matter of the gradient descent falling into local minima.
For those reading for posterity, one of the issues in ML that is difficult to work around is that we cannot intuitively choose reasonable initial values for the weights, biases, and kernels (in the CNN). As a result, we typically allow them to ...
For scikit-learn like models: MicroML, Micro-LM, Micro Learn, sklearn-porter, emlearn
For deep learning models: tensorflow Lite Micro, X-CUBE-AI, Glow, NNoM
These seems to partly fit my needs. But i am surprised that i cannot find something more general that either convert Python to C or to object file with ML support (to be used in C projects). ...
The problem was the dimensions of the logit_length argument to tf.nn.ctc_loss was incorrect.
It was this:
But it should have been
If the library running the model can be compiled for your microcontroller,
then you can run your model on that microcontroller.
If you train using one library and deploy using another library, you possible can convert your model to that library: ONNX.
Some library links on Edge Computing in ML:
Microcontroller support for Tensorflow Lite
There are a few possible approaches to deploying a ML model to a microcontroller.
The main limiting factor to deployment on microcontollers is that ML models are usually a representation of a set of parameters that are intended to be used as input to a prediction algorithm alongside a new datapoint. Most such models assume the presence of an accompanying ...
No, the original (or any) YOLO is for object detection. You can easily replace the feature extractor (DarkNet53, if I'm not mistaken) with any other, as long as you maintain the correct number of weights in the detection layer.
Your statement that researchers build their network from the ground-up using C++ or some other low level library couldn't be further from the truth.
You could take a look at this analysis showing the popularity of these two frameworks in the top ML conferences. The following Figure is taken from there.
In CVPR-2020, for example, TensorFlow and pytorch ...
Is it training at all? Or is agent performance not improving over time? Q learning can be pretty unstable. I would recommend logging the sum of rewards received by the agent at the end of each episode and the model loss to help in the debugging process. The sum of rewards will show you if the agent is improving over time and the model loss will give you a ...
When it comes to GPU usage,
shows the usage at the time it was executed. You should try running
watch -n0.01 nvidia-smi
to see the usage of GPU every 0.01 second.
It should output some small usage for current model, like 5%. You could try to increase you model, to e.g.
self.d1 = Dense(1024, input_shape=(input_size,), activation="relu")