TensorFlow oktatóanyag kezdőknek
A TensorFlow az egyik legnépszerűbb keretrendszer a mélytanuláshoz és a gépi tanuláshoz. A Google Brain csapata által fejlesztett TensorFlow-t széles körben használják számos kutatási projektben és ipari alkalmazásban. Ez a cikk lépésről lépésre bemutatja, hogyan ismerkedhetsz meg a TensorFlow-val kezdőként.
1. A TensorFlow alapjainak megértése
Mielőtt elkezdenénk a TensorFlow telepítését és használatát, fontos megérteni, hogy mi is a TensorFlow, és milyen alapvető fogalmak állnak mögötte. A TensorFlow egy nyílt forráskódú keretrendszer numerikus számításokhoz és gépi tanuláshoz. Adatfolyam-gráfokat használ numerikus műveletek végrehajtásához, ahol a gráf csomópontjai matematikai műveleteket, az élek pedig a közöttük összekapcsolt többdimenziós adattömböket (tenzorokat) jelölik.
2. TensorFlow telepítése
A TensorFlow használatának első lépése a telepítése. Így telepítheted a TensorFlow-t a pip, a Python csomagkezelő használatával.
1. Python telepítése:
Győződjön meg róla, hogy a Python telepítve van a rendszerén. A TensorFlow a jelen írás idején kompatibilis a Python 3.6-os és 3.9-es verzióival. A Pythont letöltheti a hivatalos Python weboldalról.
2. Virtuális környezet:
Erősen ajánlott egy virtuális környezet létrehozása a TensorFlow projekt elkülönítéséhez:
„'sh
python -m venv myenv
forrás myenv/bin/activate Mac/Linux felhasználóknak
myenv\Scripts\activate Windows felhasználóknak
""
3. TensorFlow telepítése:
Most telepítsd a TensorFlow-t a pip használatával:
„'sh
pip install tensorflow
""
3. Üdvözöljük a világot a TensorFlow-val
Most, hogy a TensorFlow telepítve van, hozzunk létre egy egyszerű Python szkriptet a telepítés ellenőrzéséhez. Hozzunk létre egy új Python fájlt, és nevezzük el `hello_tensorflow.py`-nak.
"" Python
import tensorflow as tf
Konstans létrehozása
hello = tf.constant('Szia, TensorFlow!')
Munkamenet indítása
a tf.Session()-val mint sess:
eredmény = sess.run(hello)
nyomtatás (eredmény)
""
Módosítsa a kódot a TensorFlow 2.x verziójának megfelelően:
"" Python
import tensorflow as tf
Konstans létrehozása
hello = tf.constant('Szia, TensorFlow!')
Futtatás lelkes végrehajtással (alapértelmezés szerint bekapcsolva)
print(hello.numpy())
""
Mentse el a fájlt, majd futtassa:
„'sh
python hello_tensorflow.py
""
4. Tenzorok és alapvető műveletek megértése
A tenzorok a TensorFlow elsődleges adatszerkezetei, amelyek többdimenziós tömbök. Íme néhány példa a tenzorok megértéséhez:
"" Python
import tensorflow as tf
Tenzorok létrehozása
skalár = tf. constant(7) skalár
vektor = tf. constant([1, 2, 3]) vektor
mátrix = tf. constant([[1, 2], [3, 4]]) mátrix
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D tenzor
print(f'Skalár: {skalár}')
print(f'Vektor: {vektor}')
print(f'Mátrix: {mátrix}')
print(f'3D-s Tenzor: {3D-s Tenzor}')
""
Alapvető műveletek végrehajtása tenzorokon:
"" Python
a = tf.állandó([[1, 2], [3, 4]])
b = tf.állandó([[5, 6], [7, 8]])
Összeadási művelet
hozzáadás = tf.add(a, b)
Mátrix szorzási műveletek
mul = tf.matmul(a, b)
print(f'Összeadás: {hozzáadás}')
print(f'Mátrix szorzás: {mul}')
""
5. Egyszerű neurális hálózati modell létrehozása
A következő lépés egy egyszerű neurális hálózati modell létrehozása. Egy képosztályozási modellt fogunk felépíteni az MNIST adathalmaz, a kézzel írott digitális képek adatbázisának felhasználásával. Kezdjük is:
"" Python
import tensorflow as tf
a tensorflow.keras adatkészletek, rétegek, modellek importálása
Az MNIST adatkészlet letöltése
(vonat_képek, vonat_címkék), (teszt_képek, teszt_címkék) = adatkészletek.mnist.load_data()
Kép normalizálása
train_images, test_images = train_images / 255.0, test_images / 255.0
Modell készítése
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
rétegek. Sűrű(10)
])
Modell összeállítása
model.compile(optimalizáló='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['pontosság'])
A modell betanítása
model.fit(vonat_képek, vonat_címkék, korszakok=5)
A modell tesztelése
teszt_veszteség, teszt_acc = modell.értékel(teszt_képek, teszt_címkék)
print(f'Tesztpontosság: {test_acc}')
""
Magyarázat:
– Adatkészletek: Importáljuk és betöltjük az MNIST adatkészletet.
– Előfeldolgozás: Az adathalmaz normalizálása a pixelértékek 255-tel való elosztásával.
– Modell: Egy egyszerű, kétrétegű modellt definiálunk. Az első réteg egy „Flatten” réteg, amely a 2D képet 1D tömbpé alakítja. A második réteg egy „Dense” réteg 128 neuronnal és a „relu” aktivációs függvénnyel, az utolsó pedig egy „Dense” réteg 10 neuronnal, amelyek 10 osztályt képviselnek.
– Fordítás: A modellt az `adam` optimalizálóval és a `SparseCategoricalCrossentropy` veszteségfüggvénnyel fordítjuk le.
– Betanítás: A modell betanítása 5 korszakon keresztül.
– Értékelés: A modell értékelése tesztadatok alapján.
6. Modellek mentése és betöltése
Egy modell betanítása után érdemes lehet elmenteni későbbi használatra anélkül, hogy újra kellene tanítani. Így menthet és tölthet be egy modellt:
"" Python
A modell mentése
model.save('my_model.h5')
Modell betöltése
new_model = tf.keras.models.load_model('my_model.h5')
A betöltött modell ellenőrzése
veszteség, acc = new_model.evaluate(teszt_képek, teszt_címkék)
print(f'A betöltött modell pontossága: {acc}')
""
Következtetés
Ez az útmutató részletes bevezetést nyújt a TensorFlow használatába kezdőknek. Áttekintettük a telepítést, az alapvető tenzorműveleteket és egy egyszerű neurális hálózati modell felépítését az MNIST adatkészlet használatával. A TensorFlow számos fejlett képességet kínál, mint például a fejlett adatfeldolgozás, az összetettebb modellek és a TensorFlow használata olyan eszközökön, mint a TPU-k és GPU-k. Reméljük, hogy ez az oktatóanyag segít elindulni a gépi tanulás világában a TensorFlow segítségével.