ការបង្រៀនប្រើប្រាស់ TensorFlow សម្រាប់អ្នកចាប់ផ្តើមដំបូង

ការបង្រៀន TensorFlow សម្រាប់អ្នកចាប់ផ្តើមដំបូង

TensorFlow គឺជាក្របខ័ណ្ឌមួយក្នុងចំណោមក្របខ័ណ្ឌដ៏ពេញនិយមបំផុតសម្រាប់ការរៀនសូត្រស៊ីជម្រៅ និងការរៀនសូត្ររបស់ម៉ាស៊ីន។ បង្កើតឡើងដោយក្រុម Google Brain TensorFlow ត្រូវបានគេប្រើប្រាស់យ៉ាងទូលំទូលាយនៅក្នុងគម្រោងស្រាវជ្រាវ និងកម្មវិធីឧស្សាហកម្មជាច្រើន។ អត្ថបទនេះផ្តល់នូវការបង្រៀនជាជំហានៗ ដើម្បីជួយអ្នក ក្នុងនាមជាអ្នកចាប់ផ្តើមដំបូង ឱ្យចាប់ផ្តើមជាមួយ TensorFlow។

១. ការយល់ដឹងអំពីមូលដ្ឋានគ្រឹះនៃ TensorFlow

មុនពេលយើងចាប់ផ្តើមដំឡើង និងប្រើប្រាស់ TensorFlow វាជារឿងសំខាន់ក្នុងការយល់ដឹងអំពី TensorFlow និងគោលគំនិតជាមូលដ្ឋាននៅពីក្រោយវា។ TensorFlow គឺជាក្របខ័ណ្ឌប្រភពបើកចំហសម្រាប់ការគណនាលេខ និង ការរៀនម៉ាស៊ីន ។ វាប្រើក្រាហ្វលំហូរទិន្នន័យដើម្បីអនុវត្តប្រតិបត្តិការលេខ ដែលណូតនៅក្នុងក្រាហ្វតំណាងឱ្យប្រតិបត្តិការគណិតវិទ្យា ហើយគែមតំណាងឱ្យអារេទិន្នន័យពហុវិមាត្រ (tensor) ដែលភ្ជាប់រវាងពួកវា។

2. ការដំឡើង TensorFlow

ជំហានដំបូងក្នុងការប្រើប្រាស់ TensorFlow គឺការដំឡើងវា។ នេះជារបៀបដំឡើង TensorFlow ដោយប្រើ pip ដែលជាកម្មវិធីគ្រប់គ្រងកញ្ចប់ Python។

១. ការដំឡើង Python៖
ត្រូវប្រាកដថាអ្នកបានដំឡើង Python នៅលើប្រព័ន្ធរបស់អ្នក។ TensorFlow អាចប្រើបានជាមួយ Python 3.6 ដល់ 3.9 នៅពេលសរសេរនេះ។ អ្នកអាចទាញយក Python ពីគេហទំព័រផ្លូវការរបស់ Python។

២. បរិស្ថាននិម្មិត៖
វាត្រូវបានណែនាំយ៉ាងខ្លាំងឱ្យបង្កើតបរិស្ថាននិម្មិតមួយដើម្បីញែកគម្រោង TensorFlow របស់អ្នក៖
“`ស
python -m venv myenv
ប្រភព myenv/bin/activate សម្រាប់អ្នកប្រើប្រាស់ Mac/Linux
សម្រាប់អ្នកប្រើប្រាស់ Windows
“ `

៣. ការដំឡើង TensorFlow៖
ឥឡូវនេះ សូមដំឡើង TensorFlow ដោយប្រើ pip៖
“`ស
pip ដំឡើង tensorflow
“ `

៣. សួស្តីពិភពលោកជាមួយ TensorFlow

ឥឡូវនេះ TensorFlow ត្រូវបានដំឡើងរួចរាល់ហើយ ចូរយើងបង្កើតស្គ្រីប Python សាមញ្ញមួយដើម្បីផ្ទៀងផ្ទាត់ការដំឡើង។ បង្កើតឯកសារ Python ថ្មីមួយ ហើយដាក់ឈ្មោះវាថា `hello_tensorflow.py`។

“`ពស់ថ្លាន់
នាំចូលតង់ស៊ីតេជា tf

បង្កើតអថេរមួយ
សួស្តី = tf.constant('សួស្តី TensorFlow!')

ចាប់ផ្តើមវគ្គ
ជាមួយ tf.Session() ជា sess៖
លទ្ធផល = sess.run(សួស្តី)
បោះពុម្ព (លទ្ធផល)
“ `

កែសម្រួលកូដស្របតាម TensorFlow កំណែ 2.x៖

“`ពស់ថ្លាន់
នាំចូលតង់ស៊ីតេជា tf

បង្កើតអថេរមួយ
សួស្តី = tf.constant('សួស្តី TensorFlow!')

ដំណើរការដោយប្រើការប្រតិបត្តិបែប Eager (បើកតាមលំនាំដើម)
បោះពុម្ព (hello.numpy())
“ `

រក្សាទុកឯកសារ បន្ទាប់មកដំណើរការ៖
“`ស
python hello_tensorflow.py
“ `

៤. ការយល់ដឹងអំពី Tensors និងប្រតិបត្តិការមូលដ្ឋាន

តង់ស័រ គឺជារចនាសម្ព័ន្ធទិន្នន័យចម្បងនៅក្នុង TensorFlow ដែលជាអារេពហុវិមាត្រ។ ខាងក្រោមនេះជាឧទាហរណ៍មួយចំនួនដើម្បីជួយអ្នកឱ្យយល់អំពីតង់ស័រ៖

“`ពស់ថ្លាន់
នាំចូលតង់ស៊ីតេជា tf

ការបង្កើតតង់ស័រ
ស្កាឡា = tf. ថេរ (7) ស្កាឡា
វ៉ិចទ័រ = tf. ថេរ ([1, 2, 3]) វ៉ិចទ័រ
ម៉ាទ្រីស = tf. constant([[1, 2], [3, 4]]) ម៉ាទ្រីស
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) តង់ស័របីវិមាត្រ

បោះពុម្ព (f'Scalar: {scalar}')
បោះពុម្ព (f'វ៉ិចទ័រ៖ {វ៉ិចទ័រ}')
បោះពុម្ព (f'ម៉ាទ្រីស៖ {ម៉ាទ្រីស}')
បោះពុម្ព (សម្រាប់ 'Tensor 3D: {tensor3d}')
“ `

ដើម្បីអនុវត្តប្រតិបត្តិការមូលដ្ឋានលើតង់ស័រ៖

“`ពស់ថ្លាន់
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])

ប្រតិបត្តិការបូក
បន្ថែម = tf.បន្ថែម(a, b)
ប្រតិបត្តិការគុណម៉ាទ្រីស
mul = tf.matmul(a, b)

បោះពុម្ព (f'ការបន្ថែម៖ {បន្ថែម}')
print(f'ការគុណម៉ាទ្រីស៖ {mul}')
“ `

៥. ការបង្កើតគំរូបណ្តាញសរសៃប្រសាទសាមញ្ញមួយ

ជំហានបន្ទាប់គឺបង្កើតគំរូបណ្តាញសរសៃប្រសាទសាមញ្ញមួយ។ យើងនឹងបង្កើតគំរូចាត់ថ្នាក់រូបភាពដោយប្រើសំណុំទិន្នន័យ MNIST ដែលជាមូលដ្ឋានទិន្នន័យនៃរូបភាពខ្ទង់សរសេរដោយដៃ។ ចូរយើងចាប់ផ្តើម៖

“`ពស់ថ្លាន់
នាំចូលតង់ស៊ីតេជា tf
ពី tensorflow.keras នាំចូលសំណុំទិន្នន័យ ស្រទាប់ និងគំរូ

ទាញយកសំណុំទិន្នន័យ MNIST120 ...
(រូបភាពរថភ្លើង, ស្លាករថភ្លើង), (រូបភាពសាកល្បង, ស្លាកសាកល្បង) = សំណុំទិន្នន័យ.mnist.load_data()

ការធ្វើឱ្យរូបភាពមានលក្ខណៈធម្មតា
រូបភាពរថភ្លើង, រូបភាពសាកល្បង = រូបភាពរថភ្លើង / 255.0, រូបភាពសាកល្បង / 255.0

ការធ្វើគំរូ
ម៉ូដែល = ម៉ូដែល.លំដាប់លំដោយ([
ស្រទាប់។ រាបស្មើ (input_shape = (28, 28)),
layers.Dense(128, activation='relu'),
ស្រទាប់ក្រាស់ (10)
])

ការចងក្រងគំរូ
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
ម៉ែត្រ = ['ភាពត្រឹមត្រូវ'])

ការបណ្តុះបណ្តាលគំរូ
model.fit(train_images, train_labels, epochs=5)

កំពុងសាកល្បងគំរូ
test_loss, test_acc = model.evaluate(រូបភាពតេស្ត, ស្លាកតេស្ត)
print(f'ភាពត្រឹមត្រូវនៃការធ្វើតេស្ត៖ {test_acc}')
“ `

ការពន្យល់៖
– សំណុំទិន្នន័យ៖ យើងនាំចូល និងផ្ទុកសំណុំទិន្នន័យ MNIST។
– ការដំណើរការជាមុន៖ ធ្វើឱ្យសំណុំទិន្នន័យមានលក្ខណៈធម្មតាដោយចែកតម្លៃភីកសែលដោយ 255។
– គំរូ៖ យើងកំណត់គំរូសាមញ្ញមួយដែលមានស្រទាប់ពីរ។ ស្រទាប់ទីមួយគឺជាស្រទាប់ `Flatten` ដើម្បីបំលែងរូបភាព 2D ទៅជាអារេ 1D។ ស្រទាប់ទីពីរគឺជាស្រទាប់ `Dense` ដែលមានណឺរ៉ូនចំនួន 128 និង `relu` ជាមុខងារធ្វើឱ្យសកម្ម ហើយស្រទាប់ចុងក្រោយគឺជាស្រទាប់ `Dense` ដែលមានណឺរ៉ូនចំនួន 10 ដែលតំណាងឱ្យថ្នាក់ចំនួន 10។
– ចងក្រង៖ យើងចងក្រងគំរូដោយប្រើឧបករណ៍បង្កើនប្រសិទ្ធភាព `adam` និង `SparseCategoricalCrossentropy` ជាអនុគមន៍បាត់បង់។
- ហ្វឹកហាត់៖ ហ្វឹកហាត់គំរូរយៈពេល ៥ សម័យកាល។
- វាយតម្លៃ៖ វាយតម្លៃគំរូធៀបនឹងទិន្នន័យសាកល្បង។

៦. ការរក្សាទុក និងផ្ទុកគំរូ

បន្ទាប់ពីហ្វឹកហាត់គំរូរួច អ្នកប្រហែលជាចង់រក្សាទុកវាសម្រាប់ប្រើប្រាស់នៅពេលក្រោយដោយមិនចាំបាច់ហ្វឹកហាត់វាឡើងវិញទេ។ នេះជារបៀបរក្សាទុក និងផ្ទុកគំរូ៖

“`ពស់ថ្លាន់
កំពុងរក្សាទុកគំរូ
រក្សាទុកម៉ូដែល ('ម៉ូដែល_របស់ខ្ញុំ.h5')

កំពុងផ្ទុកម៉ូដែល
ម៉ូដែលថ្មី = tf.keras.models.load_model('my_model.h5′)

កំពុងផ្ទៀងផ្ទាត់ម៉ូដែលដែលបានផ្ទុក
ការខាតបង់, acc = new_model.evaluate(test_images, test_labels)
print(f'ភាពត្រឹមត្រូវនៃគំរូដែលបានផ្ទុក៖ {acc}')
“ `

សេចក្តីសន្និដ្ឋាន

មគ្គុទ្ទេសក៍នេះផ្តល់នូវការណែនាំលម្អិតអំពីការចាប់ផ្តើមជាមួយ TensorFlow សម្រាប់អ្នកចាប់ផ្តើមដំបូង។ យើងបានគ្របដណ្តប់លើការដំឡើង ប្រតិបត្តិការ tensor មូលដ្ឋាន និងការកសាងគំរូបណ្តាញសរសៃប្រសាទសាមញ្ញដោយប្រើសំណុំទិន្នន័យ MNIST។ TensorFlow ផ្តល់ជូននូវសមត្ថភាពកម្រិតខ្ពស់ជាច្រើនដើម្បីស្វែងយល់ ដូចជា ដំណើរការទិន្នន័យ កម្រិតខ្ពស់ គំរូស្មុគស្មាញជាងនេះ និងការប្រើប្រាស់ TensorFlow លើឧបករណ៍ដូចជា TPU និង GPU។ យើងសង្ឃឹមថាការបង្រៀននេះជួយអ្នកឱ្យចាប់ផ្តើមនៅក្នុងពិភព នៃការរៀនម៉ាស៊ីន ជាមួយ TensorFlow។

សូម​បញ្ចេញ​មតិ