Tutorial TensorFlow pentru începători
TensorFlow este unul dintre cele mai populare framework-uri pentru deep learning și machine learning. Dezvoltat de echipa Google Brain, TensorFlow a fost utilizat pe scară largă în numeroase proiecte de cercetare și aplicații industriale. Acest articol oferă un tutorial pas cu pas pentru a vă ajuta, ca începători, să începeți să utilizați TensorFlow.
1. Înțelegerea elementelor de bază ale TensorFlow
Înainte de a începe instalarea și utilizarea TensorFlow, este important să înțelegem ce este TensorFlow și conceptele de bază din spatele său. TensorFlow este un framework open-source pentru calcul numeric și învățare automată. Folosește grafice de flux de date pentru a efectua operații numerice, unde nodurile din grafic reprezintă operații matematice, iar muchiile reprezintă tablouri de date multidimensionale (tensori) conectate între ele.
2. Instalarea TensorFlow
Primul pas în utilizarea TensorFlow este instalarea acestuia. Iată cum se instalează TensorFlow folosind pip, managerul de pachete Python.
1. Instalare Python:
Asigurați-vă că aveți Python instalat pe sistemul dvs. TensorFlow este compatibil cu Python 3.6 până la 3.9 la momentul scrierii acestui articol. Puteți descărca Python de pe site-ul oficial Python.
2. Mediu virtual:
Este foarte recomandat să creați un mediu virtual pentru a izola proiectul TensorFlow:
„`sh
python -m venv myenv
sursă myenv/bin/activate Pentru utilizatorii de Mac/Linux
myenv\Scripts\activate Pentru utilizatorii de Windows
„`
3. Instalarea TensorFlow:
Acum, instalează TensorFlow folosind pip:
„`sh
pip install tensorflow
„`
3. Salut lume cu TensorFlow
Acum că TensorFlow este instalat, haideți să creăm un script Python simplu pentru a verifica instalarea. Creați un nou fișier Python și denumiți-l `hello_tensorflow.py`.
„`python
import tensorflow ca tf
Creați o constantă
salut = tf.constant('Salut, TensorFlow!')
Începeți sesiunea
cu tf.Session() ca sess:
rezultat = sess.run(hello)
imprimare (rezultat)
„`
Adaptați codul conform versiunii 2.x a TensorFlow:
„`python
import tensorflow ca tf
Creați o constantă
salut = tf.constant('Salut, TensorFlow!')
Executare prin execuție nerăbdătoare (activată implicit)
print(hello.numpy())
„`
Salvați fișierul, apoi executați:
„`sh
python hello_tensorflow.py
„`
4. Înțelegerea tensorilor și a operațiilor de bază
Tensorii sunt structura principală de date în TensorFlow, care sunt tablouri multidimensionale. Iată câteva exemple care vă vor ajuta să înțelegeți tensorii:
„`python
import tensorflow ca tf
Crearea tensorilor
scalar = tf. constant(7) scalar
vector = tf. constant([1, 2, 3]) vector
matrice = tf. constant([[1, 2], [3, 4]]) matrice
tensor3d = tf.constant([[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) tensor 3D
tipărire(f'Scalar: {scalar}')
tipărire(f'Vector: {vector}')
tipărire(f'Matrice: {matrice}')
tipărire(f'Tensor 3D: {tensor3d}')
„`
Pentru a efectua operații de bază asupra tensorilor:
„`python
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Operație de adunare
add = tf.add(a, b)
Operații de înmulțire a matricelor
mul = tf.matmul(a, b)
print(f'Adunare: {add}')
print(f'Înmulțirea Matricei: {mul}')
„`
5. Crearea unui model simplu de rețea neuronală
Următorul pas este crearea unui model simplu de rețea neuronală. Vom construi un model de clasificare a imaginilor folosind setul de date MNIST, o bază de date cu imagini cu cifre scrise de mână. Să începem:
„`python
import tensorflow ca tf
din tensorflow.keras importă seturi de date, straturi, modele
Descărcarea setului de date MNIST
(imagini_tren, etichete_tren), (imagini_test, etichete_test) = seturi_de_date.mnist.load_data()
Normalizarea imaginii
imagini_tren, imagini_test = imagini_tren / 255.0, imagini_test / 255.0
Realizarea unui model
model = modele.Secvențial([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
straturi.Dens(10)
])
Compilarea modelului
model.compile(optimizer='adam',
pierdere=tf.keras.pierderi.EntropieCrosatăCategoricăRară(din_logits=Adevărat),
metrics=['acuratețe'])
Antrenarea modelului
model.fit(train_images, train_labels, epochs=5)
Testarea modelului
pierdere_test, test_acc = model.evaluate(imagini_test, etichete_test)
print(f'Precizia testului: {test_acc}')
„`
Explicaţie:
– Seturi de date: Importăm și încărcăm setul de date MNIST.
– Preprocesare: Normalizarea setului de date prin împărțirea valorilor pixelilor la 255.
– Model: Definim un model simplu cu două straturi. Primul strat este un strat „Flatten” pentru a converti imaginea 2D într-o matrice 1D. Al doilea strat este un strat „Dens” cu 128 de neuroni și „relu” ca funcție de activare, iar ultimul este un strat „Dens” cu 10 neuroni reprezentând 10 clase.
– Compilare: Compilăm modelul folosind optimizatorul `adam` și `SparseCategoricalCrossentropy` ca funcție de pierdere.
– Antrenare: Antrenează modelul pentru 5 epoci.
– Evaluare: Evaluează modelul în raport cu datele de testare.
6. Salvarea și încărcarea modelelor
După antrenarea unui model, este posibil să doriți să îl salvați pentru utilizare ulterioară, fără a fi nevoie să îl antrenați din nou. Iată cum puteți salva și încărca un model:
„`python
Salvarea modelului
model.save('my_model.h5')
Încărcarea modelului
model_nou = tf.keras.models.load_model('modelul_meu.h5′)
Verificarea modelului încărcat
pierdere, acc = model_nou.evaluate(imagini_test, etichete_test)
print(f'Precizia modelului încărcat: {acc}')
„`
Concluzie
Acest ghid oferă o introducere detaliată pentru a începe să utilizați TensorFlow pentru începători. Am acoperit instalarea, operațiile tensoriale de bază și construirea unui model simplu de rețea neuronală folosind setul de date MNIST. TensorFlow oferă multe capabilități avansate de explorat, cum ar fi procesarea avansată a datelor, modele mai complexe și utilizarea TensorFlow pe dispozitive precum TPU-uri și GPU-uri. Sperăm că acest tutorial vă va ajuta să începeți în lumea învățării automate cu TensorFlow.