Isifundo se-TensorFlow sabaqalayo
I-TensorFlow ingenye yezinhlaka ezidumile kakhulu zokufunda okujulile nokufunda komshini. Yasungulwa yithimba le-Google Brain, i-TensorFlow isetshenziswe kabanzi kumaphrojekthi amaningi ocwaningo kanye nezinhlelo zokusebenza zezimboni. Lesi sihloko sinikeza isifundo sesinyathelo ngesinyathelo ukukusiza, njengomqali, ukuthi uqale nge-TensorFlow.
1. Ukuqonda Izisekelo ze-TensorFlow
Ngaphambi kokuthi siqale ukufaka nokusebenzisa i-TensorFlow, kubalulekile ukuqonda ukuthi iyini i-TensorFlow kanye nemibono eyisisekelo ngemuva kwayo. I-TensorFlow iwuhlaka lomthombo ovulekile wokubala ngezinombolo kanye nokufunda komshini. Isebenzisa amagrafu okugeleza kwedatha ukwenza imisebenzi yezinombolo, lapho ama-node kugrafu emelela imisebenzi yezibalo, kanti imiphetho imelela ama-array edatha amaningi (ama-tensor) axhunywe phakathi kwawo.
2. Ukufakwa kwe-TensorFlow
Isinyathelo sokuqala sokusebenzisa i-TensorFlow ukuyifaka. Nansi indlela yokufaka i-TensorFlow usebenzisa i-pip, umphathi wephakheji ye-Python.
1. Ukufakwa kwePython:
Qiniseka ukuthi une-Python efakiwe ohlelweni lwakho. I-TensorFlow iyahambisana ne-Python 3.6 kuya ku-3.9 ngesikhathi sokubhala lokhu. Ungalanda i-Python kuwebhusayithi esemthethweni ye-Python.
2. Indawo Ebonakalayo:
Kunconywa kakhulu ukudala indawo ebonakalayo yokuhlukanisa iphrojekthi yakho ye-TensorFlow:
“`sh
i-python -m venv myenv
umthombo myenv/bin/activate Kwabasebenzisi be-Mac/Linux
myenv\Scripts\activate Kubasebenzisi beWindows
``
3. Ukufakwa kwe-TensorFlow:
Manje, faka i-TensorFlow usebenzisa ipayipi:
“`sh
pip ukufaka tensorflow
``
3. Sawubona Mhlaba ngeTensorFlow
Manje njengoba i-TensorFlow isifakiwe, ake sakhe iskripthi se-Python esilula ukuqinisekisa ukufakwa. Dala ifayela elisha le-Python bese uliqamba ngokuthi `hello_tensorflow.py`.
"`python
ngenisa i-tensorflow njenge-tf
Dala okungaguquki
sawubona = tf.constant('Sawubona, TensorFlow!')
Qala iseshini
nge-tf.Session() njenge-sess:
umphumela = sess.run(sawubona)
phrinta(umphumela)
``
Lungisa ikhodi ngokuya ngenguqulo ye-TensorFlow 2.x:
"`python
ngenisa i-tensorflow njenge-tf
Dala okungaguquki
sawubona = tf.constant('Sawubona, TensorFlow!')
Sebenzisa usebenzisa i-eeping execution (ngokuzenzakalelayo)
phrinta(sawubona.numpy())
``
Londoloza ifayela, bese usebenzisa:
“`sh
python hello_tensorflow.py
``
4. Ukuqonda Ama-Tensor kanye Nemisebenzi Eyisisekelo
Ama-tensor ayisakhiwo sedatha esiyinhloko ku-TensorFlow, okuyi-multidimensional arrays. Nazi ezinye izibonelo ezizokusiza ukuthi uqonde ama-tensor:
"`python
ngenisa i-tensorflow njenge-tf
Ukudala ama-tensor
i-scalar = i-tf. engaguquki (7) i-scalar
i-vector = i-tf. i-constant([1, 2, 3]) i-vector
i-matrix = tf. i-constant([[1, 2], [3, 4]]) i-matrix
i-tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) i-tensor ye-3D
phrinta(f'Scalar: {scalar}')
phrinta(f'Vektha: {vektha}')
phrinta(f'I-Matrix: {i-matrix}')
phrinta(f'Tensor 3D: {tensor3d}')
``
Ukwenza imisebenzi eyisisekelo kuma-tensor:
"`python
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Umsebenzi wokwengeza
engeza = tf.engeza(a, b)
Imisebenzi yokuphindaphinda kwe-matrix
mul = tf.matmul(a, b)
phrinta(f'Okungeziwe: {engeza}')
phrinta(f'Ukuphindaphinda kwe-Matrix: {mul}')
``
5. Ukudala Imodeli Yenethiwekhi Yezinzwa Elula
Isinyathelo esilandelayo ukudala imodeli elula yenethiwekhi ye-neural. Sizokwakha imodeli yokuhlukanisa izithombe sisebenzisa isethi yedatha ye-MNIST, isizindalwazi sezithombe zezinombolo ezibhalwe ngesandla. Ake siqale:
"`python
ngenisa i-tensorflow njenge-tf
kusuka ku-tensorflow.keras ukungenisa amasethi edatha, izendlalelo, amamodeli
Ukulanda isethi yedatha ye-MNIST
(izithombe_zesitimela, amalebula_esitimela), (izithombe_zokuhlola, amalebula_okuhlola) = amasethi edatha.mnist.load_data()
Ukwenziwa kwesithombe kube ngokwejwayelekile
izithombe_zesitimela, izithombe_zokuhlola = izithombe_zesitimela / 255.0, izithombe_zokuhlola / 255.0
Ukwenza imodeli
imodeli = amamodeli.Okulandelanayo([
izendlalelo.Ithambe (input_shape=(28, 28)),
izendlalelo.Kuminyene(128, activation='relu'),
izendlalelo. Eziqinile(10)
])
Ukuhlanganiswa kwemodeli
imodeli.hlanganisa(optimizer='adam',
ukulahlekelwa=tf.keras.ukulahlekelwa.OkuncaneIsigabaI-Crossentropy(from_logits=True),
amamethrikhi=['ukunemba'])
Ukuqeqesha imodeli
model.fit(izithombe_zesitimela, amalebula_esitimela, ama-epoch=5)
Ukuhlola imodeli
ukulahleka_kokuhlolwa, i-test_acc = imodeli.ukuhlola(izithombe_zokuhlolwa, amalebula_okuhlolwa)
phrinta(f'Ukunemba kokuhlola: {test_acc}')
``
Incazelo:
– Amasethi edatha: Singenisa futhi silayishe isethi yedatha ye-MNIST.
– Ukucubungula kwangaphambili: Lungisa isethi yedatha ngokuhlukanisa amanani ephikseli ngo-255.
– Imodeli: Sichaza imodeli elula enezendlalelo ezimbili. Isendlalelo sokuqala yisendlalelo esithi `Flatten` sokuguqula isithombe se-2D sibe yi-array engu-1D. Isendlalelo sesibili yisendlalelo esithi `Dense` esinama-neurons angu-128 kanye ne-`relu` njengomsebenzi wokwenza kusebenze, kanti esokugcina yisendlalelo esithi `Dense` esinama-neurons angu-10 amele amakilasi angu-10.
– Ukuhlanganisa: Sihlanganisa imodeli sisebenzisa i-`adam` optimizer kanye ne-`SparseCategoricalCrossentropy` njengomsebenzi wokulahlekelwa.
– Isitimela: Qeqesha imodeli izikhathi ezi-5.
– Hlola: Hlola imodeli uma iqhathaniswa nedatha yokuhlola.
6. Amamodeli Okulondoloza Nokulayisha
Ngemva kokuqeqesha imodeli, ungase ufune ukuyilondoloza ukuze uyisebenzise kamuva ngaphandle kokuyiqeqesha kabusha. Nansi indlela yokulondoloza nokulayisha imodeli:
"`python
Ukulondoloza imodeli
model.save('my_model.h5')
Imodeli yokulayisha
imodeli_entsha = tf.keras.models.load_model('my_model.h5′)
Ukuqinisekisa imodeli elayishiwe
ukulahlekelwa, i-acc = imodeli_entsha.hlola(izithombe_zokuhlola, amalebula_okuhlola)
print(f'Ukunemba kwemodeli elayishiwe: {acc}')
``
Isiphetho
Lo mhlahlandlela unikeza isingeniso esinemininingwane sokuqala nge-TensorFlow kwabaqalayo. Simboze ukufakwa, imisebenzi eyisisekelo ye-tensor, kanye nokwakha imodeli yenethiwekhi ye-neural elula sisebenzisa isethi yedatha ye-MNIST. I-TensorFlow inikeza amakhono amaningi athuthukile okuhlola, njengokucubungula idatha okuthuthukisiwe, amamodeli ayinkimbinkimbi kakhulu, kanye nokusebenzisa i-TensorFlow kumadivayisi afana ne-TPU nama-GPU. Sithemba ukuthi lesi sifundo sizokusiza ukuthi uqalise ezweni lokufunda komshini nge-TensorFlow.