TensorFlow-opplæring for nybegynnere
TensorFlow er et av de mest populære rammeverkene for dyp læring og maskinlæring. TensorFlow er utviklet av Google Brain-teamet og har blitt mye brukt i en rekke forskningsprosjekter og industrielle applikasjoner. Denne artikkelen gir en trinnvis veiledning som hjelper deg som nybegynner med å komme i gang med TensorFlow.
1. Forstå det grunnleggende om TensorFlow
Før vi begynner å installere og bruke TensorFlow, er det viktig å forstå hva TensorFlow er og de grunnleggende konseptene bak det. TensorFlow er et åpen kildekode-rammeverk for numerisk beregning og maskinlæring. Det bruker dataflytgrafer til å utføre numeriske operasjoner, der noder i grafen representerer matematiske operasjoner, og kanter representerer flerdimensjonale datamatriser (tensorer) koblet mellom dem.
2. TensorFlow-installasjon
Det første trinnet i å bruke TensorFlow er å installere det. Slik installerer du TensorFlow ved hjelp av pip, pakkebehandleren for Python.
1. Python-installasjon:
Sørg for at du har Python installert på systemet ditt. TensorFlow er kompatibel med Python 3.6 til 3.9 i skrivende stund. Du kan laste ned Python fra det offisielle Python-nettstedet.
2. Virtuelt miljø:
Det anbefales på det sterkeste å opprette et virtuelt miljø for å isolere TensorFlow-prosjektet ditt:
"'sh
python -m venv myenv
kildekode myenv/bin/activate For Mac/Linux-brukere
myenv\Scripts\activate For Windows-brukere
“
3. TensorFlow-installasjon:
Installer nå TensorFlow ved hjelp av pip:
"'sh
pip installer tensorflow
“
3. Hallo verden med TensorFlow
Nå som TensorFlow er installert, la oss lage et enkelt Python-skript for å bekrefte installasjonen. Opprett en ny Python-fil og gi den navnet `hello_tensorflow.py`.
"Python
importer tensorflow som tf
Lag en konstant
hallo = tf.constant('Hallo, TensorFlow!')
Start økten
med tf.Session() som sess:
resultat = sess.run(hallo)
print (resultat)
“
Tilpass koden i henhold til TensorFlow versjon 2.x:
"Python
importer tensorflow som tf
Lag en konstant
hallo = tf.constant('Hallo, TensorFlow!')
Kjør med eager execution (på som standard)
print(hallo.numpy())
“
Lagre filen, og kjør deretter:
"'sh
python hello_tensorflow.py
“
4. Forstå tensorer og grunnleggende operasjoner
Tensorer er den primære datastrukturen i TensorFlow, som er flerdimensjonale matriser. Her er noen eksempler som kan hjelpe deg å forstå tensorer:
"Python
importer tensorflow som tf
Å lage tensorer
skalar = tf. konstant(7) skalar
vektor = tf. konstant([1, 2, 3]) vektor
matrise = tf. konstant([[1, 2], [3, 4]]) matrise
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D-tensor
print(f'Skalar: {skalar}')
print(f'Vektor: {vektor}')
print(f'Matrise: {matrise}')
print(f'Tensor 3D: {tensor3d}')
“
For å utføre grunnleggende operasjoner på tensorer:
"Python
a = tf.constant([[1, 2], [3, 4]])
b = tf.konstant([[5, 6], [7, 8]])
Addisjonsoperasjon
legg til = tf.legg til(a, b)
Matrisemultiplikasjonsoperasjoner
mul = tf.matmul(a, b)
print(f'Tillegg: {legg til}')
print(f'Matrisemultiplikasjon: {mul}')
“
5. Lage en enkel nevral nettverksmodell
Neste trinn er å lage en enkel modell for nevrale nettverk. Vi skal bygge en modell for bildeklassifisering ved hjelp av MNIST-datasettet, en database med håndskrevne sifferbilder. La oss komme i gang:
"Python
importer tensorflow som tf
importer datasett, lag og modeller fra tensorflow.keras
Laster ned MNIST-datasettet
(togbilder, togetiketter), (testbilder, testetiketter) = datasett.mnist.last inn_data()
Bildenormalisering
togbilder, testbilder = togbilder / 255.0, testbilder / 255.0
Å lage en modell
modell = modeller.Sekvensiell([
lag.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
lag.Tett(10)
])
Modellkompilering
modell.kompilere(optimaliserer='adam',
tap=tf.keras.tap.SparseCategoricalCrossentropy(from_logits=True),
metrics=['nøyaktighet'])
Trene modellen
modell.fit(togbilder, togetiketter, epoker=5)
Testing av modellen
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Testnøyaktighet: {test_acc}')
“
Forklaring:
– Datasett: Vi importerer og laster inn MNIST-datasettet.
– Forbehandling: Normaliser datasettet ved å dele pikselverdiene med 255.
– Modell: Vi definerer en enkel modell med to lag. Det første laget er et «Flatten»-lag for å konvertere 2D-bildet til en 1D-matrise. Det andre laget er et «Dense»-lag med 128 nevroner og «relu» som aktiveringsfunksjon, og det siste er et «Dense»-lag med 10 nevroner som representerer 10 klasser.
– Kompilering: Vi kompilerer modellen ved hjelp av `adam`-optimalisatoren og `SparseCategoricalCrossentropy` som tapsfunksjon.
– Tren: Tren modellen i 5 epoker.
– Evaluer: Evaluer modellen mot testdata.
6. Lagre og laste inn modeller
Etter at du har trent en modell, kan det være lurt å lagre den for senere bruk uten å måtte trene den på nytt. Slik lagrer og laster du en modell:
"Python
Lagre modellen
modell.lagre('min_modell.h5')
Laster inn modell
ny_modell = tf.keras.models.load_model('min_modell.h5')
Verifiserer den lastede modellen
tap, akk = ny_modell.evaluere(test_bilder, test_etiketter)
print(f'Nøyaktighet av lastet modell: {acc}')
“
Konklusjon
Denne veiledningen gir en detaljert introduksjon til å komme i gang med TensorFlow for nybegynnere. Vi har dekket installasjon, grunnleggende tensoroperasjoner og bygging av en enkel nevral nettverksmodell ved hjelp av MNIST-datasettet. TensorFlow tilbyr mange avanserte funksjoner å utforske, for eksempel avansert databehandling, mer komplekse modeller og bruk av TensorFlow på enheter som TPU-er og GPU-er. Vi håper denne veiledningen hjelper deg med å komme i gang i maskinlæringens verden med TensorFlow.