Co to jest TensorFlow? Jak to działa [z przykładami]

Opublikowany: 2021-09-22

TensorFlow to biblioteka typu open source służąca do budowania modeli uczenia maszynowego. To niesamowita platforma dla wszystkich pasjonatów pracy z uczeniem maszynowym i sztuczną inteligencją. Co więcej, wraz ze stałym wzrostem, jaki obserwuje rynek uczenia maszynowego, narzędzia takie jak TensorFlow znalazły się w centrum uwagi, gdy firmy technologiczne badają różnorodne możliwości technologii AI. Bez wątpienia prognozuje się, że globalny rynek uczenia maszynowego osiągnie do 2027 r. wycenę 117,19 mld USD .

Ale na początku warto wiedzieć, czym jest TensorFlow i co sprawia, że ​​jest popularnym wyborem wśród programistów na całym świecie.

Spis treści

Co to jest TensorFlow?

TensorFlow to kompleksowa platforma open source do uczenia maszynowego, ze szczególnym uwzględnieniem głębokich sieci neuronowych. Głębokie uczenie to podzbiór uczenia maszynowego, który obejmuje analizę danych nieustrukturyzowanych na dużą skalę. Głębokie uczenie różni się od tradycyjnego uczenia maszynowego tym, że zwykle zajmuje się ustrukturyzowanymi danymi.

TensorFlow może pochwalić się elastycznym i wszechstronnym zbiorem bibliotek, narzędzi i zasobów społecznościowych. Umożliwia programistom tworzenie i wdrażanie najnowocześniejszych aplikacji opartych na uczeniu maszynowym. Jedną z najlepszych rzeczy w TensorFlow jest to, że używa Pythona do zapewnienia wygodnego interfejsu API do tworzenia aplikacji podczas wykonywania ich w wysokowydajnym, zoptymalizowanym C++.

Zespół Google Brain początkowo opracował bibliotekę głębokiego uczenia TensorFlow Python do użytku wewnętrznego. Od tego czasu platforma open source odnotowała ogromny wzrost wykorzystania w systemach badawczo-rozwojowych i produkcyjnych.

Niektóre podstawy TensorFlow

Teraz, gdy mamy już podstawowe pojęcie o tym, czym jest TensorFlow , nadszedł czas, aby zagłębić się w więcej szczegółów na temat platformy.

Poniżej znajduje się krótki przegląd podstawowych pojęć związanych z TensorFlow. Zaczniemy od tensorów – podstawowych elementów TensorFlow, od których platforma wywodzi swoją nazwę.

Tensory

W bibliotece głębokiego uczenia TensorFlow Python tensor to tablica reprezentująca typy danych. W przeciwieństwie do jednowymiarowego wektora, tablicy lub dwuwymiarowej macierzy, tensor może mieć n wymiarów. W tensorze wartości zawierają identyczne typy danych o znanym kształcie. Kształt reprezentuje wymiarowość. Zatem wektor będzie tensorem jednowymiarowym, macierz będzie tensorem dwuwymiarowym, a skalar będzie tensorem zerowymiarowym.

tensory

Źródło

Kształt

W bibliotece TensorFlow Python kształt odnosi się do wymiarowości tensora.

W bibliotece TensorFlow Python kształt odnosi się do wymiarowości tensora.

Źródło

Na powyższym obrazku kształt tensora to (2,2,2).

Rodzaj

Typ reprezentuje rodzaj danych, które przechowują wartości w tensorze. Zazwyczaj wszystkie wartości w tensorze zawierają identyczny typ danych. Typy danych w TensorFlow są następujące:

  • liczby całkowite
  • zmiennoprzecinkowy
  • liczby całkowite bez znaku
  • wartości logiczne
  • smyczki
  • liczba całkowita ze skwantowanymi operacjami
  • Liczby zespolone

Wykres

Wykres to zbiór obliczeń, które następują sukcesywnie na tensorach wejściowych. Zawiera układ węzłów reprezentujących operacje matematyczne w modelu.

Sesja

Sesja w TensorFlow wykonuje operacje na wykresie. Jest uruchamiany w celu oceny węzłów na wykresie.

Operatorzy

Operatory w TensorFlow to predefiniowane operacje matematyczne.

Jak działają tensory?

W TensorFlow wykresy przepływu danych opisują, w jaki sposób dane przepływają przez szereg węzłów przetwarzania. TensorFlow wykorzystuje wykresy przepływu danych do budowania modeli. Obliczenia grafów w TensorFlow są ułatwione dzięki połączeniom między tensorami.

Tensory n-wymiarowe są podawane do sieci neuronowej jako dane wejściowe, które przechodzą przez kilka operacji, aby uzyskać wynik. Wykresy mają sieć węzłów, gdzie każdy węzeł reprezentuje operację matematyczną. Ale krawędź między węzłami to wielowymiarowa tablica danych lub tensor. Sesja TensorFlow umożliwia wykonanie wykresów lub ich części. W tym celu sesja alokuje zasoby na co najmniej jednym komputerze i przechowuje rzeczywiste wartości wyników pośrednich i zmiennych.

funkcje tensora

Źródło

Aplikacje TensorFlow mogą być uruchamiane na prawie każdym wygodnym celu, którym mogą być procesory, karty graficzne, klaster w chmurze, maszyna lokalna lub urządzenia z systemem Android i iOS.

Wykres obliczeń TensorFlow

Wykres obliczeniowy w TensorFlow to sieć węzłów, w której każdy węzeł wykonuje mnożenie, dodawanie lub oblicza równanie wielowymiarowe. W TensorFlow kody są zapisywane w celu utworzenia wykresu, uruchomienia sesji i wykonania wykresu. Każda przypisana przez nas zmienna staje się węzłem, w którym możemy wykonywać operacje matematyczne, takie jak mnożenie i dodawanie.

Oto prosty przykład pokazujący tworzenie wykresu obliczeniowego:

Załóżmy, że chcemy wykonać obliczenia: F(x,y,z) = (x+y)*z.

Trzy zmienne x, y i z przełożą się na trzy węzły na poniższym wykresie:

Wykres obliczeń TensorFlow

Źródło

Etapy budowania wykresu:

Krok 1: Przypisz zmienne. W tym przykładzie wartości to:

x = 1, y = 2 i z = 3

Krok 2: Dodaj x i y.

Krok 3: Pomnóż z przez sumę x i y.

Ostatecznie otrzymujemy wynik jako „9”.

Oprócz węzłów, do których przypisaliśmy zmienne, wykres ma jeszcze dwa węzły – jeden dla operacji dodawania, a drugi dla operacji mnożenia. Stąd w sumie jest pięć węzłów.

Podstawowe elementy programowania w TensorFlow

W TensorFlow możemy przypisać dane do trzech różnych typów elementów danych – stałych, zmiennych i symboli zastępczych.

Przyjrzyjmy się, co reprezentuje każdy z tych elementów danych.

1. Stałe

Jak wynika z nazwy, stałe to parametry o niezmiennych wartościach. W TensorFlow stała jest definiowana za pomocą polecenia tf.constant() . Podczas obliczeń wartości stałych nie mogą być zmieniane.

Oto przykład:

c = tf.constant(2.0,tf.float32)

d = tf.stała(3.0)

Drukuj (c,d)

2. Zmienne

Zmienne umożliwiają dodawanie do wykresu nowych parametrów. Polecenie tf.variable() definiuje zmienną, którą należy zainicjować przed uruchomieniem wykresu w sesji.

Oto przykład:

Y = tf.Zmienna([.4],dtype=tf.float32)

a = tf.Zmienna([-.4],dtype=tf.float32)

b = tf.placeholder(tf.float32)

model_liniowy = Y*b+a

3. Symbole zastępcze

Za pomocą symboli zastępczych można wprowadzać dane do modelu z zewnątrz. Umożliwia późniejsze przypisanie wartości. Polecenie tf.placeholder() definiuje symbol zastępczy.

Oto przykład:

c = tf.placeholder(tf.float32)

d = c*2

wynik = sess.run(d,feed_out={c:3.0})

Symbol zastępczy służy głównie do podawania modelu. Dane z zewnątrz podawane są do wykresu za pomocą nazwy zmiennej (nazwa zmiennej w powyższym przykładzie to feed_out). Następnie podczas uruchamiania sesji określamy, w jaki sposób chcemy zasilić model danymi.

Przykładowa sesja:

Wykonanie wykresu odbywa się poprzez wywołanie sesji. Uruchamiana jest sesja w celu oceny węzłów wykresu, zwana środowiskiem wykonawczym TensorFlow. Polecenie sess = tf.Session() tworzy sesję.

Przykład:

x = tf.stała(3.0)

y = tf.stała(4.0)

z = x+y

sess = tf.Session() #Uruchamianie sesji

print(sess.run(z)) #Ocenianie tensora z

W powyższym przykładzie są trzy węzły – x, y i z. Węzeł „z” to miejsce, w którym wykonywana jest operacja matematyczna, a następnie uzyskiwany jest wynik. Po utworzeniu sesji i uruchomieniu węzła z, najpierw zostaną utworzone węzły x i y. Następnie operacja dodawania będzie miała miejsce w węźle z. Stąd otrzymamy wynik '7'.

Rozwiń swoją karierę w ML i Deep Learning z upGrad

Szukasz najlepszego miejsca, aby dowiedzieć się więcej o tym, czym jest TensorFlow ? W takim razie upGrad jest tutaj, aby pomóc Ci w Twojej podróży edukacyjnej.

Z bazą uczących się obejmującą ponad 85 krajów, upGrad jest największą platformą wyższego EdTech w Azji Południowej, która wpłynęła na ponad 500 000 pracujących profesjonalistów na całym świecie. Dzięki światowej klasy wykładowcom, współpracy z partnerami branżowymi, najnowszej technologii i najbardziej aktualnym praktykom pedagogicznym, upGrad zapewnia zdrowe i wciągające doświadczenie edukacyjne dla ponad 40 000 płatnych uczniów na całym świecie.

Zaawansowany program certyfikacji w uczeniu maszynowym i głębokim uczeniu to rygorystyczny akademicki i odpowiedni dla branży 6-miesięczny kurs obejmujący koncepcje głębokiego uczenia się.

Najważniejsze punkty programu:

  • Prestiżowe uznanie od IIIT Bangalore
  • Ponad 240 godzin treści z ponad 5 studiami przypadków i projektami, ponad 24 sesjami na żywo i ponad 15 sesjami coachingu ekspertów
  • Kompleksowa oferta 12 narzędzi, języków i bibliotek (w tym TensorFlow)
  • 360-stopniowa pomoc w karierze, sesje mentoringu i możliwości nawiązywania kontaktów peer-to-peer

UpGrad Master of Science in Machine Learning i Artificial Intelligence to 18-miesięczny solidny program dla tych, którzy chcą uczyć się i podnosić swoje umiejętności dzięki zaawansowanemu uczeniu maszynowemu i technologiom w chmurze.

Najważniejsze punkty programu:

  • Prestiżowe wyróżnienie Liverpool John Moores University i IIT Madras
  • Ponad 650 godzin treści z ponad 25 studiami przypadków i projektami, ponad 20 sesjami na żywo i ponad 8 zadaniami kodowania
  • Kompleksowa obsługa 7 narzędzi i języków programowania (w tym TensorFlow)
  • 360-stopniowa pomoc w karierze, sesje mentoringu i możliwości nawiązywania kontaktów peer-to-peer

Wniosek

Uczenie maszynowe i sztuczna inteligencja wciąż ewoluują. To, co kiedyś było tematem filmów science fiction, teraz jest rzeczywistością. Od rekomendacji filmów Netflix i wirtualnych asystentów po autonomiczne samochody i odkrywanie leków, uczenie maszynowe ma wpływ na wszystkie wymiary naszego życia. Co więcej, dzięki narzędziom takim jak TensorFlow innowacje w uczeniu maszynowym osiągnęły nowy poziom. Biblioteka o otwartym kodzie źródłowym jest niewątpliwie dobrodziejstwem dla programistów i początkujących profesjonalistów wprowadzających innowacje w technologiach opartych na uczeniu maszynowym.

Więc na co czekasz? Zacznij uczyć się z upGrad już dziś!

Do czego służy TensorFlow?

TensorFlow Python to platforma typu open source, która umożliwia programistom tworzenie sieci neuronowych na dużą skalę. Niektóre z podstawowych przypadków użycia TensorFlow obejmują aplikacje tekstowe (takie jak wykrywanie oszustw), rozpoznawanie głosu, rozpoznawanie obrazu, wykrywanie wideo i analizę danych szeregów czasowych.

Czy TensorFlow jest napisany w Pythonie czy C++?

TensorFlow umożliwia implementację front-endowych interfejsów API przy użyciu różnych języków, takich jak Python, R, C i C++. Jednak środowisko uruchomieniowe w TensorFlow jest napisane w języku C++.

Czy TensorFlow wymaga kodowania?

Ponieważ TensorFlow jest biblioteką typu open source do uczenia maszynowego, istnieją cztery podstawowe obszary, które należy opanować. Chociaż umiejętności kodowania są koniecznością, innymi kluczowymi elementami edukacji w zakresie uczenia maszynowego są matematyka i statystyki, teoria uczenia maszynowego oraz praktyczne doświadczenie w tworzeniu projektów uczenia maszynowego od podstaw.