Tutorja bl-użu ta' TensorFlow għal dawk li jibdew

Tutorja ta' TensorFlow għal dawk li jibdew

TensorFlow huwa wieħed mill-aktar oqfsa popolari għat-tagħlim profond u t-tagħlim awtomatiku. Żviluppat mit-tim ta' Google Brain, TensorFlow intuża ħafna f'bosta proġetti ta' riċerka u applikazzjonijiet industrijali. Dan l-artiklu jipprovdi tutorja pass pass biex jgħinek, bħala Bidu, tibda b'TensorFlow.

1. Nifhmu l-Bażiċi ta' TensorFlow

Qabel ma nibdew ninstallaw u nużaw TensorFlow, huwa importanti li nifhmu x'inhu TensorFlow u l-kunċetti bażiċi warajh. TensorFlow huwa qafas open-source għall-komputazzjoni numerika u t-tagħlim awtomatiku . Juża graffs tal-fluss tad-dejta biex iwettaq operazzjonijiet numeriċi, fejn in-nodi fil-graff jirrappreżentaw operazzjonijiet matematiċi, u t-truf jirrappreżentaw matriċi tad-dejta multidimensjonali (tensors) konnessi bejniethom.

2. Installazzjoni ta' TensorFlow

L-ewwel pass fl-użu ta' TensorFlow huwa l-installazzjoni tiegħu. Ara kif tinstalla TensorFlow billi tuża pip, il-maniġer tal-pakketti Python.

1. Installazzjoni tal-Python:
Kun żgur li għandek Python installat fuq is-sistema tiegħek. TensorFlow huwa kompatibbli ma' Python 3.6 sa 3.9 fil-ħin tal-kitba ta' dan. Tista' tniżżel Python mill-websajt uffiċjali ta' Python.

2. Ambjent Virtwali:
Huwa rakkomandat ħafna li toħloq ambjent virtwali biex tiżola l-proġett TensorFlow tiegħek:
"`sh"
python -m venv myenv
sors myenv/bin/activate Għal utenti ta' Mac/Linux
myenv\Scripts\activate Għall-utenti tal-Windows
""

3. Installazzjoni ta' TensorFlow:
Issa, installa TensorFlow billi tuża pip:
"`sh"
pip install tensorflow
""

3. Bongu Dinja b'TensorFlow

Issa li TensorFlow huwa installat, ejja noħolqu skript sempliċi ta' Python biex nivverifikaw l-installazzjoni. Oħloq fajl Python ġdid u semmih `hello_tensorflow.py`.

"`python
importazzjoni tensorflow bħala tf

Oħloq kostanti
hello = tf.constant('Hello, TensorFlow!')

Ibda s-sessjoni
bit-tf.Session() bħala sess:
riżultat = sess.run(hello)
print(riżultat)
""

Adatta l-kodiċi skont it-TensorFlow verżjoni 2.x:

"`python
importazzjoni tensorflow bħala tf

Oħloq kostanti
hello = tf.constant('Hello, TensorFlow!')

Mexxi bl-użu ta' eżekuzzjoni ħerqana (mixgħula awtomatikament)
print(hello.numpy())
""

Issejvja l-fajl, imbagħad mexxi:
"`sh"
python hello_tensorflow.py
""

4. Nifhmu t-Tensuri u l-Operazzjonijiet Bażiċi

It-tensuri huma l-istruttura tad-dejta primarja f'TensorFlow, li huma matriċi multidimensjonali. Hawn huma xi eżempji biex jgħinuk tifhem it-tensuri:

"`python
importazzjoni tensorflow bħala tf

Il-ħolqien ta' tensuri
skalar = tf. kostanti(7) skalar
vettur = tf. kostanti([1, 2, 3]) vettur
matriċi = tf. kostanti([[1, 2], [3, 4]]) matriċi
tensor3d = tf.constant([[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) tensur 3D

ipprintja(f'Skalari: {skalari}')
ipprintja(f'Vector: {vettur}')
ipprintja(f'Matriċi: {matriċi}')
ipprintja(f'Tensor 3D: {tensor3d}')
""

Biex twettaq operazzjonijiet bażiċi fuq it-tensuri:

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

Operazzjoni ta' żieda
żid = tf.żid(a, b)
Operazzjonijiet ta' multiplikazzjoni matriċi
mul = tf.matmul(a, b)

ipprintja(f'Żieda: {żid}')
ipprintja(f'Multiplikazzjoni tal-Matriċi: {mul}')
""

5. Il-Ħolqien ta' Mudell ta' Netwerk Newrali Sempliċi

Il-pass li jmiss huwa li noħolqu mudell sempliċi ta' netwerk newrali. Se nibnu mudell ta' klassifikazzjoni tal-immaġni bl-użu tad-dataset MNIST, database ta' immaġni ta' numri miktuba bl-idejn. Ejja nibdew:

"`python
importazzjoni tensorflow bħala tf
minn tensorflow.keras importa settijiet ta' dejta, saffi, mudelli

Tniżżil tad-dataset tal-MNIST
(immaġini_tal-ferrovija, tikketti_tal-ferrovija), (immaġini_tat-test, tikketti_tat-test) = settijiet_ta'_dejta.mnist.tagħbija_dejta()

Normalizzazzjoni tal-immaġni
immaġini_tal-ferrovija, immaġini_tat-test = immaġini_tal-ferrovija / 255.0, immaġini_tat-test / 255.0

Nagħmlu mudell
mudell = mudelli.Sekwenzjali([
saffi.Iċċattja(input_shape=(28, 28)),
layers.Dens(128, activation='relu'),
saffi.Dens(10)
])

Kompilazzjoni tal-mudell
model.compile(optimizer='adam',
telf=tf.keras.telfiet.SparseCategoricalCrossentropy(minn_logits=Veru),
metriċi=['eżattezza'])

Taħriġ tal-mudell
model.fit(train_images, train_labels, epochs=5)

Ittestjar tal-mudell
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Preċiżjoni tat-test: {test_acc}')
""

Spjegazzjoni:
– Settijiet ta' dejta: Aħna nimportaw u ngħabbu d-dataset tal-MNIST.
– Preproċessar: Inormalizza d-dataset billi taqsam il-valuri tal-pixel b'255.
– Mudell: Niddefinixxu mudell sempliċi b'żewġ saffi. L-ewwel saff huwa saff `Flatten` biex jikkonverti l-immaġni 2D f'firxa 1D. It-tieni saff huwa saff `Dens` b'128 newron u `relu` bħala l-funzjoni ta' attivazzjoni, u l-aħħar huwa saff `Dens` b'10 newroni li jirrappreżentaw 10 klassijiet.
– Kumpilazzjoni: Aħna nikkompilaw il-mudell billi nużaw l-ottimizzatur `adam` u `SparseCategoricalCrossentropy` bħala l-funzjoni tat-telf.
– Ħarreġ: Ħarreġ il-mudell għal 5 epoki.
– Evalwa: Evalwa l-mudell mad-dejta tat-test.

6. Issejvjar u Tagħbija ta' Mudelli

Wara li tħarreġ mudell, tista' tkun trid issalvah għal użu aktar tard mingħajr ma jkollok terġa' tħarreġh. Ara kif issalva u tgħabbi mudell:

"`python
Is-salvataġġ tal-mudell
mudell.save('il-mudell_tiegħi.h5')

Mudell tat-tagħbija
mudell_ġdid = tf.keras.models.load_model('il-mudell_tiegħi.h5′)

Verifika tal-mudell mgħobbi
telf, akk = mudell_ġdid.evalwa(immaġini_tat-test, tikketti_tat-test)
print(f'Preċiżjoni tal-mudell mgħobbi: {acc}')
""

Konklużjoni

Din il-gwida tipprovdi introduzzjoni dettaljata dwar kif tibda tuża TensorFlow għal dawk li jibdew. Koprejna l-installazzjoni, l-operazzjonijiet bażiċi tat-tensor, u l-bini ta' mudell sempliċi ta' netwerk newrali bl-użu tad-dataset MNIST. TensorFlow joffri ħafna kapaċitajiet avvanzati biex tesplora, bħal ipproċessar avvanzat tad-dejta, mudelli aktar kumplessi, u l-użu ta' TensorFlow fuq apparati bħal TPUs u GPUs. Nittamaw li dan it-tutorja jgħinek tibda fid-dinja tat-tagħlim awtomatiku b'TensorFlow.

Ħalli kumment