Coder Social home page Coder Social logo

zz4fap / unifei-iesti01-t01-2021.1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mjrovai/unifei-iesti01-t01-2021.1

0.0 1.0 0.0 264.56 MB

Course Repository - TinyML - Machine Learning for Embedding Devices

License: MIT License

Jupyter Notebook 99.76% C++ 0.24% Python 0.01%

unifei-iesti01-t01-2021.1's Introduction

UNIFEI-IESTI01-T01-2021.1

Course Repository - TinyML - Machine Learning for Embedding Devices

Instituto de Engenharia de Sistemas e Tecnologias da Informação – IESTI - Campus de Itajubá
For the new IESTI01 TinyML 2021.2 course Version, please go to: https://github.com/Mjrovai/UNIFEI-IESTI01-TinyML-2021.2

NOTA: O curso será ministrado majoritariamente em português, mas uma base de inglês será fundamental ao aluno para o acompanhamento do mesmo, pois todo o material de leitura, vídeos e slides, serão disponibilizados no idioma inglês.

Visão geral do curso

TinyML é um curso introdutório na interseção entre o Aprendizado de Máquina (Machine Learning) e dispositivos embarcados (Embedded Devices). A difusão de dispositivos embarcados com ultra-baixo consumo de energia (da ordem de miliwatts), juntamente com a introdução de frameworks de aprendizado de máquina dedicados a dispositivos embarcados, como TensorFlow Lite para Microcontroladores (TF Micro), permitirá a proliferação em massa de dispositivos IoT potencializados por IA (“AioT”).

O crescimento explosivo do aprendizado de máquina e a facilidade de uso de plataformas como TensorFlow (TF) o tornam um tópico de estudo indispensável para estudantes de Engenharia Eletrônica, da Computação e Controle & Automação.

O TinyML difere do aprendizado de máquina convencional (por exemplo, servidor - nuvem) porque requer não apenas conhecimentos em software, mas também conhecimentos em hardware integrado. Este curso procura fornecer uma base para o entendimento deste campo emergente.

A atual versão deste curso, pioneiro na América Latina, tem como principais referências:

IESTI01 faz parte do TinyML4D, uma iniciativa para tornar a ensino do TinyML disponível para todos em todo o mundo.

Tópicos do curso

  • Fundamentos de IoT
  • Fundamentos de aprendizado de máquina (ML)
  • Fundamentos de Deep Learning (DL)
  • Como coletar dados para ML
  • Como treinar e implantar modelos de ML
  • Noções básicas sobre ML embarcado
  • O código por trás de alguns dos aplicativos mais amplamente utilizados no TinyML
  • Casos reais de aplicação do TinyML na indústria
  • Princípios de reconhecimento automático de fala (KeyWord Spotting como Alexa, Hey Google, Siri, etc.)
  • Princípios do reconhecimento automático de imagens (Visual Wake Words)
  • Conceito de detecção de anomalias e modelos de ML aplicáveis
  • Princípios de Engenharia de Dados aplicado ao TinyML
  • Visão geral do hardware de dispositivos baseados em microcontroladores
  • Visão geral do software por trás de dispositivos baseados em microcontroladores
  • Projetos reais utilizando plataformas de mercado
  • Design, desenvolvimento e Implantação de uma IA responsável

Carga horária:

  • 30hs (Classes de 2hs, durante 15 semanas)
  • 15hs de tarefas/labs
  • 15hs em pesquisas e estudos individuais + trabalho final (em grupo)

Processo de aprovação:

  • Participação individual em classe: 10%
  • Listas de exercícios (Jupyter Notebook): 30%
  • Projetos práticos (Labs): 30%
  • Projeto Final (com apresentação): 30%

Pré-requisitos

  • Conhecimentos do idioma inglês (leitura).
  • Conhecimentos básicos de programação em C / C ++ (Arduino IDE) e Python. Todas as tarefas de classe envolverão uma ou ambas linguagens de programação.
  • Familiaridade com ferramentas de linha de comando em Mac, Windows ou Linux. Os projetos exigirão operações em um terminal.
  • Noções de Algebra linear, probabilidade básica e estatística. Muitos tópicos de ML giram em torno de compreender operações e notação de vetores e matrizes, bem como conceitos de distribuições gaussianas, médias, desvios-padrão etc.

Metodologia/Recursos:

  • As aulas serão ministradas de maneira remota e ao vivo (aulas síncronas) pela plataforma Google Meet, todas as quartas-feiras das 16:30h às 18:30h. As gravações das aulas estarão disponíveis aos alunos para revisão.
  • Exercícios e projetos poderão ser desenvolvidos em computadores pessoais com TensorFlow V.2x instalados ou utilizando-se de ferramentas on-line como Google CoLab.
  • Modelos reais de TinyML serão desenvolvidos e treinados utilizando-se do Edge Impulse Studio.
  • Para a captura de dados e deployment dos modelos treinados (Parte 2) deverão ser utilizados smart-phones pessoais dotados de pelo menos sensores do tipo: acelerômetro, microfone e camera.
  • Na parte 3 do curso será também utilizado um Kit composto de um Arduino BLE Sense (Cortex-M4) e uma camera digital modelo OV7675 (disponibilizado pela universidade e enviado diretamante aos alunos).

Professor do curso:

Supervisão e apoio:

Planejamento das Classes (Turma 1 - 2021.1)

Planejamento das Tarefas/Trabalhos (Turma 1 - 2021.1)

Material (All in English)

All material will be uploaded to this repo at the classes' base.

Optional pre-course activities:

Parte 1: Fundamentals

Parte 2: Applications & Deploy

unifei-iesti01-t01-2021.1's People

Contributors

mjrovai avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.