Tiwtorial TensorFlow i Ddechreuwyr
Mae TensorFlow yn un o'r fframweithiau mwyaf poblogaidd ar gyfer dysgu dwfn a dysgu peirianyddol. Wedi'i ddatblygu gan dîm Google Brain, mae TensorFlow wedi cael ei ddefnyddio'n helaeth mewn nifer o brosiectau ymchwil a chymwysiadau diwydiannol. Mae'r erthygl hon yn darparu tiwtorial cam wrth gam i'ch helpu chi, fel dechreuwr, i ddechrau gyda TensorFlow.
1. Deall Hanfodion TensorFlow
Cyn i ni ddechrau gosod a defnyddio TensorFlow, mae'n bwysig deall beth yw TensorFlow a'r cysyniadau sylfaenol y tu ôl iddo. Mae TensorFlow yn fframwaith ffynhonnell agored ar gyfer cyfrifiadu rhifiadol a dysgu peirianyddol. Mae'n defnyddio graffiau llif data i gyflawni gweithrediadau rhifiadol, lle mae nodau yn y graff yn cynrychioli gweithrediadau mathemategol, ac mae ymylon yn cynrychioli araeau data amlddimensiwn (tensorau) sy'n gysylltiedig rhyngddynt.
2. Gosod TensorFlow
Y cam cyntaf wrth ddefnyddio TensorFlow yw ei osod. Dyma sut i osod TensorFlow gan ddefnyddio pip, rheolwr pecynnau Python.
1. Gosod Python:
Gwnewch yn siŵr bod Python wedi'i osod ar eich system. Mae TensorFlow yn gydnaws â Python 3.6 hyd at 3.9 ar adeg ysgrifennu hwn. Gallwch lawrlwytho Python o wefan swyddogol Python.
2. Amgylchedd Rhithwir:
Argymhellir yn gryf creu amgylchedd rhithwir i ynysu eich prosiect TensorFlow:
"`sh
python -m venv myenv
ffynhonnell myenv/bin/activate Ar gyfer defnyddwyr Mac/Linux
myenv\Scripts\activate Ar gyfer defnyddwyr Windows
“`
3. Gosod TensorFlow:
Nawr, gosodwch TensorFlow gan ddefnyddio pip:
"`sh
pip gosod tensorflow
“`
3. Helo Byd gyda TensorFlow
Nawr bod TensorFlow wedi'i osod, gadewch i ni greu sgript Python syml i wirio'r gosodiad. Crëwch ffeil Python newydd a'i henwi'n `hello_tensorflow.py`.
"`python
mewnforio tensorflow fel tf
Creu cysonyn
helo = tf.constant('Helo, TensorFlow!')
Dechrau sesiwn
gyda tf.Session() fel sess:
canlyniad = sess.run(helo)
argraffu (canlyniad)
“`
Addaswch y cod yn ôl TensorFlow fersiwn 2.x:
"`python
mewnforio tensorflow fel tf
Creu cysonyn
helo = tf.constant('Helo, TensorFlow!')
Rhedeg gan ddefnyddio gweithrediad brwd (ymlaen yn ddiofyn)
argraffu(helo.numpy())
“`
Cadwch y ffeil, yna rhedeg:
"`sh
python hello_tensorflow.py
“`
4. Deall Tensorau a Gweithrediadau Sylfaenol
Tensorau yw'r prif strwythur data yn TensorFlow, sef araeau amlddimensiwn. Dyma rai enghreifftiau i'ch helpu i ddeall tensorau:
"`python
mewnforio tensorflow fel tf
Creu tensorau
sgalar = tf. cysonyn(7) sgalar
fector = tf. cysonyn([1, 2, 3]) fector
matrics = tf. constant([[1, 2], [3, 4]]) matrics
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) tensor 3D
argraffu(f'Sgalar: {sgalar}')
argraffu(f'Fector: {fector}')
argraffu(f'Matrics: {matrics}')
argraffu(f'Tensor 3D: {tensor3d}')
“`
I gyflawni gweithrediadau sylfaenol ar tensorau:
"`python
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Gweithrediad adio
ychwanegu = tf.ychwanegu(a, b)
Gweithrediadau lluosi matrics
mul = tf.matmul(a, b)
print(f'Ychwanegiad: {ychwanegu}')
print(f'Lluosi Matrics: {mul}')
“`
5. Creu Model Rhwydwaith Niwral Syml
Y cam nesaf yw creu model rhwydwaith niwral syml. Byddwn yn adeiladu model dosbarthu delweddau gan ddefnyddio'r set ddata MNIST, cronfa ddata o ddelweddau digid wedi'u hysgrifennu â llaw. Gadewch i ni ddechrau:
"`python
mewnforio tensorflow fel tf
o tensorflow.keras mewnforio setiau data, haenau, modelau
Lawrlwytho'r set ddata MNIST
(delweddau_trên, labeli_trên), (delweddau_prawf, labeli_prawf) = setiau_data.mnist.llwytho_data()
Normaleiddio delweddau
delweddau_trên, delweddau_prawf = delweddau_trên / 255.0, delweddau_prawf / 255.0
Gwneud model
model = models.Dilyniannol([
haenau.Fflatten(siâp_mewnbwn=(28, 28)),
haenau.Dense(128, activation='relu'),
haenau.Dwys (10)
])
Casgliad model
model.compile(optimeiddiwr='adam',
colled=tf.keras.colledion.CroesentropiCategorïaiddPrin(o_logitiau=Gwir),
metrigau=['cywirdeb'])
Hyfforddi'r model
model.fit(delweddau_trên, labeli_trên, cyfnodau=5)
Profi'r model
colli_prawf, cronfa_prawf = model.gwerthuso(delweddau_prawf, labeli_prawf)
print(f'Cywirdeb prawf: {test_acc}')
“`
Esboniad:
– Setiau data: Rydym yn mewnforio ac yn llwytho'r set ddata MNIST.
– Cyn-brosesu: Normaleiddio'r set ddata trwy rannu gwerthoedd picsel â 255.
– Model: Rydym yn diffinio model syml gyda dwy haen. Yr haen gyntaf yw haen 'Fflatio' i drosi'r ddelwedd 2D yn arae 1D. Yr ail haen yw haen 'Dwys' gyda 128 o niwronau a 'relu' fel y swyddogaeth actifadu, a'r olaf yw haen 'Dwys' gyda 10 niwron yn cynrychioli 10 dosbarth.
– Llunio: Rydym yn llunio'r model gan ddefnyddio'r optimeiddiwr `adam` a `SparseCategoricalCrossentropy` fel y ffwythiant colli.
– Hyfforddi: Hyfforddwch y model am 5 cyfnod.
– Gwerthuso: Gwerthuso'r model yn erbyn data prawf.
6. Cadw a Llwytho Modelau
Ar ôl hyfforddi model, efallai yr hoffech ei gadw i'w ddefnyddio'n ddiweddarach heb orfod ei ailhyfforddi. Dyma sut i gadw a llwytho model:
"`python
Arbed y model
model.save('my_model.h5')
Llwytho model
model_newydd = tf.keras.modelau.llwytho_model('fy_model.h5')
Gwirio'r model a lwythwyd
colled, acc = model_newydd.gwerthuso(delweddau_prawf, labeli_prawf)
print(f'Cywirdeb y model a lwythwyd: {acc}')
“`
Casgliad
Mae'r canllaw hwn yn rhoi cyflwyniad manwl i ddechrau gyda TensorFlow i ddechreuwyr. Rydym wedi ymdrin â gosod, gweithrediadau tensor sylfaenol, ac adeiladu model rhwydwaith niwral syml gan ddefnyddio'r set ddata MNIST. Mae TensorFlow yn cynnig llawer o alluoedd uwch i'w harchwilio, megis prosesu data uwch, modelau mwy cymhleth, a defnyddio TensorFlow ar ddyfeisiau fel TPUs a GPUs. Gobeithiwn y bydd y tiwtorial hwn yn eich helpu i ddechrau ym myd dysgu peirianyddol gyda TensorFlow.