Výukový program TensorFlow pre začiatočníkov
TensorFlow je jeden z najpopulárnejších frameworkov pre hlboké učenie a strojové učenie. TensorFlow, vyvinutý tímom Google Brain, sa široko používa v mnohých výskumných projektoch a priemyselných aplikáciách. Tento článok poskytuje podrobný návod, ktorý vám ako začiatočníkovi pomôže začať s TensorFlow.
1. Pochopenie základov TensorFlow
Predtým, ako začneme s inštaláciou a používaním TensorFlow, je dôležité pochopiť, čo TensorFlow je a aké sú základné koncepty, ktoré sa za ním skrývajú. TensorFlow je open-source framework pre numerické výpočty a strojové učenie. Na vykonávanie numerických operácií používa grafy toku dát, kde uzly v grafe predstavujú matematické operácie a hrany predstavujú viacrozmerné dátové polia (tenzory) medzi nimi prepojené.
2. Inštalácia TensorFlow
Prvým krokom pri používaní TensorFlow je jeho inštalácia. Tu je postup, ako nainštalovať TensorFlow pomocou pip, správcu balíkov Pythonu.
1. Inštalácia Pythonu:
Uistite sa, že máte v systéme nainštalovaný Python. TensorFlow je v čase písania tohto článku kompatibilný s Pythonom 3.6 až 3.9. Python si môžete stiahnuť z oficiálnej webovej stránky Pythonu.
2. Virtuálne prostredie:
Dôrazne sa odporúča vytvoriť virtuálne prostredie na izoláciu vášho projektu TensorFlow:
„š“
pytón -m venv myenv
zdroj myenv/bin/activate Pre používateľov Mac/Linux
myenv\Scripts\activate Pre používateľov systému Windows
"`
3. Inštalácia TensorFlow:
Teraz nainštalujte TensorFlow pomocou pip:
„š“
pip install tensorflow
"`
3. Ahoj svet s TensorFlow
Teraz, keď je TensorFlow nainštalovaný, vytvorme jednoduchý skript v jazyku Python na overenie inštalácie. Vytvorte nový súbor v jazyku Python a pomenujte ho `hello_tensorflow.py`.
"Python."
importovať tensorflow ako tf
Vytvorte konštantu
ahoj = tf.constant('Ahoj, TensorFlow!')
Začať reláciu
s tf.Session() ako sess:
výsledok = sess.run(ahoj)
vytlačiť (výsledok)
"`
Upravte kód podľa TensorFlow verzie 2.x:
"Python."
importovať tensorflow ako tf
Vytvorte konštantu
ahoj = tf.constant('Ahoj, TensorFlow!')
Spustiť s použitím funkcie Eager Execution (predvolene zapnuté)
tlač(hello.numpy())
"`
Uložte súbor a potom spustite:
„š“
python hello_tensorflow.py
"`
4. Pochopenie tenzorov a základných operácií
Tenzory sú primárnou dátovou štruktúrou v TensorFlow a sú to viacrozmerné polia. Tu je niekoľko príkladov, ktoré vám pomôžu pochopiť tenzory:
"Python."
importovať tensorflow ako tf
Vytváranie tenzorov
skalár = tf. skalárna konštanta(7)
vektor = tf.konštanta([1, 2, 3]) vektor
matica = tf.konštanta([[1, 2], [3, 4]]) matica
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D tenzor
print(f'Skalár: {skalár}')
print(f'Vektor: {vektor}')
print(f'Matica: {matica}')
print(f'Tensor 3D: {tensor3d}')
"`
Vykonávanie základných operácií s tenzormi:
"Python."
a = tf.konštanta([[1, 2], [3, 4]])
b = tf.konštanta([[5, 6], [7, 8]])
Operácia sčítania
pridať = tf.pridať(a, b)
Operácie násobenia matíc
mul = tf.matmul(a, b)
print(f'Sčítanie: {pridať}')
print(f'Násobenie matíc: {mul}')
"`
5. Vytvorenie jednoduchého modelu neurónovej siete
Ďalším krokom je vytvorenie jednoduchého modelu neurónovej siete. Vytvoríme model klasifikácie obrázkov pomocou súboru údajov MNIST, databázy obrázkov ručne písaných číslic. Začnime:
"Python."
importovať tensorflow ako tf
z tensorflow.keras importovať súbory údajov, vrstvy, modely
Sťahovanie súboru údajov MNIST
(obrázky_vlaku, popisky_vlaku), (testovacie_obrázky, testovacie_popisky) = datasets.mnist.load_data()
Normalizácia obrazu
vlakové_obrázky, testovacie_obrázky = vlakové_obrázky / 255.0, testovacie_obrázky / 255.0
Vytvorenie modelu
model = modely.Sekvenčné([
vrstvy.Zploštiť(vstupný_tvar=(28, 28)),
vrstvy.Hustý(128, aktivácia='relu'),
vrstvy.Husté(10)
])
Kompilácia modelu
model.compile(optimalizátor='adam',
strata=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metriky=['presnosť'])
Trénovanie modelu
model.fit(obrázky_vlakov, štítky_vlakov, epochy=5)
Testovanie modelu
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Presnosť testu: {test_acc}')
"`
Penjelasan:
– Dátové súbory: Importujeme a načítame dátový súbor MNIST.
– Predspracovanie: Normalizovať súbor údajov vydelením hodnôt pixelov číslom 255.
– Model: Definujeme jednoduchý model s dvoma vrstvami. Prvá vrstva je vrstva „Flatten“ na konverziu 2D obrazu do 1D poľa. Druhá vrstva je vrstva „Dense“ so 128 neurónmi a aktivačnou funkciou „relu“ a posledná je vrstva „Dense“ s 10 neurónmi predstavujúcimi 10 tried.
– Kompilácia: Model skompilujeme pomocou optimalizátora `adam` a `SparseCategoricalCrossentropy` ako stratovej funkcie.
– Trénovanie: Trénovanie modelu počas 5 epoch.
– Vyhodnotenie: Vyhodnotenie modelu oproti testovacím údajom.
6. Ukladanie a načítavanie modelov
Po natrénovaní modelu ho možno budete chcieť uložiť na neskoršie použitie bez toho, aby ste ho museli znova trénovať. Tu je postup, ako uložiť a načítať model:
"Python."
Uloženie modelu
model.save('my_model.h5')
Načítava sa model
nový_model = tf.keras.models.načítať_model('my_model.h5')
Overenie načítaného modelu
strata, acc = new_model.evaluate(testovacie_obrázky, testovacie_štítky)
print(f'Presnosť načítaného modelu: {acc}')
"`
Záver
Táto príručka poskytuje podrobný úvod do práce s TensorFlow pre začiatočníkov. Prebrali sme inštaláciu, základné operácie s tenzormi a vytvorenie jednoduchého modelu neurónovej siete pomocou súboru údajov MNIST. TensorFlow ponúka mnoho pokročilých funkcií, ako napríklad pokročilé spracovanie údajov, zložitejšie modely a používanie TensorFlow na zariadeniach, ako sú TPU a GPU. Dúfame, že vám tento návod pomôže začať so svetom strojového učenia s TensorFlow.