Mafunzo kwa kutumia TensorFlow kwa wanaoanza

Mafunzo ya TensorFlow kwa Wanaoanza

TensorFlow ni mojawapo ya mifumo maarufu zaidi ya kujifunza kwa kina na kujifunza kwa mashine. Iliyoundwa na timu ya Google Brain, TensorFlow imetumika sana katika miradi mingi ya utafiti na matumizi ya viwanda. Makala haya yanatoa mafunzo ya hatua kwa hatua ili kukusaidia, kama mwanzilishi, kuanza na TensorFlow.

1. Kuelewa Misingi ya TensorFlow

Kabla hatujaanza kusakinisha na kutumia TensorFlow, ni muhimu kuelewa TensorFlow ni nini na dhana za msingi zilizo nyuma yake. TensorFlow ni mfumo huria wa kompyuta ya nambari na ujifunzaji wa mashine . Inatumia grafu za mtiririko wa data kufanya shughuli za nambari, ambapo nodi kwenye grafu zinawakilisha shughuli za hisabati, na kingo zinawakilisha safu za data zenye vipimo vingi (tensors) zilizounganishwa kati yao.

2. Usakinishaji wa TensorFlow

Hatua ya kwanza ya kutumia TensorFlow ni kuisakinisha. Hivi ndivyo jinsi ya kusakinisha TensorFlow kwa kutumia pip, meneja wa kifurushi cha Python.

1. Usakinishaji wa Python:
Hakikisha umesakinisha Python kwenye mfumo wako. TensorFlow inaendana na Python 3.6 hadi 3.9 wakati wa kuandika haya. Unaweza kupakua Python kutoka kwa tovuti rasmi ya Python.

2. Mazingira Pepe:
Inashauriwa sana kuunda mazingira pepe ili kutenganisha mradi wako wa TensorFlow:
"`sh
python -m venv myenv
chanzo myenv/bin/activate Kwa watumiaji wa Mac/Linux
myenv\Scripts\activate Kwa watumiaji wa Windows
""

3. Usakinishaji wa TensorFlow:
Sasa, sasisha TensorFlow kwa kutumia bomba:
"`sh
usakinishaji wa bomba la tensorflow
""

3. Hello World na TensorFlow

Sasa kwa kuwa TensorFlow imesakinishwa, hebu tuunde hati rahisi ya Python ili kuthibitisha usakinishaji. Unda faili mpya ya Python na uipe jina la `hello_tensorflow.py`.

``Chatu
import tensorflow kama tf

Unda kigezo kisichobadilika
hujambo = tf.constant('Habari, TensorFlow!')

Anza kipindi
na tf.Session() kama sess:
matokeo = sess.run(hello)
chapa (matokeo)
""

Rekebisha msimbo kulingana na toleo la 2.x la TensorFlow:

``Chatu
import tensorflow kama tf

Unda kigezo kisichobadilika
hujambo = tf.constant('Habari, TensorFlow!')

Endesha kwa kutumia utekelezaji wa hamu (kwa chaguo-msingi)
chapisha(hello.numpy())
""

Hifadhi faili, kisha endesha:
"`sh
python hello_tensorflow.py
""

4. Kuelewa Vipimajoto na Uendeshaji wa Msingi

Vipima ni muundo mkuu wa data katika TensorFlow, ambazo ni safu zenye vipimo vingi. Hapa kuna mifano kadhaa ya kukusaidia kuelewa vipima:

``Chatu
import tensorflow kama tf

Kuunda tensors
skala = tf. skala isiyobadilika(7)
vekta = tf. kigezo kisichobadilika([1, 2, 3]) vekta
matrix = tf. constant([[1, 2], [3, 4]]) matrix
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) tensor ya 3D

chapisha(f'Scalar: {scalar}')
chapisha(f'Vekta: {vekta}')
chapisha(f'Matrix: {matrix}')
chapisha(f'Tensor 3D: {tensor3d}')
""

Kufanya shughuli za msingi kwenye tensors:

``Chatu
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])

Operesheni ya kuongeza
ongeza = tf.ongeza(a, b)
Shughuli za kuzidisha matriki
mul = tf.matmul(a, b)

chapisha(f'Nyongeza: {ongeza}')
chapisha(f'Uzidishaji wa Matrix: {mul}')
""

5. Kuunda Mfumo Rahisi wa Mtandao wa Neva

Hatua inayofuata ni kuunda modeli rahisi ya mtandao wa neva. Tutaunda modeli ya uainishaji wa picha kwa kutumia seti ya data ya MNIST, hifadhidata ya picha za tarakimu zilizoandikwa kwa mkono. Tuanze:

``Chatu
import tensorflow kama tf
kutoka kwa tensorflow.keras kuingiza seti za data, tabaka, modeli

Inapakua seti ya data ya MNIST
(picha_za_treni, lebo_za_treni), (picha_za_majaribio, lebo_za_majaribio) = seti za data.mnist.load_data()

Urekebishaji wa picha
picha_za_treni, picha_za_majaribio = picha_za_treni / 255.0, picha_za_majaribio / 255.0

Kutengeneza modeli
modeli = modeli.Mfuatano([
tabaka. Bapa (umbo_la_pembejeo=(28, 28)),
tabaka.Mnene(128, uanzishaji='relu'),
tabaka. Zenye (10)
])

Mkusanyiko wa mifano
model.compile(optimizer='adam',
hasara=tf.keras.hasara.NdogoKategoriaMsalabaMsalaba(kutoka_logits=Kweli),
vipimo=['usahihi'])

Mafunzo ya modeli
model.fit(picha_za_treni, lebo_za_treni, epochs=5)

Kujaribu modeli
hasara_ya_mtihani, test_acc = modeli.tathmini(picha_za_mtihani, lebo_za_mtihani)
chapisha(f' Usahihi wa jaribio: {test_acc}')
""

Ufafanuzi:
– Seti za data: Tunaingiza na kupakia seti ya data ya MNIST.
– Kuchakata mapema: Rekebisha seti ya data kwa kugawanya thamani za pikseli kwa 255.
– Mfano: Tunafafanua mfano rahisi wenye tabaka mbili. Safu ya kwanza ni safu ya `Flatten` ili kubadilisha picha ya 2D kuwa safu ya 1D. Safu ya pili ni safu ya `Dense` yenye niuroni 128 na `relu` kama kitendakazi cha uanzishaji, na ya mwisho ni safu ya `Dense` yenye niuroni 10 zinazowakilisha madarasa 10.
– Kusanya: Tunakusanya modeli kwa kutumia kiboreshaji cha `adam` na `SparseCategoricalCrossentropy` kama chaguo la kukokotoa.
– Treni: Treni modeli kwa vipindi 5.
– Tathmini: Tathmini modeli dhidi ya data ya majaribio.

6. Mifumo ya Kuhifadhi na Kupakia

Baada ya kufunza modeli, unaweza kutaka kuihifadhi kwa matumizi ya baadaye bila kulazimika kuifunza tena. Hivi ndivyo jinsi ya kuhifadhi na kupakia modeli:

``Chatu
Kuhifadhi modeli
modeli.hifadhi('modeli_yangu.h5')

Inapakia modeli
mtindo_mpya = tf.keras.models.load_model('my_model.h5′)

Kuthibitisha modeli iliyopakiwa
hasara, acc = new_model.evaluate(picha_za_majaribio, lebo_za_majaribio)
print(f'Usahihi wa modeli iliyopakiwa: {acc}')
""

Hitimisho

Mwongozo huu unatoa utangulizi wa kina wa kuanza kutumia TensorFlow kwa wanaoanza. Tumeshughulikia usakinishaji, shughuli za msingi za tensor, na kujenga modeli rahisi ya mtandao wa neva kwa kutumia seti ya data ya MNIST. TensorFlow inatoa uwezo mwingi wa hali ya juu wa kuchunguza, kama vile usindikaji wa data wa hali ya juu , modeli ngumu zaidi, na kutumia TensorFlow kwenye vifaa kama TPU na GPU. Tunatumai mafunzo haya yatakusaidia kuanza katika ulimwengu wa kujifunza kwa mashine ukitumia TensorFlow.

Acha maoni