Facebook - konwersja

TinyML. Wykorzystanie TensorFlow Lite do uczenia maszynowego na Arduino i innych mikrokontrolerach - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
15 lutego 2022
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
99,00

TinyML. Wykorzystanie TensorFlow Lite do uczenia maszynowego na Arduino i innych mikrokontrolerach - ebook

Może się wydawać, że profesjonalne systemy uczenia maszynowego wymagają sporych zasobów mocy obliczeniowej i energii. Okazuje się, że niekoniecznie: można tworzyć zaawansowane, oparte na sieciach neuronowych aplikacje, które doskonale poradzą sobie bez potężnych procesorów. Owszem, praca na mikrokontrolerach podobnych do Arduino lub systemach wbudowanych wymaga pewnego przygotowania i odpowiedniego podejścia, jest to jednak fascynujący sposób na wykorzystanie niewielkich urządzeń o niskim zapotrzebowaniu na energię do tworzenia zdumiewających projektów.

Ta książka jest przystępnym wprowadzeniem do skomplikowanego świata, w którym za pomocą techniki TinyML wdraża się głębokie uczenie maszynowe w systemach wbudowanych. Nie musisz mieć żadnego doświadczenia z zakresu uczenia maszynowego czy pracy z mikrokontrolerami. W książce wyjaśniono, jak można trenować modele na tyle małe, by mogły działać w każdym środowisku - również Arduino. Dokładnie opisano sposoby użycia techniki TinyML w tworzeniu systemów wbudowanych opartych na zastosowaniu ucze nia maszynowego. Zaprezentowano też kilka ciekawych projektów, na przykład dotyczący budowy urządzenia rozpoznającego mowę, magicznej różdżki reagującej na gesty, a także rozszerzenia możliwości kamery o wykrywanie ludzi.

W książce między innymi:

  • praca z Arduino i innymi mikrokontrolerami o niskim poborze mocy
  • podstawy uczenia maszynowego, budowy i treningu modeli
  • TensorFlow Lite i zestaw narzędzi Google dla TinyML
  • bezpieczeństwo i ochrona prywatności w aplikacji
  • optymalizacja modelu
  • tworzenie modeli do interpretacji różnego rodzaju danych

Ograniczone zasoby? Poznaj TinyML!

Spis treści

  • Wstęp
    • Konwencje typograficzne przyjęte w tej książce
    • Korzystanie z przykładowych kodów
    • Podziękowania
  • Rozdział 1. Wprowadzenie
    • Urządzenia z systemem wbudowanym
    • Ciągły rozwój
  • Rozdział 2. Informacje wstępne
    • Do kogo skierowana jest ta książka?
    • Jaki sprzęt będzie Ci potrzebny?
    • Jakie oprogramowanie będzie Ci potrzebne?
    • Czego nauczysz się dzięki tej książce?
  • Rozdział 3. Wprowadzenie do uczenia maszynowego
    • Czym właściwie jest uczenie maszynowe?
    • Proces uczenia głębokiego
      • Określenie celu
      • Zebranie zestawu danych
        • Wybór danych
        • Zbieranie danych
        • Etykietowanie danych
        • Nasz gotowy zestaw danych
      • Zaprojektowanie architektury modelu
        • Generowanie atrybutów z danych
          • Tworzenie okien czasowych
          • Normalizacja
        • Myślenie z uczeniem maszynowym
      • Trenowanie modelu
        • Niedotrenowanie i przetrenowanie
        • Trening, walidacja i testowanie
      • Przekształcenie modelu
      • Uruchomienie procesu wnioskowania
      • Ocena i rozwiązanie ewentualnych problemów
    • Podsumowanie
  • Rozdział 4. Witaj, świecie TinyML: budowa i trenowanie modelu
    • Co będziemy budować?
    • Nasz zestaw narzędzi do uczenia maszynowego
      • Python i Jupyter Notebooks
      • Google Colaboratory
      • TensorFlow i Keras
    • Budowa naszego modelu
      • Importowanie pakietów
      • Generowanie danych
      • Rozdzielanie danych
      • Definiowanie podstawowego modelu
    • Trenowanie naszego modelu
      • Wskaźniki treningu
      • Wykres historii
      • Ulepszenie naszego modelu
      • Test
    • Konwertowanie modelu na potrzeby TensorFlow Lite
      • Konwertowanie na plik C
    • Podsumowanie
  • Rozdział 5. Witaj, świecie TinyML: budowanie aplikacji
    • Omówienie testów
      • Dodawanie zależności
      • Przygotowanie testów
      • Przygotowanie do rejestrowania danych
      • Mapowanie naszego modelu
      • Klasa AllOpsResolver
      • Alokacja pamięci dla modelu
      • Tworzenie interpretera
      • Sprawdzenie tensora wejścia
      • Uruchamianie procesu wnioskowania
      • Odczytywanie danych wyjściowych
      • Uruchamianie testów
        • Pobieranie kodu
        • Uruchamianie testów za pomocą Make
    • Budowa pliku z projektem
    • Omówienie kodu źródłowego
      • Początek pliku main_functions.cc
      • Obsługa wyjścia za pomocą output_handler.cc
      • Koniec pliku main_functions.cc
      • Omówienie pliku main.cc
      • Uruchomienie aplikacji
    • Podsumowanie
  • Rozdział 6. Witaj, świecie TinyML: uruchomienie aplikacji na mikrokontrolerze
    • Czym właściwie jest mikrokontroler?
    • Arduino
      • Obsługa wyjścia na Arduino
      • Uruchomienie przykładu
      • Wprowadzanie własnych zmian
    • SparkFun Edge
      • Obsługa wyjścia na SparkFun Edge
      • Uruchomienie przykładu
        • Kompilacja
        • Podpis pliku binarnego
        • Wgrywanie pliku binarnego
          • Podłączenie konwertera USB do płytki
          • Podłączenie konwertera do komputera
          • Uruchomienie skryptu do wgrania nowego programu na płytkę
      • Testowanie programu
      • Sprawdzanie danych o przebiegu programu
      • Wprowadzanie własnych zmian
    • Zestaw ST Microelectronics STM32F746G Discovery
      • Obsługa wyjścia na STM32F746G
      • Uruchomienie przykładu
      • Wprowadzanie własnych zmian
    • Podsumowanie
  • Rozdział 7. Wykrywanie słowa wybudzającego: budowanie aplikacji
    • Co będziemy tworzyć?
    • Architektura aplikacji
      • Wprowadzenie do naszego modelu
      • Wszystkie elementy aplikacji
    • Omówienie testów
      • Podstawowy przepływ danych
      • Element dostarczający dane audio
      • Element dostarczający cechy
        • Sposób przetwarzania dźwięku na spektrogram przez element dostarczający dane audio
      • Element rozpoznający polecenia
      • Element reagujący na polecenia
    • Nasłuchiwanie słów wybudzających
      • Uruchomienie naszej aplikacji
    • Uruchomienie aplikacji na mikrokontrolerach
      • Arduino
        • Element reagujący na polecenia dla Arduino
        • Uruchomienie przykładu
        • Wprowadzanie własnych zmian
      • SparkFun Edge
        • Element reagujący na polecenia dla SparkFun Edge
        • Uruchomienie przykładu
          • Kompilacja
          • Podpis pliku binarnego
          • Wgrywanie pliku binarnego
          • Podłączenie konwertera USB do płytki
          • Podłączenie konwertera do komputera
          • Uruchomienie skryptu do wgrania nowego programu na płytkę
        • Testowanie programu
        • Sprawdzanie danych o przebiegu programu
        • Wprowadzanie własnych zmian
      • Zestaw ST Microelectronics STM32F746G Discovery
        • Element reagujący na polecenia dla STM32F746G
        • Uruchomienie przykładu
        • Testowanie programu
        • Podgląd informacji o przebiegu programu
        • Wprowadzanie własnych zmian
    • Podsumowanie
  • Rozdział 8. Wykrywanie słowa wybudzającego: trenowanie modelu
    • Trenowanie naszego nowego modelu
      • Trenowanie w Colab
        • Trenowanie z użyciem GPU
        • Konfiguracja treningu
        • Instalacja pakietów
        • Narzędzie TensorBoard
        • Rozpoczęcie treningu
        • Oczekiwanie na zakończenie treningu
          • Pilnowanie, by Colab się nie wyłączył
          • Zamrażanie grafu
        • Konwertowanie na format TensorFlow Lite
        • Utworzenie tablicy C
    • Wykorzystanie modelu w naszym projekcie
      • Zastępowanie modelu
      • Zmiana etykiet
      • Zmiany w kodzie command_responder.cc
        • Arduino
        • SparkFun Edge
        • STM32F746G
      • Inne sposoby uruchamiania skryptów
    • Zasada działania modelu
      • Wizualizacja danych wejściowych
      • Zasada działania generowania cech
      • Architektura modelu
      • Dane wyjściowe modelu
    • Trenowanie modelu z własnymi danymi
      • Zestaw danych Speech Commands
      • Trenowanie modelu na własnych danych
      • Nagrywanie własnych dźwięków
      • Powiększenie zestawu danych
      • Architektury modeli
    • Podsumowanie
  • Rozdział 9. Wykrywanie osoby: budowanie aplikacji
    • Co będziemy budować?
    • Architektura aplikacji
      • Wprowadzenie do naszego modelu
      • Wszystkie elementy aplikacji
    • Omówienie testów
      • Podstawowy przepływ danych
      • Element dostarczający obrazy
      • Element reagujący na wykrycie człowieka
    • Wykrywanie ludzi
    • Uruchomienie aplikacji na mikrokontrolerach
      • Arduino
        • Wybór modułu kamery
        • Przechwytywanie obrazów na Arduino
        • Reagowanie na wykrycie człowieka na Arduino
        • Uruchomienie przykładu
        • Wprowadzanie własnych zmian
      • SparkFun Edge
        • Wybór modułu kamery
        • Przechwytywanie obrazów na SparkFun Edge
        • Reagowanie na wykrycie człowieka na SparkFun Edge
        • Uruchomienie przykładu
          • Kompilacja
          • Podpisanie pliku binarnego
          • Wgrywanie pliku binarnego
          • Podłączenie konwertera USB do płytki
          • Podłączenie konwertera do komputera
          • Uruchomienie skryptu do wgrania nowego programu na płytkę
        • Testowanie programu
        • Sprawdzanie danych o przebiegu programu
        • Wprowadzanie własnych zmian
    • Podsumowanie
  • Rozdział 10. Wykrywanie osoby: trenowanie modelu
    • Wybór maszyny
    • Konfiguracja instancji Google Cloud Platform
    • Wybór platformy programistycznej do treningu
    • Tworzenie zestawu danych
    • Trenowanie modelu
    • TensorBoard
    • Ocena modelu
    • Eksportowanie modelu do TensorFlow Lite
      • Eksportowanie do pliku GraphDef Protobuf
      • Zamrażanie wag
      • Kwantyzacja i konwertowanie na potrzeby TensorFlow Lite
      • Konwertowanie na plik źródłowy C
    • Trenowanie dla innych kategorii
    • Architektura MobileNet
    • Podsumowanie
  • Rozdział 11. Magiczna różdżka: budowanie aplikacji
    • Co będziemy tworzyć?
    • Architektura aplikacji
      • Wprowadzenie do naszego modelu
      • Wszystkie elementy aplikacji
    • Omówienie testów
      • Podstawowy przepływ danych
      • Element obsługujący akcelerometr
      • Element przewidujący gesty
      • Element reagujący na wykrycie gestu
    • Wykrywanie gestu
    • Uruchomienie aplikacji na mikrokontrolerach
      • Arduino
        • Stałe Arduino
        • Odczytywanie pomiarów z akcelerometru na Arduino
        • Reagowanie na gesty za pomocą Arduino
        • Uruchomienie przykładu
        • Wprowadzanie własnych zmian
      • SparkFun Edge
        • Odczytywanie pomiarów z akcelerometru na SparkFun Edge
        • Reagowanie na gesty za pomocą SparkFun Edge
        • Uruchomienie przykładu
          • Kompilacja
          • Podpis pliku binarnego
          • Wgrywanie pliku binarnego
          • Podłączenie konwertera USB do płytki
          • Podłączenie konwertera do komputera
          • Uruchomienie skryptu do wgrania nowego programu na płytkę
        • Testowanie programu
        • Wprowadzanie własnych zmian
    • Podsumowanie
  • Rozdział 12. Magiczna różdżka: trenowanie modelu
    • Trenowanie modelu
      • Trening w Colab
        • Trenowanie z użyciem GPU
        • Instalacja pakietów
        • Przygotowanie danych
        • Uruchomienie TensorBoard
        • Rozpoczęcie treningu
        • Ocena wyników
        • Utworzenie tablicy C
      • Inne sposoby uruchamiania skryptów
    • Zasada działania modelu
      • Wizualizacja danych wejściowych
      • Architektura modelu
    • Trenowanie modelu z własnymi danymi
      • Przechwytywanie danych
        • SparkFun Edge
        • Rejestrowanie danych
      • Modyfikacja skryptów trenujących
      • Trening
      • Wykorzystanie nowego modelu
    • Podsumowanie
      • Uczenie się uczenia maszynowego
      • Co dalej?
  • Rozdział 13. TensorFlow Lite dla mikrokontrolerów
    • Czym jest TensorFlow Lite dla mikrokontrolerów?
      • TensorFlow
      • TensorFlow Lite
      • TensorFlow Lite dla mikrokontrolerów
      • Wymagania
      • Dlaczego model potrzebuje interpretera?
      • Generowanie projektu
    • Kompilatory
      • Wyspecjalizowany kod
      • Pliki Makefile
      • Pisanie testów
    • Obsługa nowej platformy sprzętowej
      • Wyświetlanie rejestru zdarzeń
      • Wdrożenie funkcji DebugLog()
      • Uruchamianie wszystkich plików źródłowych
      • Integracja z plikami Makefile
    • Obsługa nowego IDE lub kompilatora
    • Integrowanie zmian w kodzie projektu z repozytoriami
    • Wnoszenie swojego wkładu do kodu z otwartym źródłem
    • Obsługa nowego akceleratora sprzętowego
    • Format pliku
      • Biblioteka FlatBuffers
    • Przenoszenie operacji TensorFlow Lite Mobile na wersję dla mikrokontrolerów
      • Oddzielanie kodu odniesienia
      • Utworzenie kopii operatora dla mikrokontrolera
      • Tworzenie wersji testów dla mikrokontrolerów
      • Tworzenie testu Bazel
      • Dodanie swojego operatora do obiektu AllOpsResolver
      • Kompilacja testu pliku Makefile
    • Podsumowanie
  • Rozdział 14. Projektowanie własnych aplikacji TinyML
    • Projektowanie
    • Czy potrzebny jest mikrokontroler, czy może być większe urządzenie?
    • Co jest możliwe?
    • Podążanie czyimiś śladami
    • Podobne modele do trenowania
    • Sprawdzenie danych
    • Magia Czarnoksiężnika z krainy Oz
    • Poprawnie działająca wersja na komputerze jako pierwszy etap
  • Rozdział 15. Optymalizacja prędkości działania programu
    • Prędkość modelu a prędkość ogólna aplikacji
    • Zmiany sprzętu
    • Ulepszenia modelu
      • Ocena opóźnienia modelu
      • Przyspieszanie modelu
    • Kwantyzacja
    • Etap projektowania produktu
    • Optymalizacje kodu
      • Profilowanie wydajności
        • Miganie
        • Metoda strzelby
        • Wyświetlanie informacji z przebiegu programu
        • Analizator stanów logicznych
        • Licznik
        • Profilowanie
    • Optymalizowanie operacji
      • Implementacje już zoptymalizowane
      • Tworzenie własnej zoptymalizowanej implementacji
      • Wykorzystanie funkcjonalności sprzętu
      • Akceleratory i koprocesory
    • Wnoszenie swojego wkładu do kodu z otwartym źródłem
    • Podsumowanie
  • Rozdział 16. Optymalizacja poboru mocy
    • Rozwijanie intuicji
      • Pobór mocy standardowych elementów
      • Wybór sprzętu
    • Pomiar rzeczywistego poboru mocy
    • Oszacowanie poboru mocy modelu
    • Ulepszenia związane z zużyciem energii
      • Cykl pracy
      • Projektowanie kaskadowe
    • Podsumowanie
  • Rozdział 17. Optymalizacja modelu i rozmiaru pliku binarnego
    • Zrozumienie ograniczeń własnego systemu
    • Oszacowanie zużycia pamięci
      • Zużycie pamięci flash
      • Zużycie pamięci RAM
    • Szacunkowe wartości dokładności i rozmiaru modelu przy różnych problemach
      • Model rozpoznający słowa wybudzające
      • Model predykcyjnego utrzymania
      • Wykrywanie obecności człowieka
    • Wybór modelu
    • Zmniejszenie rozmiaru pliku wykonywalnego
      • Mierzenie rozmiaru kodu
      • Ile miejsca zajmuje TensorFlow Lite dla mikrokontrolerów?
      • OpResolver
      • Rozmiar pojedynczych funkcji
      • Stałe w platformie TensorFlow Lite
    • Naprawdę malutkie modele
    • Podsumowanie
  • Rozdział 18. Debugowanie
    • Różnica w dokładności między treningiem a wdrożeniem
      • Różnice we wstępnym przetwarzaniu danych
      • Debugowanie wstępnego przetwarzania danych
      • Ocena działania programu na urządzeniu docelowym
    • Różnice liczbowe
      • Czy różnice stanowią problem?
      • Ustalenie wskaźnika
      • Punkt odniesienia
      • Zamiana implementacji
    • Tajemnicze awarie
      • Debugowanie na pulpicie
      • Sprawdzanie rejestru
      • Debugowanie metodą strzelby
      • Błędy związane z pamięcią
    • Podsumowanie
  • Rozdział 19. Przenoszenie modelu z TensorFlow do TensorFlow Lite
    • Określenie wymaganych operacji
    • Operacje obsługiwane w TensorFlow Lite
    • Przeniesienie wstępnego i końcowego przetwarzania do kodu aplikacji
    • Implementacja niezbędnych operacji
    • Optymalizacja operacji
    • Podsumowanie
  • Rozdział 20. Prywatność, bezpieczeństwo i wdrażanie
    • Prywatność
      • PDD
        • Zbieranie danych
        • Wykorzystanie danych
        • Dzielenie się danymi i ich przechowywanie
        • Zgoda
      • Używanie PDD
    • Bezpieczeństwo
      • Ochrona modeli
    • Wdrożenie
      • Przejście od płytki do produktu
    • Podsumowanie
  • Rozdział 21. Poszerzanie wiedzy
    • Fundacja TinyML
    • SIG Micro
    • Strona internetowa TensorFlow
    • Inne platformy programistyczne
    • Twitter
    • Przyjaciele TinyML
    • Podsumowanie
  • Dodatek A Używanie i tworzenie biblioteki Arduino w formacie ZIP
  • Dodatek B Przechwytywanie dźwięku na Arduino
    • O autorach
    • Kolofon
Kategoria: Hardware
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-8363-0
Rozmiar pliku: 17 MB

BESTSELLERY

Kategorie: