Languages for TinyML

Hi All,

I’m Liam,

First and foremost shout out to the people for creating the community with such enthusiasm.
I am new to this community,

To get into TinyML, what languages should I be considered? (I have a background in software)

Please explain in detail.

Thanks in advance

Welcome Liam.

I’d say you need a bit of Python for programming the models, and a bit of C/C++ to tackle the space.

Have you checked out the following:

appreciate it, sir, @vjreddi

@vjreddi
Hey prof! Thank you for inviting me. I was wondering if I could code using Java 'cause I have a really good understanding of this language. Also, comparatively, I’m not that good at python. Anyways, Love the community over here! Thanks for inviting me to the forum once again:) smiley:

Great to have you here, at least this way there is a community that can help co-advise you on topics of interest.

Java is going to be tough for embedded microcontrollers as the code is very bloated (depends on virtual memory, needs OS support for memory management etc.), and so it is not as lean as C/C++.

Check out the section 3 of this paper, where we explain the issues:

1 Like

@vjreddi Thanks prof! I too realized and think that C++ and python are better alternatives to it. Thanks for sharing the paper, I’m sure gonna check it out. :slight_smile:

Hi @Atindro,

Since you already have a good understanding of Java programming language, picking up Python or C++ (to the extent needed for this course) isn’t really difficult.

In fact, both are object oriented, while Python is a scripting language, C++ is a compiled language. The compiled C++ code is nothing but the instructions to the microcontroller just as the compiled java code is the instructions to the JVM.

In both, Python and C++, we use classes, attributes and methods just as we do in Java, but without much of the complexities of java.

Just by going through the Colab exercises in Course-1 (Fundamentals of TinyML) and the documentation at https://www.python.org/ , you can easily pick-up Python scripting.

And the best source to understand C++ for Arduino development boards is https://www.arduino.cc/en/Tutorial/HomePage

4 Likes

Greetings @moulipc !
Thanks for your reply. I’m sure gonna check out the links! Have an amazing day.

if I get to understand fully the code on course-1 (Fundamentals of TinyML), I would be able to go somewhat easily through course 2 and 3… ?