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
Sebelum kita memulai instalasi dan penggunaan TensorFlow, penting untuk memahami apa itu TensorFlow dan konsep dasar di baliknya. TensorFlow adalah kerangka kerja open-source untuk komputasi numerik dan dysgu peiriant. Ia menggunakan grafik aliran data (data flow graphs) untuk melakukan operasi numerik, di mana node dalam grafik mewakili operasi matematika, dan tepi (edges) mewakili array data multidimensi (tensor) yang dihubungkan di antara mereka.
2. Gosod TensorFlow
Y cam cyntaf wrth ddefnyddio TensorFlow yw ei osod. Dyma sut i osod TensorFlow gan ddefnyddio pip, rheolwr pecynnau Python.
1. Instalasi 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. Virtual Environment:
Argymhellir yn gryf creu amgylchedd rhithwir i ynysu eich prosiect TensorFlow:
"`sh
python -m venv myenv
source myenv/bin/activate Untuk pengguna Mac/Linux
myenv\Scripts\activate Untuk pengguna Windows
“`
3. Instalasi 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
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
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:
– Datasets: Kami mengimpor dan memuat dataset MNIST.
– Preprocessing: Dataset normalisasi dengan membagi nilai pixel dengan 255.
– Model: Kami mendefinisikan model sederhana dengan dua lapisan. Lapisan pertama adalah `Flatten` untuk mengubah gambar 2D menjadi array 1D. Lapisan kedua adalah `Dense` layer dengan 128 neuron dan `relu` sebagai fungsi aktivasi, dan yang terakhir `Dense` layer dengan 10 neuron mewakili 10 kelas.
– Compile: Kami mengkompilasi model menggunakan optimizer `adam` dan `SparseCategoricalCrossentropy` sebagai fungsi kerugian.
– Train: Melatih model selama 5 epoch.
– Evaluate: Mengevaluasi model terhadap data uji.
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
Panduan ini memberikan pengantar mendetail untuk memulai dengan TensorFlow untuk pemula. Kami telah membahas instalasi, operasi tensor dasar, dan pembuatan model neural network sederhana menggunakan dataset MNIST. TensorFlow menawarkan banyak kemampuan lebih lanjut yang bisa dieksplorasi, seperti prosesu data yang lebih lanjut, model yang lebih kompleks, dan penggunaan TensorFlow di berbagai perangkat seperti TPU dan GPU. Semoga tutorial ini membantumu memulai perjalanan dalam dunia dysgu peiriant dengan TensorFlow.