TensorFlow ndi chida chosunthika chopanga mitundu yophunzirira makina.
Mu positi iyi, tiwona momwe tingapangire makina ozindikira nkhope ndi TensorFlow, njira yophunzirira makina otseguka. Tidzayang'ana njira zofunika popanga njira yodziwika bwino yozindikiritsa nkhope, kuyambira pakusonkhanitsa ndikukonzekera deta kuti tiphunzitse ndi kuyesa chitsanzo.
Mudzakhala ndi chidziwitso choyamba ndi TensorFlow kuti mupange kuzindikira kumaso mothandizidwa ndi ma code ndi zitsanzo zenizeni. Mwalandiridwa kuti muzitsatira pamene tikupitiriza.
Kuyamba kwa TensorFlow
TensorFlow ndi laibulale yaulere komanso yotseguka. Ndi bokosi lophiphiritsira la masamu lomwe limagwiritsa ntchito dataflow ndi mapulogalamu osiyanitsa. Mutha kugwira nawo ntchito zingapo, kuphatikiza zakuya neural network maphunziro.
TensorFlow ndi yamphamvu komanso yosinthika. Momwemonso, ndi chida chachikulu pakukulitsa ndi kugwiritsa ntchito makina ophunzirira makina. Mutha kupanga mitundu yovuta yokhala ndi zigawo zingapo ndi ma tensor. Komanso, zitsanzo zomangidwa kale mu laibulale zitha kukonzedwa bwino pazosowa zenizeni.
Kuphatikiza apo, TensorFlow ili ndi gulu lalikulu la ogwiritsa ntchito. Chifukwa chake, pali zambiri zambiri komanso thandizo kwa anthu omwe ali atsopano papulatifomu.
TensorFlow ndiyotchuka makina kuphunzira pang'ono chifukwa imapereka mayendedwe omaliza mpaka kumapeto. Chifukwa chake, mutha kupanga mosavuta, kuphunzitsa ndi kutumiza zitsanzo. Amapereka zida ndi njira zowongolerera ndikukweza mamofolomu kuti agwirizane ndi zomwe mukufuna. Zimasiyana kuchokera ku data pre-processing to model deployment.
Kodi Face Recognition ndi chiyani?
Kuzindikira nkhope ndi a masomphenya a makompyuta ntchito yomwe imazindikiritsa chizindikiritso cha munthu potengera nkhope yake. Njira imeneyi imazindikira makhalidwe a nkhope, monga mmene maso, mphuno, ndi pakamwa amaonekera.
Ndipo, imawayerekeza ndi nkhokwe ya nkhope zodziwika kuti adziwe machesi. Kuzindikira nkhope kuli ndi ntchito zingapo, kuphatikiza machitidwe achitetezo, kukonza zithunzi, ndi kutsimikizira kwa biometric.
Kulondola kwa ma algorithms ozindikira nkhope kwakula kwambiri m'zaka zaposachedwa chifukwa cha kupambana kwa kuphunzira pamakina.
Kuitanitsa Ma library Ofunikira
Tisanayambe chilichonse, tiyenera kuitanitsa malaibulale ofunikira pa chitsanzo chathu. Tensorflow (tf) imatumizidwa kunja ndikugwiritsidwa ntchito kupanga ndi kuphunzitsa chitsanzo. <(p>
"numpy" amachita masamu masamu ndi processing deta.
"matplotlib.pyplot" imatumizidwa kunja ngati plt ndikugwiritsidwa ntchito ma chart chart ndi mawonedwe.
Pomaliza, "kutengera anthu lfw" amatumizidwa kuchokera ku sklearn. ma dataset ndi kugwiritsidwa ntchito kuyika dataset yozindikira nkhope. Ntchitoyi ndi gawo la zida za scikit-lern. Chifukwa cha ntchitoyi sitinafunikire kukweza gulu lina la data. Izi zidamangidwa kale mu skit-lern.
Ndipo, zimakupatsani mwayi wofikira kumitundu yambiri ma datasets ophunzirira makina mapulogalamu. Munkhaniyi, timagwiritsa ntchito njira ya fetch lfw anthu kuti titengenso datati ya "Labeled Faces in the Wild" (LFW). Zili ndi zithunzi za nkhope za anthu komanso zilembo zomwe zimapita nawo.
Ma library awa ndi ofunikira kwambiri pakukhazikitsa ndi kuwunika kwa mawonekedwe athu ozindikira nkhope.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt from sklearn.datasets
import fetch_lfw_people
Kukonza ndi Kukweza Face Recognition Dataset
Mugawoli, timagwiritsa ntchito "kuchotsa anthu" kuti tikonzeretu data yozindikira nkhope. Choyamba, timagwiritsa ntchito kutengera anthu lfw ndi kusankha "min faces pa munthu=60". Izi zikusonyeza kuti tikungofuna kuphatikiza anthu omwe ali ndi zithunzi zosachepera 60. Choncho, timaonetsetsa kuti chitsanzo chathu chili ndi deta yokwanira kuti tiphunzire. Komanso, izi zimachepetsa chiopsezo cha kuchulukirachulukira.
Deta ndi zolemba kuchokera ku chinthu cha nkhope zimachotsedwa ndikuperekedwa kumitundu X ndi y. X ku.
Tsopano ndife okonzeka kuphunzitsa chitsanzo chathu chozindikiritsa nkhope pogwiritsa ntchito deta ndi zilembo zomwe zidakonzedweratu.
faces = fetch_lfw_people(min_faces_per_person=60)
X = faces.data
y = faces.target
target_names = faces.target_names
Kugawanitsa Maphunziro ndi Seti Zoyeserera
Mu sitepe iyi, timagawanitsa deta yathu yozindikiritsa nkhope m'magawo awiri pogwiritsa ntchito njira yogawa mayeso a sitima kuchokera pa kusankha sklearn.model. Cholinga cha kugawanika uku ndikuwunika momwe chitsanzo chathu chimagwirira ntchito pambuyo pa maphunziro
Ntchito yogawanitsa masitima apamtunda imavomereza ngati data yolowera X ndi zilembo y. Ndipo, amawagawanitsa mu maphunziro ndi ma seti oyesera. Timasankha kuyesa kukula = 0.2 mu chitsanzo ichi. Izi zikutanthauza kuti 20% ya deta idzagwiritsidwa ntchito ngati mayeso ndipo 80% idzagwiritsidwa ntchito ngati maphunziro. Kuphatikiza apo, timagwiritsa ntchito chisawawa state=42 kuwonetsetsa kuti deta imagawidwa mosasintha nthawi iliyonse code ikachitika.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Kukonzekera Deta
Cholinga cha preprocessing deta ndi kukonzekera kulowa mu chitsanzo. Zambiri zimakonzedweratu mu code iyi pogawa mfundo iliyonse ndi 255.
N’chiyani chinatilimbikitsa kuchita zimenezi? Normalization ndi njira yosinthira yomwe imagwiritsidwa ntchito pophunzira makina kuti zitsimikizire kuti zonse zili pamlingo womwewo. Munkhaniyi, kugawa ndi 255 sikelo ya data kuchokera pa 0 mpaka 1, yomwe ndi gawo lokhazikika lachidziwitso cha data.
Izi zimafulumizitsa kuphatikizika kwachitsanzocho ndipo zimatha kuwonjezera magwiridwe ake.
X_train = X_train / 255.0
X_test = X_test / 255.0
Kupanga Mode
Tikufuna kudziwa munthu amene nkhope yake ikuwoneka pachithunzi. Pankhaniyi, tidzagwiritsa ntchito intaneti yolumikizidwa kwathunthu, yomwe nthawi zambiri imadziwika kuti network yolimba. Ndi neural network yochita kupanga yomwe idagwiritsidwa ntchito popanga chitsanzocho.
Ma neural network opangira amapangidwa motengera momwe ubongo wamunthu umagwirira ntchito ndikulinganiza. Amapangidwa ndi mfundo zopangira chidziwitso kapena ma neurons omwe amalumikizidwa. Neuron iliyonse mumzere wowundana imalumikizidwa ndi neuroni iliyonse yomwe ili pamwamba pake.
Chitsanzocho chili ndi zigawo zinayi mu code iyi. Kuti zidyetsedwe mu gawo lotsatira, deta yolowetsayo imaphwanyidwa mu gawo loyamba kukhala gawo limodzi. Ma neurons a 128 ndi 64 m'magawo awiri otsatirawa, motero, amalumikizana kwathunthu.
Ntchito yotsegulira ya ReLU ndi ntchito yapadera yotsegulira yomwe imagwiritsidwa ntchito ndi zigawo izi. Ndi izi, titha kupeza chitsanzocho kuti tiphunzire kulumikizana kosagwirizana pakati pa zolowetsa ndi zotuluka. Gawo lomaliza limagwiritsa ntchito softmax activation kuti alosere. Ndipo, ndi gawo lolumikizidwa kwathunthu lomwe lili ndi ma neuron ambiri momwe pali magulu otheka.
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(62 * 47,)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(len(target_names), activation='softmax')
])
Kupanga Chitsanzo
Chitsanzocho chimapangidwa pogwiritsa ntchito "kuphatikiza". Tiyenera kukonzekera chitsanzo cha maphunziro. Chifukwa chake, tifotokozera za optimizer, ntchito yotayika, ndi ma metrics omwe adzagwiritsidwe ntchito kuyesa mtunduwo.
Pa maphunziro, optimizer ndi udindo kusintha magawo chitsanzo. "Adam" optimizer ndi njira yotchuka yophunzirira mwakuya.
Timagwiritsa ntchito ntchito yotayika kuti tiwunikire momwe chitsanzocho chikugwirira ntchito pa data yophunzitsira. Chifukwa zilembo zomwe mukufuna ndizomwe zikuwonetsa gulu lachithunzicho m'malo mokhala ndi ma encoded vector imodzi, ntchito yotayika ya "sparse categorical crossentropy" ndiyabwino.
Pomaliza, timatanthauzira ma metric owunika chitsanzo, munkhaniyi, "kulondola".
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Maphunziro a Chitsanzo
Tidzagwiritsa ntchito "zoyenera" kuphunzitsa chitsanzo.
Tidzakhala tikupereka deta yophunzitsira (X sitima) ndi malemba okhudzana (y train), komanso kuika chiwerengero cha epochs (kubwereza) kuti tiyende ngati 10. Njira yophunzitsira imasintha zolemera zachitsanzo kuti zichepetse kutaya (kusiyana pakati pa zonenedweratu ndi zolemba zenizeni) ndikuwongolera kulondola kwa data yophunzitsira.
model.fit(X_train, y_train, epochs=10)
Kuwunika kwachitsanzo
Tsopano, tiyenera kuyesa chitsanzo chophunzitsidwa pa data yoyesera. Timagwiritsa ntchito kutayika kwa mayeso ndi kulondola kwa mayeso kumagwiritsidwa ntchito kuwunika momwe chitsanzocho chikugwirira ntchito. Pa mayeso a data X ndi zolemba zoyeserera y test, tiyenera kuyitcha "ntchito ya model.evaluate"
Ntchitoyi imatulutsa kulondola kwa mayeso ndi kutaya mayeso. Zosintha zoyesa kutayika ndi kulondola kwa mayeso, motsatana, zili ndi izi. Pomaliza, timagwiritsa ntchito ntchito ya "print" kuti titulutse kulondola kwa mayeso.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
print("Test accuracy:", test_accuracy)
Kulosera Makalasi ndi Kupeza Makalasi Oloseredwa
Pogwiritsa ntchito chitsanzo cha maphunziro ndi deta yoyesera, algorithm imapanga maulosi. Deta yoyezetsa ikaperekedwa ku njira ya "model.predict", imatulutsa zolosera zingapo pa chithunzi chilichonse mu seti yoyeserera.
Dzina la kalasi lachithunzi chilichonse limachotsedwa pamndandanda wa "mayina omwe mukufuna" pogwiritsa ntchito "np.argmax" kuti muzindikire mlozera womwe umanenedweratu. Mlozerawu umagwiritsidwa ntchito kudziwa kalasi yoloseredwa ya chithunzi chilichonse.
Pogwiritsa ntchito kumvetsetsa kwa mndandanda, zolosera zonse zomwe zili mu "zolosera" zimayendetsedwa ndi njirayi, zomwe zimapangitsa kuti pakhale mndandanda wa "makalasi oneneratu".
predictions = model.predict(X_test)
predicted_classes = [target_names[np.argmax(prediction)] for prediction in predictions]
Kuwona Zoloserazo
Tsopano titha kuwona momwe chitsanzo chathu chimawonekera.
Kuti muwone momwe chitsanzocho chikuyendera bwino, zithunzi 10 zoyambirira ndi maulosi awo zidzawonetsedwa. Idzakonza zithunzizo mu grayscale ndikuwonetsa kalasi yeniyeni ya chithunzicho ndi kalasi yomwe idanenedweratu ndi chitsanzocho pogwiritsa ntchito matplotlib.pyplot module.
Ntchito ya "imshow" imagwiritsidwa ntchito ndi loop kupanga chithunzi chilichonse mwazithunzi 10 zoyambirira. Mayina omwe mukufuna [y test[i]] ndi makalasi oneneratu[i] amagwiritsidwa ntchito kudziwa kalasi yeniyeni ya chithunzicho ndi kalasi yoloseredwa, motsatana. Mitu ya chiwembu chilichonse imasonyezedwa ndi magulu awa.
Pomaliza, chiwembucho chikuwonetsedwa pogwiritsa ntchito njira ya plt.show().
for i in range(10):
plt.imshow(X_test[i].reshape(62, 47), cmap='gray')
plt.title(f"True: {target_names[y_test[i]]}, Predicted:{predicted_classes[i]}")
plt.show()
Womba mkota
TensorFlow imapereka malo athunthu komanso osinthika opangira makina ophunzirira makina.
Mwa kukonza bwino chitsanzocho kuti chikwaniritse zofunikira zinazake kapena powonjezera zatsopano pakuphunzira makina, kulondola kwachitsanzo kungaonjezeke kwambiri.
TensorFlow ndi kuzindikira nkhope zitha kugwiritsidwa ntchito mochulukira m'mafakitale monga chitetezo, kutsimikizika kwa biometric, ndi chisamaliro chaumoyo mtsogolomo. Tikhala tikuwona zatsopano zochititsa chidwi posachedwa.
Siyani Mumakonda