TensorFlow chishandiso chinogoneka kugadzira michina-yekudzidza modhi.
Mune ino positi, isu tichatarisa maitiro ekugadzira kumeso kucherechedzwa system neTensorFlow, yakavhurika-sosi yekudzidza muchina. Isu tichaenda pamusoro peakakosha maitiro mukugadzira yakabudirira yekuziva chiso system, kubva pakuunganidza nekugadzirira data kudzidzisa uye kuongorora modhi.
Iwe uchawana yekutanga-ruoko ruzivo neTensorFlow kugadzira kuzivikanwa kwechiso nerubatsiro rwekodhi snippets uye chaiyo-yepasirese mienzaniso. Makasununguka kutevera sezvatinoenderera mberi.
Nhanganyaya kuTensorFlow
TensorFlow iraibhurari yemahara uye yakavhurika-sosi. Iyo inofananidzira math toolbox inoshandisa dataflow uye inosiyanisa hurongwa. Iwe unogona kubata huwandu hwemabasa nayo, kusanganisira yakadzika neural network kudzidziswa.
TensorFlow ine simba uye inochinjika. Saizvozvo, chishandiso chikuru chekugadzira uye kuendesa michina yekudzidza modhi. Iwe unogona kuvaka mamodheru akaoma ane akati wandei akaturikidzana uye tensor mashandiro. Zvakare, mhando dzakafanovakwa muraibhurari dzinogona kurongedzerwa zvakanangana zvinodiwa.
Uyezve, TensorFlow ine yakakura uye inowedzera mushandisi nharaunda. Saka, kune huwandu hweruzivo uye rubatsiro kune vanhu vatsva pachikuva.
TensorFlow yakakurumbira kune machine learning muchidimbu nekuti inopa kupera-kusvika-kumagumo mafambiro. Saka, iwe unogona nyore kuvaka, kudzidzisa uye kuendesa modhi. Inopa maturusi uye marongero ekuvandudza uye kuyera mamodheru kuti aenderane nezvinodiwa chaizvo. Iyo inosiyana kubva kune data-pre-processing kuenda kumodhi deployment.
Chii chinonzi Face Recognition?
Kuzivikanwa kwechiso is a computer vision basa rinoratidza kuzivikanwa kwemunhu zvichienderana nechiso chavo. Unyanzvi uhwu hunoziva hunhu hwechiso, hwakadai sechimiro nechimiro chemaziso, mhino, uye muromo.
Uye, inovaenzanisa nedhatabhesi yezviso zvinozivikanwa kuona mutambo. Kuzivikanwa kwechiso kune mashandisiro akati wandei, kusanganisira kuchengetedza masisitimu, sangano remifananidzo, uye biometric authentication.
Face recognition algorithms 'kurongeka kwakawedzera zvakanyanya mumakore achangopfuura nekuda kwekubudirira mukudzidza kwemichina.
Kupinza Mataibhurari Anodiwa
Tisati tatanga chero chinhu, tinoda kuunza kunze maraibhurari anodiwa kune yedu modhi. Tensorflow (tf) inotengeswa kunze kwenyika uye inoshandiswa kugadzira uye kudzidzisa modhi. <(p>
"numpy" inoita masvomhu kuverenga uye kugadzirisa data.
"matplotlib.pyplot" inounzwa kunze se plt uye inoshandiswa data charting uye kuona.
Pakupedzisira, "kunotora vanhu" inotorwa kubva kune sklearn. datasets uye inoshandiswa kurodha dataset yekuziva kumeso. Basa iri chikamu che scikit-learn toolkit. Nekuda kwebasa iri, hatina kufanira kurodha imwe dataset. Izvi zvakatovakwa mu skit-dzidza.
Uye, inokupa iwe kuwana kune dzakasiyana siyana dze datasets yekudzidza muchina applications. Muchiitiko ichi, tinoshandisa nzira yekutora lfw vanhu kutora iyo "Yakanyorwa Zviso Musango" (LFW) dataset. Inosanganisira mapikicha ezviso zvevanhu pamwe nemazita anoenda navo.
Aya maraibhurari akakosha mukuita uye ongororo yemhando yedu yekuziva kumeso.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt from sklearn.datasets
import fetch_lfw_people
Preprocessing uye Kuisa iyo Face Recognition Dataset
Muchikamu chino, tinoshandisa "fetch lfw people" basa rekugadzirisa data rekuzivikanwa kwechiso. Chekutanga, tinoshandisa fetch lfw vanhu vane sarudzo "min faces pamunhu=60". Izvi zvinoratidza kuti isu tinongoda kuisa vanhu mudataset vane mafoto anokwana makumi matanhatu. Nekudaro, isu tinoona kuti modhi yedu ine data rakakwana rekudzidza. Zvakare, izvi zvinoderedza njodzi yekuwedzeredza.
Iyo data uye mavara kubva kune zviso zvinhu zvinozoburitswa uye zvakapihwa kune akasiyana X uye y. X hol.
Isu tagadzirira kudzidzisa yedu yekuziva kumeso modhi tichishandisa preprocessed data uye mavara.
faces = fetch_lfw_people(min_faces_per_person=60)
X = faces.data
y = faces.target
target_names = faces.target_names
Kupatsanura Kudzidzira uye Test Sets
Munhanho iyi, tinotsemura dhatabheti yedu yekuziva kumeso kuita mahafu maviri tichishandisa nzira yechitima kupatsanura kubva sklearn.model sarudzo. Chinangwa chekupatsanurwa uku ndechekuongorora mashandiro emodhi yedu mushure mekudzidziswa
Iyo yechitima bvunzo yekupatsanura basa inobvuma seyekupinda data X uye mavara y. Uye, inovapatsanura kuva kudzidziswa uye bvunzo seti. Isu tinosarudza saizi yekuyedza = 0.2 mumuenzaniso uyu. Izvi zvinoreva kuti 20% yedata ichashandiswa setest set uye 80% seseti yekudzidziswa. Uyezve, isu tinoshandisa random state = 42 kuti tive nechokwadi chokuti data inoparadzaniswa nguva dzose nguva iyo kodhi inoitwa.
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)
Kugadzirira Data
Chinangwa chepreprocessing data ndechekugadzirira iyo yekupinda mumuenzaniso. Iyo data inofanogadziridzwa mune iyi kodhi nekugovanisa yega yega data poindi ne255.
Chii chakaita kuti tiite izvi? Normalization inzira yekutangira inoshandiswa mukudzidza muchina kuvimbisa kuti zvese zviri pachiyero chimwe. Muchiitiko ichi, kupatsanura ne 255 zviyero data kusvika ku0 kusvika ku1, inova nhanho yenguva dzose yedhita data.
Izvi zvinomhanyisa kusanganisa kweiyo modhi uye zvinogona kuwedzera kuita kwayo.
X_train = X_train / 255.0
X_test = X_test / 255.0
Kugadzira Modhi
Tinoda kuziva munhu ane chiso chinoonekwa pamufananidzo. Muchiitiko ichi, tichashandisa network yakabatana zvizere, inowanzozivikanwa sedense network. Iyo artificial neural network yakashandiswa kugadzira modhi.
Artificial neural network inoteedzerwa mushure memashandiro anoita uropi hwemunhu uye kurongeka. Iwo anoumbwa neruzivo-kugadzirisa nodes kana neuroni dzakabatanidzwa. Neuron yega yega iri mudungwe mune dense network inobatanidzwa kune yega yega neuron iri pamusoro payo.
Iyo modhi ine mitsara ina mune iyi kodhi. Kuti idyiwe muchikamu chinotevera, iyo data yekuisa inopepetwa muchikamu chekutanga kuita imwe-dimensional array. Iyo 128 uye 64 neurons mumatanho maviri anotevera, maererano, akanyatsobatanidzwa.
Iyo ReLU activation basa ndeye yakasarudzika activation basa rinoshandiswa neaya maseru. Nezvo, isu tinogona kuwana iyo modhi yekudzidza isiri-mutsara kuwirirana pakati pezvipo uye zvinobuda. Iyo yekupedzisira layer inoshandisa iyo softmax activation basa kuita kufanotaura. Uye, idhizaini rakabatana zvizere rine ma neuron akawanda sekune makirasi anogona kuitika.
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')
])
Kuunganidzwa kweMuenzaniso
Iyo modhi inoumbwa uchishandisa "compile" basa. Tinofanira kugadzirira muenzaniso wekudzidziswa. Saka, isu tichatsanangura iyo optimizer, kurasikirwa basa, uye metrics inozoshandiswa kuongorora modhi.
Munguva yekudzidziswa, iyo optimizer iri kutonga kushandura iyo modhi paramita. Iyo "adam" optimizer inzira inozivikanwa yakadzama-yekudzidza optimization maitiro.
Isu tinoshandisa basa rekurasikirwa kuongorora maitiro emuenzaniso pane data rekudzidzisa. Nekuti mavara anonangwa ari manhamba anoratidza kirasi yemufananidzo kwete imwe-inopisa encoded vectors, "sparse categorical crossentropy" kurasikirwa basa rakanaka.
Pakupedzisira, tinotsanangura ma metrics ekuongorora modhi, mune iyi kesi, "kururama".
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Model Kudzidzisa
Tichashandisa "fit" basa kudzidzisa modhi.
Tichange tichipa ruzivo rwekudzidzisa (X chitima) uye mavara ane hukama (y chitima), pamwe nekuisa nhamba yenguva (iterations) kuti iite se 10. Nzira yekudzidzira inogadzirisa zviyero zvemuenzaniso kuderedza kurasikirwa (musiyano uripo pakati pe akafanotaurwa uye mavara chaiwo) uye kuvandudza kurongeka kwedata rekudzidzisa.
model.fit(X_train, y_train, epochs=10)
Muenzaniso Kuongorora
Iye zvino, isu tinofanirwa kuongorora iyo yakadzidziswa modhi pane yebvunzo data. Isu tinoshandisa kurasikirwa kwebvunzo uye kurongeka kwebvunzo kunoshandiswa kuongorora mashandiro emuenzaniso. Pabvunzo yedata X bvunzo uye bvunzo mavara y bvunzo, isu tinofanirwa kudaidza "iyo model.evaluate basa"
Basa racho rinobudisa chiyero chekuedza uye kurasikirwa kwemuedzo. Izvo zvakasiyana-siyana bvunzo kurasikirwa uye chokwadi chebvunzo, zvichiteerana, zvine izvi zvakakosha. Chekupedzisira, isu tinoshandisa iyo "print" basa kuburitsa bvunzo chokwadi.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
print("Test accuracy:", test_accuracy)
Kufanotaura Makirasi uye Kuwana Makirasi Akafanotaurwa
Uchishandisa modhi yekudzidzira uye data rekuyedza, iyo algorithm inoita fungidziro. Kana data rebvunzo rapfuudzwa kunzira ye "model.predict", rinoburitsa nhevedzano yefungidziro yemufananidzo wega wega uri mutest set.
Zita rekirasi yaunonangwa pamufananidzo wega-wega rinobva ratorwa kubva pa”mazita ezvinangwa” pachishandiswa “np.argmax” basa rekuratidza indekisi ine mukana mukuru wakafanotaurwa. Iyi indekisi inobva yashandiswa kuona kirasi yakafanotaurwa yemufananidzo wega wega.
Uchishandisa rondedzero yenzwisiso, zvese zvakafanotaurwa mu "predictions" array zvinoiswa kune iyi nzira, zvichikonzera "predicted classes".
predictions = model.predict(X_test)
predicted_classes = [target_names[np.argmax(prediction)] for prediction in predictions]
Kuona Zvakafanotaurwa
Isu tinogona ikozvino kuona kuti modhi yedu inotaridzika sei.
Kuongorora kuti modhi iri kuita zvakanaka sei, mafoto gumi ekutanga uye fungidziro yavo icharatidzwa. Icharonga mapikicha mu grayscale uye kuratidza zvose kirasi chaiyo yemufananidzo uye kirasi inofanotaurwa nemuenzaniso uchishandisa matplotlib.pyplot module.
Iyo "imshow" basa rinoshandiswa neiyo loop kuronga yega yega gumi ekutanga test set mafoto. Mazita echinangwa[y bvunzo[i]] uye makirasi akafanotaurwa[i] anoshandiswa kuona kirasi chaiyo yemufananidzo uye kirasi yakafanotaurwa, zvichiteerana. Mazita echikamu chimwe nechimwe anobva aratidzwa nezvikamu izvi.
Pakupedzisira, chirongwa chinoratidzwa uchishandisa plt.show() nzira.
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()
Putira
TensorFlow inopa yakakwana uye inochinjika nharaunda yekugadzira michina yekudzidza modhi.
Nekugadzirisa zvakanaka modhi kuti isangane nezvimwe zvinodikanwa kana nekuwedzera zvitsva mukudzidza kwemuchina, iko kurongeka kwemuenzaniso kunogona kuwedzera zvakanyanya.
TensorFlow uye kuzivikanwa kwechiso kungango shandiswa zvakanyanya mumaindasitiri senge masisitimu ekuchengetedza, biometric authentication, uye hutano mune ramangwana. Tichange tichiona zvitsva zvinonakidza munguva pfupi.
Leave a Reply