Ko te TensorFlow he taputapu maha ki te hanga tauira ako miihini.
I tenei pou, ka titiro tatou me pehea te hanga i tetahi punaha tohu kanohi me TensorFlow, he anga ako miihini tuwhera-puna. Ka tirotirohia e matou nga tikanga mo te hanga i tetahi punaha mohio kanohi angitu, mai i te kohi me te whakarite raraunga hei whakangungu me te aromatawai i tetahi tauira.
Ka whiwhi koe i te wheako tuatahi me TensorFlow ki te hanga tohu kanohi me te awhina o nga tohu tohu me nga tauira o te ao. Tena koe ki te whai mai i a matou e haere ana.
Whakataki ki te TensorFlow
Ko te TensorFlow he whare pukapuka koreutu me te puna tuwhera. He pouaka taputapu pangarau tohu e whakamahi ana i te rerenga raraunga me te kaupapa rerekee. Ka taea e koe te hapai i nga momo mahi, tae atu ki te hohonu te whatunga taiao whakangungu.
He kaha te TensorFlow me te urutau. Waihoki, he taputapu pai mo te whakawhanake me te te tuku tauira ako miihini. Ka taea e koe te hanga tauira uaua me te maha o nga paparanga me nga mahi tensor. Ano, ko nga tauira i hangaia i mua i te whare pukapuka ka taea te whakarite pai mo nga hiahia motuhake.
I tua atu, he hapori kaiwhakamahi nui a TensorFlow. Na, he maha nga korero me nga awhina mo nga tangata hou ki te turanga.
He rongonui a TensorFlow mo akoranga mīhini i tetahi waahanga na te mea ka tukuna he rerenga mahi mutunga-ki-mutunga. Na, ka taea e koe te hanga, te whakangungu me te tohatoha tauira. E whakarato ana i nga taputapu me nga rautaki mo te whakapai ake me te whakarahi i nga tauira kia uru ki nga hiahia motuhake. He rereke mai i nga raraunga i mua i te tukatuka ki te whakatakotoranga tauira.
He aha te Whakaaetanga Kanohi?
Ko te tohu kanohi he a tirohanga rorohiko he mahi e tohu ana i te tohu o te tangata i runga i tona kanohi. Ko tenei tikanga ka mohio ki nga ahuatanga o te kanohi, penei i te ahua me te kakano o nga kanohi, ihu, me te waha.
A, ka whakatauritea ki te papaaarangi o nga kanohi e mohiotia ana hei tautuhi i tetahi whakataetae. He maha nga whakamahinga o te tohu kanohi, tae atu ki nga punaha haumarutanga, te whakahaere whakaahua, me te motuhēhēnga koiora.
Kua tino piki ake te tika o nga algorithms whakamohio kanohi i nga tau tata nei na nga huanga o te ako miihini.
Te kawemai i nga whare pukapuka e tika ana
I mua i te tiimata i tetahi mea, me kawemai nga whare pukapuka e hiahiatia ana mo to maatau tauira. Ko te Tensorflow (tf) he kawemai me te whakamahi ki te hanga me te whakangungu i te tauira. <(p>
Ka mahia e te "numpy" nga tatauranga pangarau me te tukatuka raraunga.
Ko te "matplotlib.pyplot" ka kawemai hei plt ka whakamahia mo te mahere raraunga me nga tirohanga.
Ka mutu, ka kawemai mai te "fetch lfw people" mai i sklearn. nga huingararaunga ka whakamahia ki te uta i te huingararaunga tohu kanohi. Ko tenei mahi he waahanga o te kete taputapu ako-scikit. He mihi ki tenei mahi kaore matou i whai ki te tuku i tetahi atu huingararaunga. Kua oti kē tenei ki te sckit-ako.
Na, ka hoatu e koe te uru ki te whānuitanga o nga momo nga raraunga mo te ako miihini tono. I roto i tenei ahuatanga, ka whakamahia e matou te tikanga tiki tangata lfw ki te tiki i nga huingararaunga "Nga Kanohi Tapanga i te Mohoao" (LFW). Kei roto ko nga whakaahua o nga kanohi o nga tangata me nga tapanga e mau ana.
He mea nui enei whare pukapuka ki te whakatinana me te arotake i to maatau tauira tohu kanohi.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt from sklearn.datasets
import fetch_lfw_people
Te Tukatuka me te Uta i te Raraunga Raraunga Ahurangi Mata
I tenei waahanga, ka whakamahia e matou te mahi "Tikina lfw tangata" ki te tukatuka i nga raraunga tohu kanohi. Tuatahi, ka whakamahi tatou i te tiki lfw tangata me te kowhiringa "mene kanohi mo ia tangata=60". E tohu ana tenei ka hiahia noa matou ki te whakauru i nga tangata ki roto i te huingararaunga kua 60 nga whakaahua. No reira, ka whakarite maatau he raraunga rawaka to taatau tauira hei ako. Ano hoki, ka whakaitihia te kino o te taapiri.
Ko nga raraunga me nga tapanga mai i te ahanoa kanohi ka tangohia ka tohua ki nga taurangi X me y. X hol.
Kua reri matou inaianei ki te whakangungu i ta maatau tauira tohu kanohi ma te whakamahi i nga raraunga me nga tapanga kua oti te tukatuka.
faces = fetch_lfw_people(min_faces_per_person=60)
X = faces.data
y = faces.target
target_names = faces.target_names
Te Waahanga Whakangungu me nga Whakamatau
I tenei taahiraa, ka wehea e matou o matou huinga raraunga tohu kanohi ki nga haurua e rua ma te whakamahi i te tikanga wehewehenga whakamatautau tereina mai i te kowhiringa sklearn.model. Ko te whainga o tenei wehenga ko te aromatawai i nga mahi a to maatau tauira i muri i nga whakangungu
Ka whakaaehia te mahi wehewehenga whakamatautau tereina hei whakauru raraunga X me nga tapanga y. Na, ka wehewehea ratou ki nga huinga whakangungu me nga whakamatautau. Ka tohua e matou te rahi whakamatautau = 0.2 i tenei tauira. Ko te tikanga ko te 20% o nga raraunga ka whakamahia hei huinga whakamatautau me te 80% hei huinga whakangungu. I tua atu, ka whakamahia e matou te ahua matapōkere=42 ki te whakarite kia wehewehea nga raraunga i ia wa ka mahia te waehere.
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)
Te Whakarite Raraunga
Ko te kaupapa o te tukatuka raraunga he whakarite kia uru ki roto i te tauira. Ko nga raraunga kua tukatuka i mua i tenei waehere ma te wehewehe i ia tohu raraunga ki te 255.
He aha te mea i akiaki i a maatau ki te whakatutuki i tenei? Ko te whakatikatika he tikanga tukatuka o mua i whakamahia i roto i te ako miihini hei whakapumau kei te rite nga ahuatanga katoa. I roto i tenei ahuatanga, ko te wehewehe ki te 255 ka tauine te raraunga ki te awhe 0 ki te 1, he taahiraa whakarata raraunga pikitia.
Ma tenei ka tere ake te whakakotahitanga o te tauira ka nui ake te mahi.
X_train = X_train / 255.0
X_test = X_test / 255.0
Te hanga i te Aratau
E hiahia ana matou ki te tautuhi i te tangata kua puta tona kanohi ki tetahi pikitia. I roto i tenei take, ka whakamahia e matou he whatunga hono katoa, e mohiotia ana he whatunga mato. He whatunga neural artificial i whakamahia hei hanga i te tauira.
Ka whakatauirahia nga whatunga neural artificial i runga i te ahua o te mahi me te whakaritenga o te roro tangata. He mea hanga mai i nga pona tukatuka korero, i nga neuron ranei e hono ana. Ko ia neuron i roto i te paparanga i roto i te whatunga matotoru e hono ana ki ia neuron i te paparanga kei runga ake.
E wha nga paparanga o te tauira i tenei waehere. Hei whangai ki te paparanga e whai ake nei, ka whakaparahatia nga raraunga whakauru ki te paparanga tuatahi ki roto i te huinga ahua kotahi. Ko nga neurons 128 me te 64 i roto i nga papa e rua e whai ake nei, na reira, kua tino hono.
Ko te mahi whakahohe ReLU he mahi whakahoahoa ahurei e whakamahia ana e enei paparanga. Ma tera, ka taea e taatau te tauira ki te ako i nga hononga kore-raina i waenga i nga whakaurunga me nga putanga. Ko te paparanga whakamutunga e whakamahi ana i te mahi whakahohe softmax ki te hanga matapae. Na, he paparanga hono katoa me te maha o nga neurons kei reira nga karaehe pea.
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')
])
Te whakahiato i te Tauira
Ka whakahiatohia te tauira ma te whakamahi i te mahi "whakahiato". Me whakarite te tauira mo te whakangungu. Na, ka tautuhia e matou te moroiti, te mahi ngaro, me nga ine ka whakamahia hei aromatawai i te tauira.
I te wa e whakangungu ana, ko te kaihoroi te mana ki te whakarereke i nga tawhā o te tauira. Ko te "adam" optimizer he tikanga arotautanga ako hohonu rongonui.
Ka whakamahia e matou te mahi ngaro ki te aromatawai i te mahinga o te tauira i runga i nga raraunga whakangungu. Na te mea he tauoti nga tapanga whainga e whakaata ana i te karaehe o te atahanga, kaua ki nga vector whakawaehere kotahi-wera, he pai te mahi ngaronga "sparse categorical crossentropy".
Ka mutu, ka tautuhia e matou nga ine hei aromatawai i te tauira, i tenei keehi, "tika".
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Whakangungu Tauira
Ka whakamahia e matou te mahi "tika" ki te whakangungu i te tauira.
Ka whakaratohia e matou nga raraunga whakangungu (tereina X) me nga tapanga e pa ana (te tereina y), me te whakarite i te maha o nga waa (taurua) kia 10. Ko te tikanga whakangungu ka whakarereke i nga taumaha tauira hei whakaiti i te mate (te rereketanga i waenga tohu tohu me nga tapanga tuuturu) me te whakapai ake i te tika o nga raraunga whakangungu.
model.fit(X_train, y_train, epochs=10)
Te Aromātai Tauira
Inaianei, me aromatawai tatou i te tauira kua whakangungua mo nga raraunga whakamatautau. Ka whakamahia e matou te mate whakamatautau me te tika o te whakamatautau ka whakamahia hei aromatawai i te mahinga o te tauira. I runga i te whakamatautau raraunga X whakamatautau me nga tapanga whakamatautau y whakamatautau, me karanga tatou "te tauira.evaluate mahi"
Ko te mahi ka whakaputa i te tika o te whakamatautau me te mate whakamatautau. Kei roto i nga taurangi te ngaronga me te tika o te whakamatautau, kei roto enei uara. Ka mutu, ka whakamahia e matou te mahi "ta" hei whakaputa i te tika o te whakamatautau.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
print("Test accuracy:", test_accuracy)
Nga Karaehe Matapae me te Tikina nga Karaehe Matapae
Ma te whakamahi i te tauira whakangungu me nga raraunga whakamatautau, ka mahia e te algorithm nga matapae. Ina tukuna nga raraunga whakamatautau ki te tikanga "model.predict", ka puta he huinga matapae mo ia pikitia o te huinga whakamatautau.
Ko te ingoa o te karaehe whainga mo ia pikitia ka tikina mai i te rarangi "ingoa whainga" ma te whakamahi i te mahi "np.argmax" hei tautuhi i te taupū me te nui rawa o te tupono. Ka whakamahia tenei taurangi hei whakatau i te karaehe matapae mo ia ahua.
Ma te whakamahi i te maaramatanga rarangi, ko nga matapae katoa o te rarangi "matapae" ka tukuna ki tenei tikanga, ka puta ko te rarangi "akomanga matapae".
predictions = model.predict(X_test)
predicted_classes = [target_names[np.argmax(prediction)] for prediction in predictions]
Te Tirohanga i nga Matapae
Ka kite tatou i te ahua o to tatou tauira.
Hei arotake i te pai o te tauira, ka whakaatuhia nga whakaahua 10 tuatahi me o raatau matapae. Ka whakatakotohia nga whakaahua ki te tauine hina me te whakaatu i te akomanga tonu o te ahua me te karaehe i tohuhia e te tauira ma te whakamahi i te matplotlib.pyplot kōwae.
Ko te mahi "imshow" e whakamahia ana e te mo te porowhita ki ia o nga whakaahua huinga whakamatautau 10 tuatahi. Ko nga ingoa whainga[y te whakamatautau[i]] me nga karaehe matapae[i] ka whakamahia hei whakatau i te karaehe o te ahua me te karaehe matapae. Ko nga taitara o ia waahi ka tohua e enei whakarōpūtanga.
Ka mutu, ka whakaatuhia te waahi ma te whakamahi i te tikanga 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()
Whakamahia te Up
Ka tukuna e TensorFlow tetahi taiao tino maamaa me te ngawari mo te hanga tauira ako miihini.
Ma te whakatikatika i te tauira kia tutuki nga whakaritenga motuhake, ma te taapiri ranei i nga whanaketanga hou o te ako miihini, ka piki ake te tika o te tauira.
Ko te TensorFlow me te tohu kanohi ka kaha ake te whakamahi i roto i nga umanga penei i nga punaha haumarutanga, motuhēhēnga koiora me te tiaki hauora a muri ake nei. Ka kite tatou i nga mahi whakahihiri i te wa tata nei.
Waiho i te Reply