TensorFlow ke sesebelisoa se feto-fetohang sa ho etsa mefuta ea ho ithuta ka mochini.
Ka poso ena, re tla sheba mokhoa oa ho theha sistimi ea ho lemoha sefahleho ka TensorFlow, moralo o bulehileng oa ho ithuta oa mochini. Re tla hlahloba mekhoa ea bohlokoa ea ho theha mokhoa o atlehileng oa ho lemoha sefahleho, ho tloha ho bokella le ho lokisa lintlha ho koetlisa le ho hlahloba mohlala.
U tla fumana boiphihlelo ba hau ka TensorFlow ho theha kananelo ea sefahleho ka thuso ea likonopo tsa khoutu le mehlala ea 'nete ea lefats'e. U amohelehile ho latela ha re ntse re tsoela pele.
Selelekela ho TensorFlow
TensorFlow ke laebrari ea mahala le e bulehileng. Ke lebokose la lithulusi tsa lipalo le sebelisang phallo ea data le mananeo a fapaneng. U ka sebetsana le mefuta e mengata ea mesebetsi ka eona, ho kenyelletsa le ho teba neural network koetliso.
TensorFlow e matla ebile e fetoha le maemo. Ka mokhoa o ts'oanang, ke sesebelisoa se seholo sa ho nts'etsapele le ho tsamaisa mekhoa ea ho ithuta ka mochini. U ka haha mefuta e rarahaneng ka likarolo tse 'maloa le ts'ebetso ea tensor. Hape, mehlala e hahiloeng esale pele laebraring e ka hlophisoa hantle bakeng sa litlhoko tse itseng.
Ho feta moo, TensorFlow e na le sechaba se seholo sa basebelisi se ntseng se hola. Kahoo, ho na le tlhaiso-leseling e ngata le thuso bakeng sa batho ba sa tsoa fihla sethaleng.
TensorFlow e tumme ka ho ithuta mochine karolo e 'ngoe hobane e fana ka mokhoa oa ho qetela oa mosebetsi. Kahoo, o ka aha habonolo, oa koetlisa le ho tsamaisa mehlala. E fana ka lisebelisoa le maano a ho ntlafatsa le ho phahamisa mehlala ho lumellana le litlhoko tse itseng. E fapana ho tloha ho ts'ebetso ea data pele ho ts'ebetso ho isa ho tsa mohlala.
Recognition ea Sefahleho ke Eng?
Ho lemoha sefahleho ke a pono ea k'homphieutha mosebetsi o khethollang boitsebiso ba motho bo ipapisitseng le sefahleho sa bona. Mokhoa ona o hlokomela litšobotsi tsa sefahleho, tse kang sebōpeho le sebōpeho sa mahlo, nko le molomo.
'Me, e li bapisa le pokello ea lifahleho tse tsebahalang ho khetholla papali. Ho lemoha sefahleho ho na le litšebeliso tse 'maloa, ho kenyelletsa le litsamaiso tsa ts'ireletso, mokhatlo oa linepe, le netefatso ea biometric.
Ho nepahala ha li-algorithms tsa ho lemoha sefahleho ho eketsehile haholo lilemong tsa morao tjena ka lebaka la katleho ea ho ithuta ka mochini.
Ho Fumana Lilaebrari Tse Hlokehang
Pele re qala ntho leha e le efe, re hloka ho kenya lilaebrari tse hlokahalang bakeng sa mohlala oa rona. Tensorflow (tf) e romelloa kantle ho naha mme e sebelisoa ho theha le ho koetlisa mohlala. <(p>
"numpy" e etsa lipalo tsa lipalo le ts'ebetso ea data.
"matplotlib.pyplot" e romelloa kantle ho naha joalo ka plt mme e sebelisetsoa data charting le visualizations.
Qetellong, "lata batho ba lfw" e rekoa ho tsoa ho sklearn. li-datasets le tse sebelisoang ho kenya pokello ea data ea ho lemoha sefahleho. Mosebetsi ona ke karolo ea scikit-learn toolkit. Ka lebaka la ts'ebetso ena, ha rea ka ra tlameha ho kenya datha e 'ngoe. Sena se se se hahiloe ho skit-learn.
'Me, e u fa monyetla oa ho fihlella mefuta e mengata e fapaneng ea li-datasets tsa ho ithuta ka mochini lits'ebetso. Boemong bona, re sebelisa mokhoa oa ho lata batho ba lfw ho fumana "Labeled Faces in the Wild" (LFW) dataset. E na le linepe tsa lifahleho tsa batho hammoho le mangolo a tsamaeang le bona.
Lilaeborari tsena li bohlokoa ho kenngoeng tšebetsong le tekong ea mohlala oa rona oa ho lemoha sefahleho.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt from sklearn.datasets
import fetch_lfw_people
Ho Sebetsa Pele le ho Kenya Sesebediswa sa Tsebo ya Sefahleho
Karolong ena, re sebelisa ts'ebetso ea "fetch lfw people" ho lokisa esale pele data e lemohang sefahleho. Taba ea pele, re sebelisa batho ba lfw ka khetho ea "min faces per person=60". Sena se bontša hore re batla ho kenyelletsa feela batho ba nang le linepe tse 60 bonyane. Kahoo, re etsa bonnete ba hore mohlala oa rona o na le data e lekaneng eo re ka ithutang eona. Hape, sena se fokotsa kotsi ea ho ja ho feta tekano.
Lintlha le lileibole tse tsoang nthong ea lifahleho li ntšoa ebe li abeloa mefuta ea X le y. X ho.
Hona joale re se re loketse ho koetlisa mofuta oa rona oa ho lemoha sefahleho ka ho sebelisa lintlha le lileibole tse seng li hlophisitsoe.
faces = fetch_lfw_people(min_faces_per_person=60)
X = faces.data
y = faces.target
target_names = faces.target_names
Ho Arola Lithupelo le Lihlopha tsa Teko
Mohato ona, re arola dataset ea rona ea ho lemoha sefahleho ka likarolo tse peli ho sebelisa mokhoa oa ho arola teko ea terene ho tloha ho khetho ea sklearn.model. Sepheo sa karohano ena ke ho hlahloba ts'ebetso ea mohlala oa rona ka mor'a koetliso
Mosebetsi oa ho arola teko ea terene o amohela e le data ea ho kenya X le lileibole y. 'Me, e li arola ka lithupelo le lihlopha tsa liteko. Re khetha boholo ba teko = 0.2 mohlaleng ona. Sena se bolela hore 20% ea data e tla sebelisoa e le sete ea liteko le 80% e le setsi sa koetliso. Ho feta moo, re sebelisa boemo bo sa reroang = 42 ho netefatsa hore data e arotsoe ka mokhoa o tsitsitseng nako le nako ha khoutu e etsoa.
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)
Ho Lokisetsa Lintlha
Sepheo sa ho lokisa data esale pele ke ho e lokisetsa ho kena moetsong. Lintlha li hlophisitsoe pele ho khoutu ena ka ho arola ntlha ka 'ngoe ea data ka 255.
Ke eng e ileng ea re susumelletsa ho finyella see? Normalization ke mokhoa oa ho lokisa esale pele o sebelisoang thutong ea mochini ho netefatsa hore likarolo tsohle li lekana. Boemong bona, ho arola ka 255 sekala sa data ho tloha ho 0 ho isa ho 1, e leng mohato o tloaelehileng oa ho tloaeleha ha data ea setšoantšo.
Sena se potlakisa ho kopana ha mohlala mme se ka eketsa ts'ebetso ea ona.
X_train = X_train / 255.0
X_test = X_test / 255.0
Ho theha Mokhoa
Re batla ho khetholla motho eo sefahleho sa hae se hlahang setšoantšong. Tabeng ena, re tla sebelisa marang-rang a hokahaneng ka botlalo, hangata a tsejoang e le marang-rang a teteaneng. Ke marang-rang a maiketsetso a neural a sebelisitsoeng ho etsa mohlala.
Marang-rang a maiketsetso a methapo ea kutlo a entsoe ka mokhoa oo boko ba motho bo sebetsang le ho hlophisoa ka teng. Li entsoe ka li-node tse sebetsanang le boitsebiso kapa li-neurone tse hokahaneng. Neuron e 'ngoe le e 'ngoe e ka har'a marang-rang e teteaneng e hokahane le neurone e 'ngoe le e 'ngoe e ka holim'a eona.
Moetso ona o na le mekhahlelo e mene khoutung ena. E le hore e fepeloe lera le latelang, lintlha tse kentsoeng li batalatsoa ka har'a lera la pele hore e be karolo e lekanang le e 'ngoe. Li-neurons tsa 128 le 64 likarolong tse peli tse latelang, ka hona, li hokahane ka ho feletseng.
Ts'ebetso ea ts'ebetso ea ReLU ke ts'ebetso e ikhethang ea ts'ebetso e sebelisoang ke likarolo tsena. Ka seo, re ka fumana mohlala oa ho ithuta likamano tse se nang moeli pakeng tsa lintho tse kenang le tse hlahisoang. Lera la ho qetela le sebelisa ts'ebetso ea softmax ho etsa likhakanyo. Mme, ke lera le hokahaneng ka botlalo le nang le li-neurone tse ngata joalo ka ha ho na le lihlopha tse ka bang teng.
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')
])
Ho Kopanya Mohlala
Moetso ona o bokelloa ho sebelisoa ts'ebetso ea "compile". Re lokela ho lokisetsa mohlala bakeng sa koetliso. Kahoo, re tla hlalosa optimizer, ts'ebetso ea tahlehelo, le metrics e tla sebelisoa ho lekola mohlala.
Nakong ea koetliso, optimizer e ikarabella ho fetola liparamente tsa mohlala. "Adam" optimizer ke mokhoa o tsebahalang oa ho ithuta ka botebo.
Re sebelisa ts'ebetso ea tahlehelo ho lekola ts'ebetso ea mohlala ho data ea koetliso. Hobane lileibole tse shebiloeng ke lipalo tse felletseng tse bonts'ang sehlopha sa setšoantšo ho fapana le li-vector tse kentsoeng tse chesang, "sparse categorical crossentropy" tahlehelo e ntle.
Qetellong, re hlalosa metrics ho hlahloba mohlala, tabeng ena, "ho nepahala".
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Koetliso ea Mohlala
Re tla sebelisa mosebetsi o "loketseng" ho koetlisa mohlala.
Re tla fana ka lintlha tsa koetliso (X terene) le li-labels tse amanang (y terene), hammoho le ho beha palo ea li-epochs (iterations) ho sebetsa e le 10. Mokhoa oa koetliso o fetola boima ba mohlala ho fokotsa tahlehelo (phapang pakeng tsa li-labels tse boletsoeng esale pele le tsa 'nete) le ho ntlafatsa ho nepahala ha data ea koetliso.
model.fit(X_train, y_train, epochs=10)
Tlhahlobo ea Mohlala
Joale, re hloka ho lekola mohlala o koetlisitsoeng ho data ea tlhahlobo. Re sebelisa tahlehelo ea liteko le ho nepahala ha tlhahlobo ho sebelisoa ho lekola ts'ebetso ea mohlala. Tekong ea data ea X le lileibole tsa tlhahlobo ea y, re hloka ho bitsa "mohlala.evaluate function"
Ts'ebetso e hlahisa ho nepahala ha tlhahlobo le tahlehelo ea tlhahlobo. Liphetoho tsa tahlehelo ea tlhahlobo le ho nepahala ha tlhahlobo, ka ho latellana, li na le litekanyetso tsena. Qetellong, re sebelisa mosebetsi oa "print" ho hlahisa ho nepahala ha tlhahlobo.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
print("Test accuracy:", test_accuracy)
Lihlopha tsa ho bolela esale pele le ho fumana lihlopha tse boletsoeng esale pele
U sebelisa mohlala oa koetliso le lintlha tsa tlhahlobo, algorithm e etsa likhakanyo. Ha lintlha tsa teko li fetisetsoa ho mokhoa oa "model.predict", e hlahisa likhakanyo tse ngata bakeng sa setšoantšo ka seng sete ea teko.
Lebitso la sehlopha seo ho lebelloang ho sona bakeng sa setšoantšo ka seng le tla khutlisoa lethathamong la "mabitso a reretsoeng" ho sebelisoa "np.argmax" ho khetholla index ka monyetla o moholo o boletsoeng esale pele. Lenane lena le sebelisoa ho khetholla sehlopha se boletsoeng esale pele bakeng sa setšoantšo ka seng.
Ka ho sebelisa kutloisiso ea lethathamo, likhakanyo tsohle tsa "likhakanyo tse boletsoeng esale pele" li hlahisoa ka mokhoa ona, e leng se hlahisang lenane la "lihlopha tse boletsoeng esale pele".
predictions = model.predict(X_test)
predicted_classes = [target_names[np.argmax(prediction)] for prediction in predictions]
Ho Bona Lipolelo-pele ka mahlo a kelello
Joale re ka bona hore na mohlala oa rona o shebahala joang.
Ho lekola hore na mohlala ona o sebetsa hantle hakae, ho tla bontšoa linepe tse 10 tsa pele le likhakanyo tsa tsona. E tla rera lifoto ka grayscale 'me e bonts'a bobeli ba sehlopha sa sebele sa setšoantšo le sehlopha se boletsoeng esale pele ke mohlala ho sebelisa module ea matplotlib.pyplot.
Mosebetsi oa "imshow" o sebelisoa ke for loop ho rala e 'ngoe le e 'ngoe ea litšoantšo tse 10 tsa pele tsa tlhahlobo. Mabitso a shebiloeng[y test[i]] le litlelase tse boletsoeng esale pele[i] li sebelisoa ho tseba sehlopha sa 'nete sa setšoantšo le sehlopha se boletsoeng esale pele, ka ho latellana. Joale litlotla tsa morero ka mong li bontšoa ke lihlopha tsena.
Qetellong, morero o bontšoa ho sebelisoa mokhoa oa 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()
Phethela
TensorFlow e fana ka tikoloho e felletseng le e feto-fetohang bakeng sa ho theha mefuta ea ho ithuta ea mochini.
Ka ho lokisa mohlala ho fihlela litlhoko tse itseng kapa ka ho eketsa lintlafatso tse ncha thutong ea mochini, ho nepahala ha mohlala ho ka eketsoa le ho feta.
TensorFlow le kananelo ea sefahleho li kanna tsa sebelisoa haholo indastering e kang lits'ebetso tsa ts'ireletso, netefatso ea biometric, le tlhokomelo ea bophelo bo botle nakong e tlang. Haufinyane re tla bona lintho tse ncha tse khahlisang.
Leave a Reply