TensorFlow ose meafaigaluega fa'apitoa e fai ai fa'ata'ita'iga a'oa'oga masini.
I lenei pou, o le a tatou vaʻavaʻai pe faʻafefea ona fai se faiga e iloagofie ai foliga ma TensorFlow, o se faʻavae e aʻoaʻoina ai masini. O le a matou fa'atalanoaina fa'agasologa taua i le fa'atupuina o se faiga fa'ailoga mata manuia, mai le aoina ma le tapenaina o fa'amaumauga e a'oa'oina ma iloilo ai se fa'ata'ita'iga.
O le ae mauaina muamua le poto masani ma TensorFlow e faʻaalia ai foliga faʻatasi ma le fesoasoani o snippets code ma faʻataʻitaʻiga moni-lalolagi. E talia e te mulimuli mai a'o matou fa'agasolo atu.
Folasaga i le TensorFlow
O le TensorFlow o se faletusi e leai se totogi ma tatala. O se fa'ailoga fa'atusa math toolbox e fa'aogaina ai le dataflow ma le fa'aogaina o polokalame. E mafai ona e taulimaina le tele o galuega i ai, e aofia ai le loloto fesoʻotaʻiga faʻanoanoa aʻoaʻoga.
TensorFlow e malosi ma fetuutuunai. E faʻapea foʻi, o se meafaigaluega sili mo le atinaʻeina ma fa'aogaina fa'ata'ita'iga a'oa'oga masini. E mafai ona e fausia ni fa'ata'ita'iga lavelave fa'atasi ai ma le tele o laulau ma fa'agaioiga tensor. E le gata i lea, o faʻataʻitaʻiga na fausia muamua i totonu o le faletusi e mafai ona faʻaleleia lelei mo manaʻoga faʻapitoa.
E le gata i lea, o le TensorFlow o loʻo i ai se faʻalapotopotoga tele ma faʻalauteleina tagata faʻaoga. O lea la, o loʻo i ai le tele o faʻamatalaga ma fesoasoani mo tagata taʻitoʻatasi e fou i le tulaga.
TensorFlow e lauiloa mo masini suʻesuʻe i se vaega aua e maua ai se galuega fa'ai'u i le pito. O lea la, e faigofie ona e fausia, toleni ma faʻapipiʻi faʻataʻitaʻiga. E tuʻuina atu meafaigaluega ma taʻiala mo le faʻaleleia ma le faʻalauteleina o faʻataʻitaʻiga e fetaui ma manaʻoga faʻapitoa. E 'ese'ese mai fa'amaumauga a'o le'i fa'agaioiina i fa'ata'ita'iga fa'ata'ita'iga.
O le a le Fa'ailoga Mata?
O le faailoaina o foliga o le a mataʻitusi komepiuta galuega e iloagofie ai se tagata e fa'atatau i ona foliga. O lenei metotia e iloa ai uiga mata, e pei o foliga ma foliga o mata, isu, ma le gutu.
Ma, e faʻatusatusa i latou i se faʻamaumauga o foliga iloa e iloa ai se fetaui. O le fa'ailoaina o foliga e tele ona fa'aoga, e aofia ai faiga fa'akomepiuta, fa'atulagaina o ata, ma le fa'amaoni biometric.
Ua matua faateleina le sa'o a'ia'i o foliga algorithms i tausaga talu ai ona o ni mea mata'utia i le a'oa'oina o masini.
Fa'aulufaleina o Faletusi Manaomia
A'o le'i amataina se mea, e mana'omia le fa'aulufale mai o faletusi e mana'omia mo la tatou fa'ata'ita'iga. Tensorflow (tf) o lo'o fa'aulufale mai ma fa'aoga e fai ma a'oa'oina le fa'ata'ita'iga. <(p>
"numpy" fa'atino fa'atusatusaga fa'a-matematika ma fa'asologa o fa'amaumauga.
"matplotlib.pyplot" o lo'o fa'aulufale mai e pei o plt ma fa'aoga mo fa'asologa o fa'amaumauga ma fa'aaliga.
Mulimuli ane, "fetch lfw people" e aumai mai le sklearn. fa'amaumauga ma fa'aoga e uta ai fa'amaumauga e iloa ai foliga. O lenei galuega o se vaega o le scikit-Learn toolkit. Fa'afetai i lenei fa'atinoga matou te le mana'omia le tu'uina atu o se isi fa'amaumauga. Ua uma ona fausia lenei mea ile sckit-learn.
Ma, e tuʻuina atu ia te oe le avanoa i le tele o ituaiga faʻamaumauga mo le aʻoaʻoina o masini talosaga. I lenei fa'ata'ita'iga, matou te fa'aogaina le fetch lfw people method e toe aumai ai le fa'amaumauga o le "Labeled Faces in the Wild" (LFW). E aofia ai ata o foliga o tagata fa'apea fo'i fa'ailoga o lo'o fa'atasi ma i latou.
O nei faletusi e taua tele i le faʻatinoina ma le iloiloga o la tatou faʻataʻitaʻiga e iloagofie ai foliga.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt from sklearn.datasets
import fetch_lfw_people
Fa'agasolo muamua ma utaina le Seti Fa'amatalaga Fa'ailoa Mata
I le vaega lea, matou te fa'aogaina le galuega "fetch lfw people" e mua'i fa'agasolo ai fa'amaumauga e iloa ai mata. Muamua, matou te fa'aogaina le fetch lfw people with the option "min faces per person=60". O lo'o fa'ailoa mai e na'o matou mana'o e fa'aaofia tagata i le fa'amaumauga o lo'o i ai a itiiti ifo ma le 60 ata. O lea la, matou te mautinoa o loʻo i ai i la matou faʻataʻitaʻiga faʻamaumauga talafeagai e aʻoaʻoina. E le gata i lea, o lenei mea e faʻaitiitia ai le lamatiaga o le faʻapipiʻiina.
O fa'amaumauga ma fa'ailoga mai le mea o foliga e maua mai ma tu'uina atu i le fesuiaiga X ma le y. X hol.
Ua matou sauni nei e a'oa'oina la matou fa'ata'ita'iga e iloagofie ai mata e fa'aaoga ai fa'amaumauga ma fa'ailoga ua uma ona fa'agasolo.
faces = fetch_lfw_people(min_faces_per_person=60)
X = faces.data
y = faces.target
target_names = faces.target_names
Vaeluaga o Seti a'oa'oga ma Su'ega
I lenei laʻasaga, matou vaevae matou faʻamatalaga faʻaalia foliga i ni afa se lua e faʻaaoga ai le auala vaevaega o suʻega nofoaafi mai le filifiliga sklearn.model. O le sini o lenei vaeluaga o le iloilo lea o le fa'atinoga o la tatou fa'ata'ita'iga pe a uma a'oa'oga
Ole galuega vaeluaga ole su'ega nofoaafi e talia e avea ma fa'amatalaga fa'aoga X ma fa'ailoga y. Ma, e vaevaeina i latou i toleniga ma seti suʻega. Matou te filifilia le tele o le suʻega = 0.2 i lenei faʻataʻitaʻiga. O lona uiga o le 20% o faʻamaumauga o le a faʻaaogaina e fai ma seti suʻega ma 80% e avea ma seti aʻoaʻoga. E le gata i lea, matou te faʻaogaina tulaga faʻafuaseʻi = 42 e faʻamautinoa ai e vaevaeina faʻamaumauga i taimi uma e faʻatino ai le code.
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)
Saunia o Faʻamaumauga
O le fa'amoemoega o le fa'agaoioiga muamua o fa'amaumauga o le saunia lea mo le ulufale i totonu o le fa'ata'ita'iga. O faʻamaumauga o loʻo faʻagasolo muamua i lenei code e ala i le vaevaeina o faʻamaumauga taʻitasi i le 255.
O le ā na uunaʻia ai i tatou e ausia lenei mea? Normalization o se faiga muamua faʻaogaina i masini aʻoaʻoga e faʻamautinoa ai o foliga uma o loʻo i luga o le fua tutusa. I lenei faʻataʻitaʻiga, vaevaeina i le 255 fua faʻamaumauga i se vaega o le 0 i le 1, o se laʻasaga masani o faʻamaumauga o ata.
O lenei mea e faʻavaveina ai le faʻataʻitaʻiga o le faʻataʻitaʻiga ma e mafai ona faʻateleina lona faʻatinoga.
X_train = X_train / 255.0
X_test = X_test / 255.0
Fausia le Faiga
Matou te mananaʻo e faʻailoa le tagata e aliali mai ona foliga i se ata. I lenei tulaga, o le a matou faʻaogaina se fesoʻotaʻiga fesoʻotaʻi atoatoa, e masani ona taʻua o se fesoʻotaʻiga mafiafia. Ose feso'ota'iga neural fa'akomepiuta na fa'aaogaina e fai ai le fa'ata'ita'iga.
O feso'ota'iga neural fa'akomepiuta e fa'ata'ita'iina pe fa'apefea ona fa'agaioi ma fa'atulagaina le fai'ai o le tagata. E faia a'e i nodes e fa'agasolo ai fa'amatalaga po'o neu e feso'ota'i. O neu ta'itasi i totonu o se vaega i totonu o se feso'ota'iga mafiafia e feso'ota'i i neu ta'itasi i le fa'aluga i luga.
O le faʻataʻitaʻiga e fa faʻavae i lenei code. Ina ia fafaga i le isi vaega, o faʻamatalaga faʻapipiʻi e faʻapipiʻi i le vaega muamua i se faʻasologa e tasi. O le 128 ma le 64 neurons i vaega e lua o loʻo mulimuli mai, e tusa ai, e fesoʻotaʻi atoatoa.
O le ReLU activation function o se galuega faʻafouina tulaga ese e faʻaaogaina e nei laulau. Faatasi ai ma lena, e mafai ona tatou maua le faʻataʻitaʻiga e aʻoaʻo ai fesoʻotaʻiga e le laina laina i le va o mea e fai ma mea e fai. O le vaega mulimuli o lo'o fa'aaogaina le softmax activation function e fai ai valo'aga. Ma, o se faʻapipiʻi fesoʻotaʻi atoa ma le tele o neu e iai vasega faʻapitoa.
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')
])
Tuufaatasiga o le Fa'ata'ita'iga
O le faʻataʻitaʻiga e tuʻufaʻatasia e faʻaaoga ai le "compile" galuega. E tatau ona tatou saunia le faʻataʻitaʻiga mo aʻoaʻoga. O lea la, o le a matou faʻamalamalamaina le sili, galuega leiloa, ma fua faʻatatau o le a faʻaaogaina e iloilo ai le faʻataʻitaʻiga.
I le taimi o aʻoaʻoga, o le optimizer e nafa ma le suia o faʻataʻitaʻiga o le faʻataʻitaʻiga. O le "adam" optimizer ose ta'uta'ua o le loloto o le a'oa'oina lelei o metotia.
Matou te fa'aogaina le galuega gau e iloilo ai le fa'atinoga o fa'ata'ita'iga i fa'amaumauga a'oa'oga. Talu ai ona o fa'ailoga fa'atatau o numera numera e atagia mai ai le vasega o le ata nai lo vete fa'ailoga vevela tasi, o le "sparse categorical crossentropy" galuega leiloa e lelei.
Ma le mea mulimuli, matou te faʻamalamalamaina metrics e iloilo ai le faʻataʻitaʻiga, i lenei tulaga, "saʻo".
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Aoaoga Faataitai
O le a matou faʻaogaina le "fit" galuega e toleni ai le faʻataʻitaʻiga.
O le a matou tuʻuina atu faʻamatalaga o aʻoaʻoga (X train) ma faʻamaufaʻailoga e fesoʻotaʻi (y train), faʻapea foʻi ma le setiina o le numera o taimi (iterations) e tamoʻe e pei o le 10. O le aʻoaʻoga faʻataʻitaʻiga e suia ai le mamafa faʻataʻitaʻiga e faʻaitiitia ai se gau (o le eseesega i le va va'aiga ma fa'ailoga moni) ma fa'aleleia le sa'o o fa'amaumauga a'oa'oga.
model.fit(X_train, y_train, epochs=10)
Fa'ata'ita'iga Iloiloga
I le taimi nei, e tatau ona tatou iloiloina le faʻataʻitaʻiga aʻoaʻoina i luga o faʻamaumauga o suʻega. Matou te fa'aogaina le gau o le su'ega ma fa'aoga sa'o le su'ega e iloilo ai le fa'atinoga o le fa'ata'ita'iga. I luga o le suʻega faʻamatalaga X suʻega ma faʻailoga suʻega y suʻega, matou te manaʻomia le taʻua o le "model.evaluate function"
O le galuega e maua ai le sa'o o le su'ega ma le gau o le su'ega. Ole su'ega ole su'ega gau ma le sa'o ole su'ega, o lo'o i ai nei tau. Mulimuli ane, matou te faʻaogaina le "lomi" galuega e faʻaalia ai le saʻo o le suʻega.
test_loss, test_accuracy = model.evaluate(X_test, y_test)
print("Test accuracy:", test_accuracy)
Va'aiga Vasega ma Mauaina Vasega Va'ai
Faʻaaogaina le faʻataʻitaʻiga aʻoaʻoga ma faʻamaumauga o suʻega, o le algorithm e faia ai faʻamatalaga. A tu'uina atu fa'amaumauga o su'ega i le metotia "model.predict", e maua mai ai se fa'asologa o valo'aga mo ata ta'itasi i le seti su'ega.
Ole igoa ole vasega fa'atatau mo ata ta'itasi e toe maua mai i le lisi o "igoa fa'atatau" e fa'aaoga ai le galuega "np.argmax" e fa'ailoa ai le fa'ailoga ma le tele o le fa'amoemoe. Ona fa'aoga lea o lenei fa'asino e iloa ai le vasega vavalo mo ata ta'itasi.
I le faʻaaogaina o se lisi malamalama, o faʻamatalaga uma i le "valoaga" laina e faʻatatau i lenei metotia, e mafua ai le lisi o "vasega vavalo".
predictions = model.predict(X_test)
predicted_classes = [target_names[np.argmax(prediction)] for prediction in predictions]
Va'aiga Va'aiga Va'aiga
Ua mafai nei ona tatou vaʻai pe faʻafefea ona foliga mai la tatou faʻataʻitaʻiga.
Ina ia iloilo pe o le a le lelei o le faʻataʻitaʻiga, o ata muamua e 10 ma a latou vaʻaiga o le a faʻaalia. O le a faʻapipiʻi ata i le grayscale ma faʻaalia uma le vasega moni o le ata ma le vasega na valoia e le faʻataʻitaʻiga e faʻaaoga ai le matplotlib.pyplot module.
O le galuega "imshow" o lo'o fa'aogaina e le matasele mo le fa'avasegaina o ata ta'itasi muamua e 10 o seti su'ega. Igoa fa'atatau [y su'ega[i]] ma vasega vavalo[i] e fa'aoga e fa'amautu ai le vasega moni o le ata ma le vasega va'ai, i le faasologa. O ulutala o fasi fanua ta'itasi e fa'ailoa mai e nei fa'avasegaga.
Mulimuli ane, o loʻo faʻaalia le fuafuaga e faʻaaoga ai le plt.show() metotia.
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()
Faamae'a mai
TensorFlow e ofoina atu se siosiomaga atoatoa ma fetuutuunai mo le fatuina o faʻataʻitaʻiga aʻoaʻoga masini.
E ala i le fa'amalieina lelei o le fa'ata'ita'iga e fa'amalieina mana'oga fa'apitoa po'o le fa'aopoopoina o ni atina'e fou i le a'oa'oina o masini, e ono fa'ateleina atili le sa'o o le fa'ata'ita'iga.
O le TensorFlow ma le fa'alauiloaina o foliga o le a fa'aaogaina fa'atuputeleina i alamanuia e pei o le puipuiga malu, biometric fa'amaoni, ma le soifua maloloina i le lumana'i. O le a tatou va'ai i ni fa'afouga mata'ina i se taimi lata mai.
Tuua se tali