TensorFlow-tutorial foar begjinners
TensorFlow is ien fan 'e populêrste frameworks foar djip learen en masinelearen. Untwikkele troch it Google Brain-team, is TensorFlow in soad brûkt yn ferskate ûndersyksprojekten en yndustriële tapassingen. Dit artikel jout in stap-foar-stap tutorial om jo, as begjinner, te helpen oan 'e slach te gean mei TensorFlow.
1. De basis fan TensorFlow begripe
Foardat wy begjinne mei it ynstallearjen en brûken fan TensorFlow, is it wichtich om te begripen wat TensorFlow is en de basisbegripen derachter. TensorFlow is in iepen boarne-raamwurk foar numerike berekkening en masinelearen. It brûkt gegevensstreamgrafiken om numerike operaasjes út te fieren, wêrby't knooppunten yn 'e grafyk wiskundige operaasjes fertsjintwurdigje, en rânen meardimensjonale gegevensarrays (tensors) fertsjintwurdigje dy't tusken har ferbûn binne.
2. TensorFlow-ynstallaasje
De earste stap yn it brûken fan TensorFlow is it ynstallearjen. Hjir is hoe't jo TensorFlow ynstallearje kinne mei pip, de Python-pakketbehearder.
1. Python-ynstallaasje:
Soargje derfoar dat jo Python op jo systeem ynstalleare hawwe. TensorFlow is kompatibel mei Python 3.6 oant en mei 3.9 op it momint fan skriuwen. Jo kinne Python downloade fan 'e offisjele Python-webside.
2. Firtuele omjouwing:
It is tige oan te rieden om in firtuele omjouwing te meitsjen om jo TensorFlow-projekt te isolearjen:
"`sh
python -m venv mynenv
boarne myenv/bin/activate Foar Mac/Linux-brûkers
myenv\Scripts\activate Foar Windows-brûkers
""
3. TensorFlow-ynstallaasje:
Ynstallearje no TensorFlow mei pip:
"`sh
pip ynstallearje tensorflow
""
3. Hallo Wrâld mei TensorFlow
No't TensorFlow ynstalleare is, litte wy in ienfâldich Python-skript meitsje om de ynstallaasje te ferifiearjen. Meitsje in nij Python-bestân en neam it `hello_tensorflow.py`.
"python
ymportearje tensorflow as tf
Meitsje in konstante
hallo = tf.constant('Hallo, TensorFlow!')
Sesje begjinne
mei tf.Session() as sess:
resultaat = sess.run(hallo)
print (resultaat)
""
Pas de koade oan neffens TensorFlow ferzje 2.x:
"python
ymportearje tensorflow as tf
Meitsje in konstante
hallo = tf.constant('Hallo, TensorFlow!')
Útfiere mei eager execution (standert oan)
print(hallo.numpy())
""
Bewarje it bestân, en fier dan út:
"`sh
python hello_tensorflow.py
""
4. Tensors en basisoperaasjes begripe
Tensors binne de primêre gegevensstruktuer yn TensorFlow, dat binne multidimensionale arrays. Hjir binne wat foarbylden om jo te helpen tensors te begripen:
"python
ymportearje tensorflow as tf
Tensors oanmeitsje
skalaar = tf. konstante(7) skalaar
fektor = tf. konstante([1, 2, 3]) fektor
matriks = tf. konstante([[1, 2], [3, 4]]) matriks
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D-tensor
print(f'Skalar: {skalar}')
print(f'Fektor: {fektor}')
print(f'Matrix: {matrix}')
print(f'Tensor 3D: {tensor3d}')
""
Om basisoperaasjes op tensors út te fieren:
"python
a = tf.konstant([[1, 2], [3, 4]])
b = tf.konstant([[5, 6], [7, 8]])
Optellingsoperaasje
tafoegje = tf.add(a, b)
Matriksfermannichfâldigingsoperaasjes
mul = tf.matmul(a, b)
print(f'Tafoeging: {add}')
print(f'Matrixfermannichfâldiging: {mul}')
""
5. In ienfâldich neuraal netwurkmodel oanmeitsje
De folgjende stap is it meitsjen fan in ienfâldich neuraal netwurkmodel. Wy sille in ôfbyldingsklassifikaasjemodel bouwe mei de MNIST-dataset, in database fan mei de hân skreaune siferôfbyldings. Litte wy begjinne:
"python
ymportearje tensorflow as tf
fan tensorflow.keras ymportearje datasets, lagen, modellen
De MNIST-dataset ynladen
(trein_ôfbyldings, trein_labels), (test_ôfbyldings, test_labels) = datasets.mnist.load_data()
Ofbyldingsnormalisaasje
trein_ôfbyldings, test_ôfbyldings = trein_ôfbyldings / 255.0, test_ôfbyldings / 255.0
In model meitsje
model = modellen.Sequentiell([
lagen.Flatten(ynfierfoarm=(28, 28)),
layers.Dense(128, activation='relu'),
lagen.Dense(10)
])
Modelkompilaasje
model.compile(optimizer='adam',
ferlies=tf.keras.ferliezen.SparseCategoricalCrossentropy(from_logits=True),
metrics=['krektens'])
It model trainen
model.fit(train_images, train_labels, epochs=5)
It model testen
test_ferlies, test_acc = model.evaluate(test_ôfbyldings, test_labels)
print(f'Testnauwkeurigens: {test_acc}')
""
Ferklearring:
– Datasets: Wy ymportearje en lade de MNIST-dataset.
– Foarferwurking: Normalisearje de dataset troch pikselwearden te dielen troch 255.
– Model: Wy definiearje in ienfâldich model mei twa lagen. De earste laach is in 'Flatten'-laach om de 2D-ôfbylding om te setten yn in 1D-array. De twadde laach is in 'Dense'-laach mei 128 neuronen en 'relu' as de aktivearringsfunksje, en de lêste is in 'Dense'-laach mei 10 neuronen dy't 10 klassen fertsjintwurdigje.
– Kompilearje: Wy kompilearje it model mei de `adam` optimizer en `SparseCategoricalCrossentropy` as de ferliesfunksje.
– Trein: Trein it model foar 5 perioaden.
– Evaluearje: Evaluearje it model oan 'e hân fan testgegevens.
6. Modellen opslaan en laden
Nei it trainen fan in model kinne jo it bewarje foar letter gebrûk sûnder it opnij te trainen. Hjir is hoe't jo in model bewarje en lade kinne:
"python
It model bewarje
model.save('myn_model.h5')
Model laden
nij_model = tf.keras.models.load_model('myn_model.h5')
Ferifiearjen fan it laden model
ferlies, acc = new_model.evaluate(test_ôfbyldings, test_labels)
print(f'Krektens fan laden model: {acc}')
""
Konklúzje
Dizze hantlieding jout in detaillearre ynlieding ta it begjinnen mei TensorFlow foar begjinners. Wy hawwe de ynstallaasje, basis tensoroperaasjes en it bouwen fan in ienfâldich neuraal netwurkmodel behannele mei de MNIST-dataset. TensorFlow biedt in protte avansearre mooglikheden om te ferkennen, lykas avansearre gegevensferwurking, kompleksere modellen en it brûken fan TensorFlow op apparaten lykas TPU's en GPU's. Wy hoopje dat dizze tutorial jo helpt om te begjinnen yn 'e wrâld fan masinelearen mei TensorFlow.