TensorFlow-tutoriaal vir beginners
TensorFlow is een van die gewildste raamwerke vir diep leer en masjienleer. TensorFlow, wat deur die Google Brain-span ontwikkel is, is wyd gebruik in talle navorsingsprojekte en industriële toepassings. Hierdie artikel bied 'n stap-vir-stap tutoriaal om jou, as beginner, te help om met TensorFlow te begin.
1. Verstaan TensorFlow Basiese beginsels
Voordat ons TensorFlow begin installeer en gebruik, is dit belangrik om te verstaan wat TensorFlow is en die basiese konsepte daaragter. TensorFlow is 'n oopbronraamwerk vir numeriese berekening en masjienleer . Dit gebruik datavloeigrafieke om numeriese bewerkings uit te voer, waar nodusse in die grafiek wiskundige bewerkings verteenwoordig, en rande multidimensionele data-skikkings (tensors) verteenwoordig wat tussen hulle verbind is.
2. TensorFlow-installasie
Die eerste stap in die gebruik van TensorFlow is om dit te installeer. Hier is hoe om TensorFlow te installeer met behulp van pip, die Python-pakketbestuurder.
1. Python-installasie:
Maak seker dat jy Python op jou stelsel geïnstalleer het. TensorFlow is versoenbaar met Python 3.6 tot 3.9 ten tyde van hierdie skrywe. Jy kan Python aflaai vanaf die amptelike Python-webwerf.
2. Virtuele Omgewing:
Dit word sterk aanbeveel om 'n virtuele omgewing te skep om jou TensorFlow-projek te isoleer:
"`sj
luislang -m venv myenv
bron myenv/bin/activate Vir Mac/Linux-gebruikers
myenv\Scripts\activate Vir Windows-gebruikers
''
3. TensorFlow Installasie:
Installeer nou TensorFlow met behulp van pip:
"`sj
pip installeer tensorflow
''
3. Hallo Wêreld met TensorFlow
Noudat TensorFlow geïnstalleer is, kom ons skep 'n eenvoudige Python-skrip om die installasie te verifieer. Skep 'n nuwe Python-lêer en noem dit `hello_tensorflow.py`.
"` luislang
voer tensorvloei in as tf
Skep 'n konstante
hallo = tf.constant('Hallo, TensorFlow!')
Begin sessie
met tf.Session() as sess:
resultaat = sess.run(hallo)
druk (resultaat)
''
Pas die kode aan volgens TensorFlow weergawe 2.x:
"` luislang
voer tensorvloei in as tf
Skep 'n konstante
hallo = tf.constant('Hallo, TensorFlow!')
Begin met behulp van gretige uitvoering (standaard aangeskakel)
druk(hallo.numpy())
''
Stoor die lêer en voer dan uit:
"`sj
python hello_tensorflow.py
''
4. Verstaan van Tensors en Basiese Bewerkings
Tensors is die primêre datastruktuur in TensorFlow, wat 'n multidimensionele skikking is. Hier is 'n paar voorbeelde om jou te help om tensors te verstaan:
"` luislang
voer tensorvloei in as tf
Skep tensors
skalaar = tf. konstante(7) skalaar
vektor = tf. konstante([1, 2, 3]) vektor
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
druk(f'Skalaar: {skalar}')
druk(f'Vektor: {vektor}')
druk(f'Matriks: {matriks}')
druk(f'Tensor 3D: {tensor3d}')
''
Om basiese bewerkings op tensors uit te voer:
"` luislang
a = tf.konstant([[1, 2], [3, 4]])
b = tf.konstant([[5, 6], [7, 8]])
Optelbewerking
voeg by = tf.add(a, b)
Matriksvermenigvuldigingsbewerkings
mul = tf.matmul(a, b)
druk(f'Byvoeging: {voeg}')
druk(f'Matriksvermenigvuldiging: {mul}')
''
5. Skep 'n eenvoudige neurale netwerkmodel
Die volgende stap is om 'n eenvoudige neurale netwerkmodel te skep. Ons sal 'n beeldklassifikasiemodel bou met behulp van die MNIST-datastel, 'n databasis van handgeskrewe syferbeelde. Kom ons begin:
"` luislang
voer tensorvloei in as tf
vanaf tensorflow.keras voer datastelle, lae, modelle in
Laai die MNIST-datastel af
(trein_beelde, trein_etikette), (toets_beelde, toets_etikette) = datastelle.mnist.laai_data()
Beeldnormalisering
trein_beelde, toets_beelde = trein_beelde / 255.0, toets_beelde / 255.0
Maak 'n model
model = modelle.Opeenvolgend([
lae.Plat(invoervorm=(28, 28)),
layers.Dense(128, aktivering='relu'),
lae. Dig(10)
])
Modelsamestelling
model.compile(optimizer='adam',
verlies=tf.keras.verliese.SparseCategoricalCrossentropy(from_logits=Waar),
metrics=['akkuraatheid'])
Opleiding van die model
model.fit(train_images, train_labels, epochs=5)
Toets die model
toets_verlies, toets_acc = model.evalueer(toets_beelde, toets_etikette)
druk(f'Toets akkuraatheid: {toets_akk}')
''
Verduideliking:
– Datastelle: Ons invoer en laai die MNIST-datastel.
– Voorverwerking: Normaliseer die datastel deur pixelwaardes deur 255 te deel.
– Model: Ons definieer 'n eenvoudige model met twee lae. Die eerste laag is 'n 'Plat'-laag om die 2D-beeld in 'n 1D-skikking om te skakel. Die tweede laag is 'n 'Digte'-laag met 128 neurone en 'relu' as die aktiveringsfunksie, en die laaste is 'n 'Digte'-laag met 10 neurone wat 10 klasse verteenwoordig.
– Kompileer: Ons kompileer die model deur die `adam`-optimaliseerder en `SparseCategoricalCrossentropy` as die verliesfunksie te gebruik.
– Oefen: Oefen die model vir 5 epogge.
– Evalueer: Evalueer die model teen toetsdata.
6. Modelle stoor en laai
Nadat jy 'n model opgelei het, kan jy dit stoor vir latere gebruik sonder om dit weer op te lei. Hier is hoe om 'n model te stoor en te laai:
"` luislang
Die model stoor
model.stoor('my_model.h5')
Laai model
nuwe_model = tf.keras.models.laai_model('my_model.h5')
Verifieer die gelaaide model
verlies, akk = nuwe_model.evalueer(toets_beelde, toets_etikette)
druk(f'Akkuraatheid van gelaaide model: {acc}')
''
Afsluiting
Hierdie gids bied 'n gedetailleerde inleiding tot hoe om met TensorFlow te begin vir beginners. Ons het installasie, basiese tensorbewerkings en die bou van 'n eenvoudige neurale netwerkmodel met behulp van die MNIST-datastel gedek. TensorFlow bied baie gevorderde vermoëns om te verken, soos gevorderde dataverwerking , meer komplekse modelle en die gebruik van TensorFlow op toestelle soos TPU's en GPU's. Ons hoop dat hierdie tutoriaal jou help om in die wêreld van masjienleer met TensorFlow te begin.