TensorFlow apmācība iesācējiem
TensorFlow ir viens no populārākajiem dziļās mācīšanās un mašīnmācīšanās ietvariem. TensorFlow, ko izstrādājusi Google Brain komanda, ir plaši izmantots daudzos pētniecības projektos un rūpnieciskos lietojumos. Šajā rakstā sniegta soli pa solim sniegta pamācība, kas palīdzēs jums kā iesācējam sākt darbu ar TensorFlow.
1. TensorFlow pamatu izpratne
Pirms sākam instalēt un lietot TensorFlow, ir svarīgi saprast, kas ir TensorFlow un kādi ir tā pamatjēdzieni. TensorFlow ir atvērtā koda ietvars skaitliskiem aprēķiniem un mašīnmācībai. Tas izmanto datu plūsmas grafikus, lai veiktu skaitliskas darbības, kur mezgli grafikā attēlo matemātiskas darbības, bet šķautnes – starp tiem savienotus daudzdimensionālus datu masīvus (tenzorus).
2. TensorFlow instalēšana
Pirmais solis TensorFlow lietošanā ir tā instalēšana. Lūk, kā instalēt TensorFlow, izmantojot pip — Python pakotņu pārvaldnieku.
1. Python instalēšana:
Pārliecinieties, vai jūsu sistēmā ir instalēts Python. Rakstīšanas brīdī TensorFlow ir saderīgs ar Python 3.6 līdz 3.9. Python varat lejupielādēt no oficiālās Python vietnes.
2. Virtuālā vide:
Ir ļoti ieteicams izveidot virtuālu vidi, lai izolētu savu TensorFlow projektu:
“`š
python -m venv myenv
avots myenv/bin/activate Mac/Linux lietotājiem
myenv\Scripts\activate Windows lietotājiem
“
3. TensorFlow instalēšana:
Tagad instalējiet TensorFlow, izmantojot pip:
“`š
pip instalēt tensorflow
“
3. Sveika, pasaule ar TensorFlow
Tagad, kad TensorFlow ir instalēts, izveidosim vienkāršu Python skriptu, lai pārbaudītu instalāciju. Izveidojiet jaunu Python failu un nosauciet to par `hello_tensorflow.py`.
"" Python
importēt tensorflow kā tf
Izveidojiet konstanti
sveiki = tf.constant('Sveiks, TensorFlow!')
Sākt sesiju
ar tf.Session() kā sesiju:
rezultāts = sess.run(sveiki)
izdrukāt (rezultāts)
“
Pielāgojiet kodu atbilstoši TensorFlow 2.x versijai:
"" Python
importēt tensorflow kā tf
Izveidojiet konstanti
sveiki = tf.constant('Sveiks, TensorFlow!')
Palaist, izmantojot ātru izpildi (pēc noklusējuma ieslēgts)
drukāt(sveiki.numpy())
“
Saglabājiet failu un pēc tam palaidiet:
“`š
python hello_tensorflow.py
“
4. Tenzoru un pamatdarbību izpratne
Tenzori ir galvenā datu struktūra programmā TensorFlow, kas ir daudzdimensiju masīvi. Šeit ir daži piemēri, kas palīdzēs jums izprast tenzorus:
"" Python
importēt tensorflow kā tf
Tenzoru veidošana
skalārs = tf. constant(7) skalārs
vektors = tf. constant([1, 2, 3]) vektors
matrica = tf. constant([[1, 2], [3, 4]]) matrica
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D tenzors
drukāt(f'Skalārs: {skalārs}')
drukāt(f'Vektors: {vektors}')
drukāt(f'Matrica: {matrica}')
drukāt(f'Tensor 3D: {tensor3d}')
“
Lai veiktu pamata darbības ar tenzoriem:
"" Python
a = tf.konstante([[1, 2], [3, 4]])
b = tf.konstante([[5, 6], [7, 8]])
Saskaitīšanas darbība
pievienot = tf.add(a, b)
Matricu reizināšanas darbības
mul = tf.matmul(a, b)
print(f'Pievienošana: {pievienot}')
print(f'Matricas reizināšana: {mul}')
“
5. Vienkārša neironu tīkla modeļa izveide
Nākamais solis ir vienkārša neironu tīkla modeļa izveide. Mēs izveidosim attēlu klasifikācijas modeli, izmantojot MNIST datu kopu — ar roku rakstītu ciparu attēlu datubāzi. Sāksim:
"" Python
importēt tensorflow kā tf
no tensorflow.keras importēt datu kopas, slāņus, modeļus
MNIST datu kopas lejupielāde
(vilciena_attēli, vilciena_etiķetes), (testa_attēli, testa_etiķetes) = datu kopas.mnist.load_data()
Attēla normalizācija
vilciena_attēli, testa_attēli = vilciena_attēli / 255.0, testa_attēli / 255.0
Modeļa izgatavošana
modelis = modeļi.Secīgi([
slāņi.Saplacināt(ievades_forma=(28, 28)),
slāņi.Dense(128, activation='relu'),
slāņi.Blīvs(10)
])
Modeļa kompilācija
model.compile(optimizētājs='adam',
zudums=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['precizitāte'])
Modeļa apmācība
model.fit(vilciena_attēli, vilciena_etiķetes, laikmeti=5)
Modeļa testēšana
testa_zaudējums, testa_piegāde = modelis.evaluate(testa_attēli, testa_etiķetes)
print(f'Testa precizitāte: {test_acc}')
“
Paskaidrojums:
– Datu kopas: Mēs importējam un ielādējam MNIST datu kopu.
– Priekšapstrāde: datu kopas normalizēšana, pikseļu vērtības dalot ar 255.
– Modelis: Mēs definējam vienkāršu modeli ar diviem slāņiem. Pirmais slānis ir “Saplacināšanas” slānis, lai 2D attēlu pārveidotu 1D masīvā. Otrais slānis ir “Blīvs” slānis ar 128 neironiem un `relu` kā aktivācijas funkciju, bet pēdējais ir “Blīvs” slānis ar 10 neironiem, kas pārstāv 10 klases.
– Kompilēšana: Modeli kompilējam, izmantojot optimizētāju `adam` un zaudējumu funkciju `SparseCategoricalCrossentropy`.
– Apmācība: Apmācīt modeli 5 laikmetus.
– Novērtēt: Novērtēt modeli, salīdzinot to ar testa datiem.
6. Modeļu saglabāšana un ielāde
Pēc modeļa apmācības, iespējams, vēlēsities to saglabāt vēlākai lietošanai, neapmācot to atkārtoti. Lūk, kā saglabāt un ielādēt modeli:
"" Python
Modeļa saglabāšana
model.save('my_model.h5')
Notiek modeļa ielāde
new_model = tf.keras.models.load_model('mans_modelis.h5')
Ielādētā modeļa pārbaude
zudums, acc = new_model.evaluate(testa_attēli, testa_etiķetes)
print(f'Ielādētā modeļa precizitāte: {acc}')
“
Secinājums
Šajā rokasgrāmatā ir sniegts detalizēts ievads iesācējiem, lai sāktu darbu ar TensorFlow. Esam apskatījuši instalēšanu, tenzoru pamata darbības un vienkārša neironu tīkla modeļa izveidi, izmantojot MNIST datu kopu. TensorFlow piedāvā daudzas papildu iespējas, ko izpētīt, piemēram, uzlabotu datu apstrādi, sarežģītākus modeļus un TensorFlow izmantošanu tādās ierīcēs kā TPU un GPU. Mēs ceram, ka šī apmācība palīdzēs jums sākt darbu mašīnmācīšanās pasaulē ar TensorFlow.