Kev Qhia Txog TensorFlow Rau Cov Neeg Pib Tshiab
TensorFlow yog ib qho ntawm cov frameworks nrov tshaj plaws rau kev kawm tob thiab kev kawm tshuab. Tsim los ntawm pab pawg Google Brain, TensorFlow tau siv dav hauv ntau qhov kev tshawb fawb thiab kev siv hauv kev lag luam. Tsab xov xwm no muab cov lus qhia ib kauj ruam zuj zus los pab koj, ua tus pib tshiab, pib nrog TensorFlow.
1. Nkag Siab Txog TensorFlow Cov Ntsiab Lus Tseem Ceeb
Ua ntej peb pib txhim kho thiab siv TensorFlow, nws yog ib qho tseem ceeb kom nkag siab txog TensorFlow yog dab tsi thiab cov ntsiab lus yooj yim tom qab nws. TensorFlow yog ib lub moj khaum qhib rau kev suav lej thiab kev kawm tshuab. Nws siv cov duab qhia txog cov ntaub ntawv ntws los ua cov haujlwm lej, qhov twg cov nodes hauv daim duab sawv cev rau kev ua haujlwm lej, thiab cov npoo sawv cev rau ntau qhov sib txuas ntawm cov ntaub ntawv (tensors) txuas nrog lawv.
2. Kev Teeb tsa TensorFlow
Kauj ruam thawj zaug hauv kev siv TensorFlow yog kev teeb tsa nws. Nov yog yuav ua li cas rau kev teeb tsa TensorFlow siv pip, tus thawj tswj pob Python.
1. Kev Teeb tsa Python:
Xyuas kom tseeb tias koj muaj Python ntsia rau hauv koj lub system. TensorFlow sib xws nrog Python 3.6 txog 3.9 thaum lub sijhawm sau ntawv no. Koj tuaj yeem rub tawm Python los ntawm lub vev xaib Python official.
2. Ib puag ncig virtual:
Nws raug pom zoo kom tsim ib qho chaw virtual los cais koj qhov project TensorFlow:
"`sh
python -m venv myenv
source myenv/bin/activate Rau cov neeg siv Mac/Linux
Rau cov neeg siv Windows
“
3. Kev Teeb tsa TensorFlow:
Tam sim no, nruab TensorFlow siv pip:
"`sh
pip nruab tensorflow
“
3. Nyob Zoo Lub Ntiaj Teb nrog TensorFlow
Tam sim no uas TensorFlow tau teeb tsa lawm, cia peb tsim ib tsab ntawv Python yooj yim los xyuas qhov kev teeb tsa. Tsim ib daim ntawv Python tshiab thiab muab nws lub npe hu ua `hello_tensorflow.py`.
"" python
import tensorflow as tf
Tsim ib qho tsis tu ncua
nyob zoo = tf.constant('Nyob zoo, TensorFlow!')
Pib lub rooj sib tham
nrog tf.Session() ua sess:
result = sess.run(nyob zoo)
luam tawm (tseem ceeb)
“
Kho cov code raws li TensorFlow version 2.x:
"" python
import tensorflow as tf
Tsim ib qho tsis tu ncua
nyob zoo = tf.constant('Nyob zoo, TensorFlow!')
Khiav siv eager execution (nyob ntawm lub neej ntawd)
luam tawm(nyob zoo.numpy())
“
Txuag cov ntaub ntawv, ces khiav:
"`sh
python hello_tensorflow.py
“
4. Nkag Siab Txog Tensors Thiab Cov Haujlwm Yooj Yim
Tensors yog cov qauv ntaub ntawv tseem ceeb hauv TensorFlow, uas yog cov arrays ntau qhov ntev. Nov yog qee qhov piv txwv los pab koj nkag siab txog tensors:
"" python
import tensorflow as tf
Tsim cov tensors
scalar = tf. constant(7) scalar
vector = tf. constant([1, 2, 3]) vector
matrix = tf. constant([[1, 2], [3, 4]]) matrix
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D tensor
luam tawm(f'Scalar: {scalar}')
luam tawm(f'Vector: {vector}')
luam tawm (f'Matrix: {matrix}')
luam tawm (f'Tensor 3D: {tensor3d}')
“
Yuav ua cov haujlwm yooj yim ntawm tensors:
"" python
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Kev ua haujlwm ntxiv
ntxiv = tf.ntxiv(a, b)
Kev ua haujlwm sib npaug ntawm matrix
mul = tf.matmul(a, b)
luam tawm (f'Ntxiv: {ntxiv}')
print(f'Matrix Multiplication: {mul}')
“
5. Tsim Ib Lub Qauv Neural Network Yooj Yim
Kauj ruam tom ntej yog tsim ib qho qauv neural network yooj yim. Peb yuav tsim ib qho qauv kev faib tawm duab siv cov ntaub ntawv MNIST, lub hauv paus ntaub ntawv ntawm cov duab sau tes. Cia peb pib:
"" python
import tensorflow as tf
los ntawm tensorflow.keras import cov ntaub ntawv, cov txheej, cov qauv
Download tau cov ntaub ntawv MNIST
(cov duab tsheb ciav hlau, cov ntawv cim tsheb ciav hlau), (cov duab xeem, cov ntawv cim xeem) = cov ntaub ntawv teeb tsa.mnist.load_data()
Kev kho kom zoo li qub ntawm cov duab
cov duab tsheb ciav hlau, cov duab xeem = cov duab tsheb ciav hlau / 255.0, cov duab xeem / 255.0
Ua ib tug qauv
qauv = qauv.Sequential([
cov khaubncaws sab nraud povtseg.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
cov khaubncaws sab nraud povtseg.Ntoo (10)
])
Kev sau ua qauv
qauv.compile(optimizer='adam',
poob=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics = ['qhov tseeb'])
Kev cob qhia tus qauv
qauv.haum(cov duab tsheb ciav hlau, cov ntawv cim tsheb ciav hlau, lub sijhawm = 5)
Kev sim tus qauv
kev poob xeem, kev xeem_acc = qauv.evaluate(cov duab xeem, cov ntawv cim xeem)
luam tawm (f'Kev Ntsuas Qhov Tseeb: {test_acc}')
“
Kev Piav Qhia:
- Cov ntaub ntawv teeb tsa: Peb import thiab load cov ntaub ntawv MNIST.
- Kev ua ua ntej: Normalize cov ntaub ntawv los ntawm kev faib cov nqi pixel los ntawm 255.
– Qauv: Peb txhais ib qho qauv yooj yim nrog ob txheej. Txheej thawj yog txheej 'Flatten' los hloov cov duab 2D mus rau hauv 1D array. Txheej thib ob yog txheej 'Dense' nrog 128 neurons thiab 'relu' ua lub luag haujlwm ua kom muaj zog, thiab txheej kawg yog txheej 'Dense' nrog 10 neurons sawv cev rau 10 chav kawm.
- Sau ua ke: Peb sau cov qauv siv lub `adam` optimizer thiab `SparseCategoricalCrossentropy` ua lub luag haujlwm poob.
- Kev cob qhia: cob qhia tus qauv rau 5 lub sijhawm.
- Kev Ntsuas: Soj ntsuam tus qauv nrog cov ntaub ntawv xeem.
6. Txuag thiab Thauj Cov Qauv
Tom qab koj cob qhia ib tug qauv lawm, tej zaum koj yuav xav khaws cia rau siv tom qab yam tsis tas yuav rov cob qhia dua. Nov yog yuav ua li cas txuag thiab thauj ib tug qauv:
"" python
Txuag tus qauv
qauv.txuag('my_model.h5')
Thauj khoom qauv
qauv_tshiab = tf.keras.models.load_model('my_model.h5′)
Txheeb xyuas tus qauv uas tau thauj khoom lawm
poob, acc = qauv_tshiab.evaluate(cov_duab_tsim, cov_npe_tsim)
luam tawm (f'Kev raug ntawm cov qauv thauj khoom: {acc}')
“
Xaus
Phau ntawv qhia no muab cov lus qhia ntxaws ntxaws txog kev pib siv TensorFlow rau cov neeg pib tshiab. Peb tau tham txog kev teeb tsa, kev ua haujlwm yooj yim ntawm tensor, thiab kev tsim cov qauv neural network yooj yim siv cov ntaub ntawv MNIST. TensorFlow muaj ntau yam peev xwm siab heev los tshawb nrhiav, xws li kev ua cov ntaub ntawv siab heev, cov qauv nyuaj dua, thiab kev siv TensorFlow ntawm cov khoom siv xws li TPUs thiab GPUs. Peb vam tias cov lus qhia no yuav pab koj pib hauv ntiaj teb kev kawm tshuab nrog TensorFlow.