Vadnica za začetnike s TensorFlowom

Vadnica za TensorFlow za začetnike

TensorFlow je eden najbolj priljubljenih ogrodji za globoko učenje in strojno učenje. TensorFlow, ki ga je razvila ekipa Google Brain, se pogosto uporablja v številnih raziskovalnih projektih in industrijskih aplikacijah. Ta članek ponuja podroben vodič, ki vam bo kot začetniku pomagal začeti uporabljati TensorFlow.

1. Razumevanje osnov TensorFlowa

Preden začnemo nameščati in uporabljati TensorFlow, je pomembno razumeti, kaj TensorFlow je in osnovne koncepte, ki stojijo za njim. TensorFlow je odprtokodni okvir za numerično računanje in strojno učenje. Za izvajanje numeričnih operacij uporablja grafe pretoka podatkov, kjer vozlišča v grafu predstavljajo matematične operacije, robovi pa večdimenzionalne podatkovne matrike (tenzorje), ki so med seboj povezane.

2. Namestitev TensorFlowa

Prvi korak pri uporabi TensorFlowa je njegova namestitev. Tukaj je opisano, kako namestiti TensorFlow z uporabo pipa, upravitelja paketov Python.

1. Namestitev Pythona:
Prepričajte se, da imate v sistemu nameščen Python. TensorFlow je v času pisanja tega besedila združljiv s Pythonom od 3.6 do 3.9. Python lahko prenesete z uradne spletne strani Pythona.

2. Virtualno okolje:
Zelo priporočljivo je ustvariti virtualno okolje za izolacijo vašega projekta TensorFlow:
“Pšš
python -m venv myenv
izvorna koda myenv/bin/activate Za uporabnike Mac/Linux
myenv\Scripts\activate Za uporabnike sistema Windows
""

3. Namestitev TensorFlowa:
Zdaj namestite TensorFlow z uporabo pip-a:
“Pšš
pip namestite tensorflow
""

3. Pozdravljen svet s TensorFlowom

Zdaj, ko je TensorFlow nameščen, ustvarimo preprost skript Python za preverjanje namestitve. Ustvarite novo datoteko Python in jo poimenujte `hello_tensorflow.py`.

"python
uvoz tenzorskega toka kot tf

Ustvari konstanto
pozdrav = tf.constant('Pozdravljeni, TensorFlow!')

Začni sejo
z tf.Session() kot sess:
rezultat = sess.run(pozdravljeni)
natisni (rezultat)
""

PREBERITE  Najboljši spletni viri za učenje SQL-a

Prilagodite kodo v skladu z različico 2.x za TensorFlow:

"python
uvoz tenzorskega toka kot tf

Ustvari konstanto
pozdrav = tf.constant('Pozdravljeni, TensorFlow!')

Zaženi z uporabo evager izvajanja (privzeto vklopljeno)
izpis(pozdravljeni.numpy())
""

Shranite datoteko in nato zaženite:
“Pšš
python hello_tensorflow.py
""

4. Razumevanje tenzorjev in osnovnih operacij

Tenzorji so primarna podatkovna struktura v TensorFlowu, ki so večdimenzionalni nizi. Tukaj je nekaj primerov, ki vam bodo pomagali razumeti tenzorje:

"python
uvoz tenzorskega toka kot tf

Ustvarjanje tenzorjev
skalar = tf.konstanta(7) skalar
vektor = tf.konstanta([1, 2, 3]) vektor
matrika = tf.konstanta([[1, 2], [3, 4]]) matrika
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'Matrika: {matrika}')
print(f'Tensor 3D: {tensor3d}')
""

Za izvajanje osnovnih operacij na tenzorjih:

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

Operacija seštevanja
seštej = tf.seštej(a, b)
Operacije množenja matrik
mul = tf.matmul(a, b)

print(f'Dodatek: {dodaj}')
print(f'Množenje matrik: {mul}')
""

5. Ustvarjanje preprostega modela nevronske mreže

Naslednji korak je ustvarjanje preprostega modela nevronske mreže. Z uporabo nabora podatkov MNIST, baze podatkov ročno napisanih slik številk, bomo zgradili model za klasifikacijo slik. Začnimo:

"python
uvoz tenzorskega toka kot tf
iz tensorflow.keras uvozi nabore podatkov, plasti, modele

Prenos nabora podatkov MNIST
(slike_vlaka, oznake_vlaka), (slike_testa, oznake_testa) = nabori_podatkov.mnist.naloži_podatke()

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

Izdelava modela
model = modeli.Zaporedno([
sloji.Poravnaj(vhodna_oblika=(28, 28)),
layers.Dense(128, activation='relu'),
plasti.Gosto(10)
])

Zbiranje modela
model.compile(optimizer='adam',
izguba=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])

Usposabljanje modela
model.fit(slike_vlakov, oznake_vlakov, epohe=5)

Testiranje modela
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Natančnost testa: {test_acc}')
""

Pojasnilo:
– Nabori podatkov: Uvozimo in naložimo nabor podatkov MNIST.
– Predobdelava: Normalizirajte nabor podatkov tako, da vrednosti slikovnih pik delite z 255.
– Model: Definiramo preprost model z dvema slojema. Prvi sloj je sloj `Flatten` (splošči), ki pretvori 2D sliko v 1D matriko. Drugi sloj je sloj `Dense` (gosta plast) s 128 nevroni in `relu` kot aktivacijsko funkcijo, zadnji pa je sloj `Dense` z 10 nevroni, ki predstavljajo 10 razredov.
– Prevajanje: Model prevedemo z uporabo optimizatorja `adam` in `SparseCategoricalCrossentropy` kot funkcije izgub.
– Učenje: Učenje modela traja 5 epoh.
– Vrednotenje: Vrednotenje modela glede na testne podatke.

PREBERITE  Najboljše prakse za omrežno varnost v malih podjetjih

6. Shranjevanje in nalaganje modelov

Po učenju modela ga lahko shranite za kasnejšo uporabo, ne da bi ga morali ponovno učiti. Takole shranite in naložite model:

"python
Shranjevanje modela
model.save('moj_model.h5')

Nalaganje modela
nov_model = tf.keras.models.naloži_model('moj_model.h5')

Preverjanje naloženega modela
izguba, acc = new_model.evaluate(testne_slike, testne_oznake)
print(f'Natančnost naloženega modela: {acc}')
""

Zaključek

Ta priročnik ponuja podroben uvod v začetek uporabe TensorFlowa za začetnike. Obravnavali smo namestitev, osnovne operacije s tenzorji in izgradnjo preprostega modela nevronske mreže z uporabo nabora podatkov MNIST. TensorFlow ponuja številne napredne zmogljivosti za raziskovanje, kot so napredna obdelava podatkov, bolj kompleksni modeli in uporaba TensorFlowa na napravah, kot so TPU-ji in grafični procesorji. Upamo, da vam bo ta vadnica pomagala pri začetku dela v svetu strojnega učenja s TensorFlowom.

Pustite komentar