Vodič za korištenje TensorFlowa za početnike

TensorFlow vodič za početnike

TensorFlow je jedan od najpopularnijih okvira za duboko učenje i strojno učenje. Razvijen od strane tima Google Brain, TensorFlow se široko koristi u brojnim istraživačkim projektima i industrijskim primjenama. Ovaj članak pruža detaljan vodič koji će vam, kao početniku, pomoći da započnete s TensorFlowom.

1. Razumijevanje osnova TensorFlowa

Prije nego što počnemo instalirati i koristiti TensorFlow, važno je razumjeti što je TensorFlow i osnovne koncepte koji stoje iza njega. TensorFlow je okvir otvorenog koda za numeričko računanje i strojno učenje. Koristi grafove toka podataka za izvođenje numeričkih operacija, gdje čvorovi u grafu predstavljaju matematičke operacije, a rubovi predstavljaju višedimenzionalne nizove podataka (tenzore) povezane između njih.

2. Instalacija TensorFlowa

Prvi korak u korištenju TensorFlowa je njegova instalacija. Evo kako instalirati TensorFlow pomoću pipa, Python upravitelja paketa.

1. Instalacija Pythona:
Provjerite imate li Python instaliran na svom sustavu. TensorFlow je kompatibilan s Pythonom od 3.6 do 3.9 u trenutku pisanja ovog teksta. Python možete preuzeti sa službene web stranice Pythona.

2. Virtualno okruženje:
Preporučuje se stvaranje virtualnog okruženja za izolaciju vašeg TensorFlow projekta:
"sh"
python -m venv myenv
izvorni kod myenv/bin/activate Za korisnike Maca/Linuxa
myenv\Scripts\activate Za korisnike sustava Windows
"`

3. Instalacija TensorFlowa:
Sada instalirajte TensorFlow pomoću pip-a:
"sh"
pip instaliraj tensorflow
"`

3. Pozdrav svijete s TensorFlowom

Sada kada je TensorFlow instaliran, stvorimo jednostavnu Python skriptu za provjeru instalacije. Izradite novu Python datoteku i nazovite je `hello_tensorflow.py`.

“`python
import tensorflow kao tf

Stvori konstantu
zdravo = tf.constant('Pozdrav, TensorFlow!')

Započni sesiju
s tf.Session() kao sess:
rezultat = sess.run(pozdrav)
ispis (rezultat)
"`

ČITATI  Najbolji online resursi za učenje SQL-a

Prilagodite kod prema TensorFlow verziji 2.x:

“`python
import tensorflow kao tf

Stvori konstantu
zdravo = tf.constant('Pozdrav, TensorFlow!')

Pokreni korištenjem eager execution (uključeno prema zadanim postavkama)
print(hello.numpy())
"`

Spremi datoteku, a zatim pokrenite:
"sh"
python hello_tensorflow.py
"`

4. Razumijevanje tenzora i osnovnih operacija

Tenzori su primarna struktura podataka u TensorFlowu, koji je višedimenzionalni niz. Evo nekoliko primjera koji će vam pomoći da razumijete tenzore:

“`python
import tensorflow kao tf

Stvaranje tenzora
skalar = tf. konstanta(7) skalar
vektor = tf.konstanta([1, 2, 3]) vektor
matrica = tf.konstanta([[1, 2], [3, 4]]) matrica
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D tenzor

print(f'Skalar: {skalar}')
print(f'Vektor: {vektor}')
print(f'Matrica: {matrica}')
print(f'Tensor 3D: {tensor3d}')
"`

Za izvođenje osnovnih operacija na tenzorima:

“`python
a = tf.konstanta([[1, 2], [3, 4]])
b = tf.konstanta([[5, 6], [7, 8]])

Operacija zbrajanja
zbroj = tf.zbroj(a, b)
Operacije množenja matrica
mul = tf.matmul(a, b)

print(f'Dodatak: {dodaj}')
print(f'Množenje matrica: {mul}')
"`

5. Izrada jednostavnog modela neuronske mreže

Sljedeći korak je stvaranje jednostavnog modela neuronske mreže. Izgradit ćemo model klasifikacije slika koristeći MNIST skup podataka, bazu podataka slika rukom pisanih znamenki. Krenimo:

“`python
import tensorflow kao tf
iz tensorflow.keras uvoz skupova podataka, slojeva, modela

Preuzimanje MNIST skupa podataka
(slike_vlaka, oznake_vlaka), (testne_slike, testne_oznake) = skupovi_podataka.mnist.učitavanje_podataka()

Normalizacija slike
slike_vlaka, testne_slike = slike_vlaka / 255.0, testne_slike / 255.0

Izrada modela
model = modeli.Sekvencijalno([
slojevi. Izravnaj(ulazni_oblik=(28, 28)),
layers.Dense(128, activation='relu'),
slojevi.Gusti(10)
])

Kompilacija modela
model.compile(optimizer='adam',
gubitak=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrike=['točnost'])

Treniranje modela
model.fit(slike_vlaka, oznake_vlaka, epohe=5)

Testiranje modela
test_gubitak, test_pristup = model.evaluate(test_slike, test_oznake)
print(f'Točnost testa: {test_acc}')
"`

Obrazloženje:
– Skupovi podataka: Uvozimo i učitavamo skup podataka MNIST.
– Predobrada: Normalizirajte skup podataka dijeljenjem vrijednosti piksela s 255.
– Model: Definiramo jednostavan model s dva sloja. Prvi sloj je sloj `Flatten` za pretvaranje 2D slike u 1D niz. Drugi sloj je sloj `Dense` sa 128 neurona i `relu` kao aktivacijskom funkcijom, a posljednji je sloj `Dense` s 10 neurona koji predstavljaju 10 klasa.
– Kompiliranje: Model kompajliramo koristeći optimizator `adam` i `SparseCategoricalCrossentropy` kao funkciju gubitka.
– Treniranje: Trenirajte model tijekom 5 epoha.
– Evaluacija: Procijenite model u odnosu na testne podatke.

ČITATI  Najbolje prakse za mrežnu sigurnost u malim poduzećima

6. Spremanje i učitavanje modela

Nakon što ste model obučili, možda ćete ga htjeti spremiti za kasniju upotrebu bez potrebe za ponovnim obučavanjem. Evo kako spremiti i učitati model:

“`python
Spremanje modela
model.save('moj_model.h5')

Učitavanje modela
novi_model = tf.keras.models.učitaj_model('moj_model.h5')

Provjera učitanog modela
gubitak, acc = new_model.evaluate(testne_slike, testne_oznake)
print(f'Točnost učitanog modela: {acc}')
"`

Zaključak

Ovaj vodič pruža detaljan uvod u početak rada s TensorFlowom za početnike. Obradili smo instalaciju, osnovne tenzorske operacije i izgradnju jednostavnog modela neuronske mreže pomoću skupa podataka MNIST. TensorFlow nudi mnoge napredne mogućnosti za istraživanje, kao što su napredna obrada podataka, složeniji modeli i korištenje TensorFlowa na uređajima poput TPU-ova i GPU-ova. Nadamo se da će vam ovaj vodič pomoći da započnete sa svijetom strojnog učenja s TensorFlowom.

Ostavite komentar