chore(i18n): sync translations with latest source changes (chunk 1/1, 19 changes)

This commit is contained in:
localizeflow[bot] 2026-07-08 20:51:44 +00:00
parent 90101b2eb8
commit e247182ee8
19 changed files with 3688 additions and 3522 deletions

View File

@ -5,6 +5,12 @@
"source_file": "AGENTS.md",
"language_code": "km"
},
"CONTRIBUTING.md": {
"original_hash": "c6fd7e781b67111a90abd166d0ce4aa0",
"translation_date": "2026-07-08T20:51:39+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "km"
},
"README.md": {
"original_hash": "12c8eb6bf0867d2f1c32daf613ac5b8b",
"translation_date": "2026-04-06T17:01:21+00:00",
@ -17,6 +23,19 @@
"source_file": "SECURITY.md",
"language_code": "km"
},
"__translation_failures__": {
"lessons/sketchnotes/LICENSE.md": {
"original_hash": "45ab63a2cd8f5faef6c9b150618837a4",
"source_file": "lessons/sketchnotes/LICENSE.md",
"language_code": "km",
"failure_date": "2026-07-08T20:51:02+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"failure_policy_version": 1
}
},
"etc/CODE_OF_CONDUCT.md": {
"original_hash": "c06b12caf3c901eb3156e3dd5b0aea56",
"translation_date": "2026-04-06T17:01:55+00:00",
@ -60,8 +79,8 @@
"language_code": "km"
},
"examples/README.md": {
"original_hash": "0d1babfdcbeb46525f2db3fbaaa54cd7",
"translation_date": "2026-04-06T17:03:36+00:00",
"original_hash": "7883d52c2e2a221e0b07a7b112a149b9",
"translation_date": "2026-07-08T20:43:44+00:00",
"source_file": "examples/README.md",
"language_code": "km"
},
@ -72,8 +91,8 @@
"language_code": "km"
},
"lessons/0-course-setup/how-to-run.md": {
"original_hash": "a4717bd9103b9f6cd84d534b83534689",
"translation_date": "2026-04-06T17:06:01+00:00",
"original_hash": "7ad8c7d8604c53649b3d4d1e2f3a6fa1",
"translation_date": "2026-07-08T20:44:16+00:00",
"source_file": "lessons/0-course-setup/how-to-run.md",
"language_code": "km"
},
@ -306,8 +325,8 @@
"language_code": "km"
},
"lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb": {
"original_hash": "c189abc107848f96051085cc30945129",
"translation_date": "2026-04-06T17:57:58+00:00",
"original_hash": "99b816b6a4957ef4100cee4c4221dff9",
"translation_date": "2026-07-08T20:27:14+00:00",
"source_file": "lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb",
"language_code": "km"
},
@ -600,8 +619,8 @@
"language_code": "km"
},
"lessons/5-NLP/README.md": {
"original_hash": "8ef02a9318257ea140ed3ed74442096d",
"translation_date": "2026-04-06T17:12:27+00:00",
"original_hash": "038df6f1a73e49f6430740da083bfd6d",
"translation_date": "2026-07-08T20:44:59+00:00",
"source_file": "lessons/5-NLP/README.md",
"language_code": "km"
},

View File

@ -0,0 +1,29 @@
# យកបំណែកចូលរួមក្នុង AI-For-Beginners
សូមអរគុណចំពោះចំណាប់អារម្មណ៍របស់អ្នកក្នុងការយកបំណែកចូលរួមក្នុង AI-For-Beginners! យើងសូមស្វាគមន៍ការបកប្រែ ការកែលម្អមេរៀន និងការកែតម្រូវទ្រង់ទ្រាយ។
## កិច្ចព្រមព្រៀងសិទ្ធិអ្នករួមចំណែក Microsoft (CLA)
គម្រោងនេះសូមស្វាគមន៍ការយកបំណែក និងយោបល់។ ភាគច្រើននៃការយកបំណែកតម្រូវឲ្យអ្នកយល់ព្រមលើកិច្ចព្រមព្រៀងសិទ្ធិនៅពេលអ្នករួមចំណែក (CLA) ដែលបញ្ជាក់ថាអ្នកមានសិទ្ធិ ហើយពិតជា ផ្តល់សិទ្ធិឲ្យយើងប្រើប្រាស់ការយកបំណែករបស់អ្នក។ សម្រាប់ព័ត៌មានលម្អិត សូមចូលទៅកាន់ [https://cla.microsoft.com](https://cla.microsoft.com)។
នៅពេលដែលអ្នកដាក់សំណើការទាញយក (pull request) CLA-bot នឹងកំណត់ដោយស្វ័យប្រវត្តិថាតើអ្នកត្រូវការផ្តល់ CLA និងតំណាង PR ដូចគ្នា (ឧ. ស្លាក, មតិយោបល់)។ សូមធ្វើតាមការណែនាំដែលបង្ហាញដោយ bot។ អ្នកត្រូវតែបំពេញការនេះតែម្តងតែក្នុងគ្រប់រ៉េបូស៊ីតូរីដែលប្រើ CLA របស់យើង។
## របៀបយកបំណែកចូលរួម
### 1. កែលម្អអក្សរខុស / កំហុសកូដ
ប្រសិនបើអ្នករកឃើញឃ្លាខុស ឬកំហុសនៅក្នុង Jupyter notebook ឬឯកសារមេរៀន markdownណាមួយ:
1. បង្កើត fork របស់ repository។
2. កែសម្អាតឃ្លាខុស ឬភ្ជាប់ខូច។
3. ដាក់សំណើ Pull Request ជាមួយពណ៌នាថ្មីនៃការកែលម្អ។
### 2. ដាក់សំណើបកប្រែ
យើងសូមស្វាគមន៍ការបកប្រែម៉េរៀនទៅជาทាសារផ្សេងទៀត! សូមដាក់បកប្រែនៅក្នុងថត `translations/` ដោយប្រើឈ្មោះថតដែលមានស្រាប់ (ឧ. `translations/es/`, `translations/pt-BR/`, `translations/zh-CN/`)។
សម្រាប់ព័ត៌មានលម្អិត ចូលទៅកាន់ [etc/CONTRIBUTING.md](etc/CONTRIBUTING.md)។
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,21 +1,21 @@
# ឧទាហរណ៍ AI សមរម្យសម្រាប់អ្នកចាប់ផ្តើម
# ឧទាហរណ៍ AI សម្រួលសម្រាប់អ្នកចាប់ផ្តើម
្វាគមន៍! មូលដ្ឋានទិន្នន័យនេះរួមមានឧទាហរណ៍សាមញ្ញឯករាជ្យដើម្បីជួយអ្នកចាប់ផ្តើមជាមួយ AI និងការសិក្សាម៉ាស៊ីន។ ឧទាហរណ៍នីមួយៗត្រូវបានរចនាឡើងសម្រាប់អ្នកចាប់ផ្តើមជាមួយមតិលម្អិត និងការពន្យល់ជំរុញជជែកជំហាន-បន្ទាត់
ូមស្វាគមន៍! ថតនេះមានឧទាហរណ៍សាមញ្ញ ផ្តាច់មុខ ដើម្បីជួយអ្នកចាប់ផ្តើមជាមួយ AI និងការរៀនម៉ាស៊ីន។ ឧទាហរណ៍រៀងរាល់មួយត្រូវបានរចនាឡើងសម្រាប់អ្នកចាប់ផ្តើមដោយមានចំណាំលម្អិត និងការពន្យល់ជំហានៗ
## 📚 ទិដ្ឋភាពទូទៅនៃឧទាហរណ៍
| ឧទាហរណ៍ | ពិពណ៌នា | កម្រិតកម្អិត | ការត្រៀមការ |
| ឧទាហរណ៍ | សេចក្តីបរិយាយ | កម្រិតការលំបាក | តម្រូវការមុនខ្លួន |
|---------|-------------|------------|---------------|
| [Hello AI World](../../../examples/01-hello-ai-world.py) | កម្មវិធី AI ដំបូងរបស់អ្នក - ការទទួលស្គាល់ម៉ូតសាមញ្ញ | ⭐ សម្រាប់អ្នកចាប់ផ្តើម | មូលដ្ឋាន Python |
| [Simple Neural Network](../../../examples/02-simple-neural-network.py) | បង្កើតបណ្ដាញសរសៃប្រសាទពីដើម | ⭐⭐ សម្រាប់អ្នកចាប់ផ្តើម+ | Python, គណិតវិទ្យាមូលដ្ឋាន |
| [Image Classifier](./03-image-classifier.ipynb) | ចាត់ថ្នាក់រូបភាពជាមួយម៉ូដែលដែលបានបណ្តុះជាមុន | ⭐⭐ សម្រាប់អ្នកចាប់ផ្តើម+ | Python, numpy |
| [Text Sentiment](../../../examples/04-text-sentiment.py) | វិភាគអារម្មណ៍អត្ថបទ (វិជ្ជមាន/អវិជ្ជមាន) | ⭐⭐ សម្រាប់អ្នកចាប់ផ្តើម+ | Python |
| [Hello AI World](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/01-hello-ai-world.py) | កម្មវិធី AI ដំបូងរបស់អ្នក - ការទំនាក់ទំនងលំនាំសាមញ្ញ | ⭐ អ្នកចាប់ផ្តើម | មូលដ្ឋាន Python |
| [Simple Neural Network](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/02-simple-neural-network.py) | សាងសង់បណ្តាញប៉ុស្តិ៍ប្រសាទពីដើម | ⭐⭐ អ្នកចាប់ផ្តើម+ | Python, គណិតវិទ្យាមូលដ្ឋាន |
| [Image Classifier](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/03-image-classifier.ipynb) | ចាត់ថ្នាក់រូបភាពជាមួយម៉ូដែលដែលបានបណ្តុះមុន | ⭐⭐ អ្នកចាប់ផ្តើម+ | Python, numpy |
| [Text Sentiment](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/04-text-sentiment.py) | វិភាគអារម្មណ៍អត្ថបទ (វិជ្ជមាន/អវិជ្ជមាន) | ⭐⭐ អ្នកចាប់ផ្តើម+ | Python |
## 🚀 ការចាប់ផ្តើម
## 🚀 ចាប់ផ្តើម
### ការត្រៀមភាព
### តម្រូវការមុនខ្លួន
ធ្វើការតំឡើង Python (ប្រភេទ 3.8 ឬខ្ពស់ជាងនេះកាន់តែផ្ដល់អនុសាសន៍)។ តំឡើងកញ្ចប់ដែលត្រូវការ៖
សូមប្រាកដថាអ្នកបានដំឡើង Python (3.8 ឬខ្ពស់ជាងនេះបានណែនាំ)។ ដំឡើងបណ្ណាល័យដែលត្រូវការ៖
```bash
# សម្រាប់ស្គ្រីប Python
@ -25,63 +25,63 @@ pip install numpy
pip install jupyter numpy pillow tensorflow
```
ឬប្រើបរិយាកាស conda ពីមេរៀនសិក្សាសំខាន់
ឬប្រើបរិយាកាស conda ពីមេរៀនស្នូល
```bash
conda env create --name ai4beg --file ../environment.yml
conda activate ai4beg
```
### ការប្រតិបត្តិឧទាហរណ៍
### រត់ឧទាហរណ៍
**សម្រាប់ស្គ្រីប Python (.py files):**
```bash
python 01-hello-ai-world.py
```
**សម្រាប់កំណត់ត្រា Jupyter (.ipynb files):**
**សម្រាប់ក្រស់ Jupyter (.ipynb files):**
```bash
jupyter notebook 03-image-classifier.ipynb
```
## 📖 ផ្លូវការសិក្សា
## 📖 ផ្លូវកំណត់ការរៀន
យើងសូមណែនាំឲ្យអនុវត្តឧទាហរណ៍តាមលំដាប់៖
យើងផ្តល់អនុសាសន៍ឲ្យអនុវត្តឧទាហរណ៍តាមលំដាប់ៈ
1. **ចាប់ផ្តើមជាមួយ "Hello AI World"** - រៀនមូលដ្ឋាននៃការទទួលស្គាល់ម៉ូត
2. **បង្កើតបណ្ដាញសរសៃប្រសាទសាមញ្ញ** - យល់ដឹងពីរបៀបដែលបណ្ដាញប្រសាទដំណើរការ
3. **សាកល្បងកម្មវិធីចាត់ថ្នាក់រូបភាព** - មើល AI ដំណើរការជាមួយរូបភាពពិត
4. **វិភាគអារម្មណ៍អត្ថបទ** - សិក្សាអំពីការដំណើរការភាសាមនុស្សធម្មតា
1. **ចាប់ផ្តើមជាមួយ "Hello AI World"** - រៀនមូលដ្ឋាននៃការទទួលស្គាល់លំនាំ
2. **សាងសង់បណ្តាញប៉ុស្តិ៍ប្រសាទសាមញ្ញ** - យល់ដឹងពីរបៀបដែលបណ្តាញប្រសាទដំណើរការ
3. **សាកល្បងអ្នកចាត់ថ្នាក់រូបភាព** - មើល AI ដំណើរការជាមួយរូបភាពពិត
4. **វិភាគអារម្មណ៍អត្ថបទ** - ស្វែងយល់អំពីដំណើរការភាសាស្វ័យប្រវត្តិ
## 💡 គន្លឹះសម្រាប់អ្នកចាប់ផ្តើម
- **អានមតិកូដយ៉ាងប្រុងប្រយ័ត្ន** - ពួកវាអធិប្បាយពីអ្វីដែលបន្ទាត់នីមួយៗធ្វើ
- **សាកល្បង!** - ព្យាយាមបម្លែងតម្លៃ ហើយមើលថាតើអ្វីកើតឡើង
- **កុំបារម្ភចំពោះការយល់ដឹងទាំងអស់** - ការសិក្សាដែលត្រូវការពេលវេលា
- **សួរប្រធានបទ** - ប្រើ [ក្រុមសន្ទនា](https://github.com/microsoft/AI-For-Beginners/discussions)
- **អានចំណាំក្នុងកូដយ៉ាងម៉ត់ចត់** - ពួកវាបកស្រាយអំពីអ្វីដែលបន្ទាត់នីមួយៗធ្វើ
- **សាកល្បង!** - ព្យាយាមផ្លាស់ប្តូរតម្លៃហើយមើលអ្វីកើតឡើង
- **កុំបារម្ភពីការយល់ដឹងទាំងមូល** - ការរៀនត្រូវការពេលវេលា
- **សួរបញ្ហា** - ប្រើ [កន្លែងពិភាក្សា](https://github.com/microsoft/AI-For-Beginners/discussions)
## 🔗 ជំហានបន្ទាប់
## 🔗 ជំហានបន្ទាប់
បន្ទាប់ពីបញ្ចប់ឧទាហរណ៍ទាំងនេះ ស្វែងយល់ពីមេរៀនពេញលេញ៖
- [ការណែនាំ AI](../lessons/1-Intro/README.md)
- [បណ្ដាញសរសៃប្រសាទ](../lessons/3-NeuralNetworks/README.md)
- [ចក្ខុវិស័យកុំព្យូទ័រ](../lessons/4-ComputerVision/README.md)
- [ការដំណើរការភាសាមនុស្សធម្មតា](../lessons/5-NLP/README.md)
បន្ទាប់ពីបញ្ចប់ឧទាហរណ៍ទាំងនេះ សូមស្វែងយល់ពីមេរៀនពេញលេញ៖
- [ការណែនាំអំពី AI](../lessons/1-Intro/README.md)
- [បណ្តាញប្រសាទ](../lessons/3-NeuralNetworks/README.md)
- [រូបភាពកុំព្យូទ័រ](../lessons/4-ComputerVision/README.md)
- [ដំណើរការភាសាស្វ័យប្រវត្តិ](../lessons/5-NLP/README.md)
## 🤝 ការចូលរួម
ឃើញឧទាហរណ៍ទាំងនេះមានប្រយោជន៍ទេ? ជួយយើងបង្កើនគុណភាពរបស់ពួកវា:
- រាយការណ៍បញ្ហាឬសំណើរកែលម្អ
រកឃើញឧទាហរណ៍ទាំងនេះជួយបាន? ជួយយើងបង្កើនគុណភាពរបស់វា៖
- រាយការណ៍បញ្ហា ឬស្នើសុំការកែលម្អ
- បន្ថែមឧទាហរណ៍សម្រាប់អ្នកចាប់ផ្តើម
- បង្កើនឯកសារនិងមតិកូដ
- កែលម្អឯកសារនិងចំណាំ
---
*ចងចាំ៖ អ្នកជំនាញគ្រប់រូបដែលផ្តើមពីអ្នកចាប់ផ្តើម។ សូមសំណាងល្អក្នុងការសិក្សា! 🎓*
*ចងចាំ៖ អ្នកជំនាញរាល់នាក់ត្រូវបានជាក់លាក់ពីមុនជាអ្នកចាប់ផ្តើម។ សូមសំណាងល្អក្នុងការរៀន! 🎓*
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំមានភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាតំបន់គឺជាចំណោមព័ត៌មានដែលមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ គួរតែប្រើការបកប្រែដោយវិជ្ជាជីវៈមនុស្ស។ យើងពុំទទួលខុសត្រូវចំពោះការយល់ច្រឡំឬការបកស្រាយខុសៗចេញពីការប្រើប្រាស់ការបកប្រែនេះទេ។
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,12 +1,12 @@
# របៀបដំណើរកូដ
# របៀបដំណើរការ Code
កម្មវិធីសិក្សានេះមានឧទាហរណ៍អាចអនុវត្ត និងប laboratorio ច្រើនដែលអ្នកត្រូវការដំណើរការ។ ដើម្បីធ្វើដូចនេះ អ្នកត្រូវការជំនាញក្នុងការអនុវត្តកូដ Python ក្នុង Jupyter Notebooks ដែលបានផ្ដល់ជាសមាសធាតុនៃកម្មវិធីសិក្សានេះ។ អ្នកមានជម្រើសជាច្រើនសម្រាប់ការប្រតិបត្តិកូដ៖
មេរៀននេះមានឧទាហរណ៍ និងមន្ទីរ​បរិច្ឆេទដែល​អាច​ដំណើរការ​ច្រើន ដែល​អ្នកចង់ដំណើរការ។ ដើម្បីធ្វើបានបែបនេះ អ្នកត្រូវការជំនាញក្នុងការបំពេញ​កូដ Python នៅក្នុង Jupyter Notebooks ដែលផ្តល់ជាផ្នែកមួយនៃមេរៀននេះ។ អ្នកមានជម្រើសជាច្រើនក្នុងការដំណើរការ​កូដ៖
## ដំណើរការកូដក្នុងកុំព្យូទ័ររបស់អ្នក
## ដំណើរការនៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន
ដើម្បីដំណើរការកូដក្នុងកុំព្យូទ័រផ្ទាល់ខ្លួន អ្នកត្រូវតែដំឡើង Python។ មួយក្នុងចំណោមការផ្ដល់អនុសាសន៍គឺដំឡើង **[miniconda](https://conda.io/en/latest/miniconda.html)** - វាជាការដំឡើងដែលស្រាលដែលគាំទ្រកម្មវិធីគ្រប់គ្រងកញ្ចប់ `conda` សម្រាប់ **បរិស្ថានកម្រិត Python លំដាប់ខុសគ្នា**
ដើម្បីដំណើរការកូដនៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន អ្នកត្រូវការដំឡើង Python មួយ។ ការណែនាំមួយគឺ​ទាញយក និងដំឡើង **[miniconda](https://conda.io/en/latest/miniconda.html)** - វា​ជា​ការដំឡើងមួយដែល​ស្រាលខ្លាំង ហើយគាំទ្រអ្នកគ្រប់គ្រងកញ្ចប់ `conda` សម្រាប់បរិស្ថាន Python **វីរុស្សី** ផ្សេងគ្នា
បន្ទាប់ពីអ្នកដំឡើង miniconda ចប់ សូមលីងគ្មានអ្នកទៅកាន់ឃ្លាំងហើយបង្កើតបរិស្ថានកម្រិតដែលនឹងប្រើសម្រាប់វគ្គនេះ៖
បន្ទាប់ពីអ្នកដំឡើង miniconda រួច សូម clone ទុក repository ហើយបង្កើតបរិស្ថានវីរុស្សីសម្រាប់ប្រើប្រាស់នៅវិស័យមេរៀននេះ៖
```bash
git clone http://github.com/microsoft/ai-for-beginners
@ -15,19 +15,19 @@ conda env create --name ai4beg --file .devcontainer/environment.yml
conda activate ai4beg
```
### ការប្រើប្រាស់ Visual Studio Code ជាមួយផ្នែកបន្ថែម Python
### ការប្រើប្រាស់ Visual Studio Code ជាមួយនឹង Python Extension
កម្មវិធីសិក្សានេះប្រើប្រាស់បានល្អបំផុតនៅពេលបើកវាក្នុង [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste) ជាមួយផ្នែកបន្ថែម [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste)។
មេរៀននេះល្អបំផុតនៅពេលបើកវាជាមួយ [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste) មាន [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste)។
> **សម្គាល់**៖ មួយពេលអ្នកបានលីងគ្មានម្ដងហើយបើកថតក្នុង VS Code វានឹងស្វ័យប្រវត្តិផ្ដល់ការផ្ដល់អនុសាសន៍ដំឡើងផ្នែក Python ។ អ្នកក៏ត្រូវតែដំឡើង miniconda ដូចបានពិពណ៌នាលើកនៅខាងលើផងដែរ។
> **សម្គាល់**៖ ម្តងណា​ដែលអ្នក clone ហើយបើកថតឯកសារនៅក្នុង VS Code វានឹងផ្ដល់យោបល់ឱ្យអ្នក​ដំឡើង Python extensions។ អ្នកក៏ត្រូវដំឡើង miniconda ដូចបានណែនាំខាងលើផងដែរ។
> **សម្គាល់**៖ ប្រសិនបើ VS Code ផ្ដល់អនុសាសន៍ឲ្យអ្នកបើកឃ្លាំងឡើងវិញក្នុងផ្ទុក container អ្នកគួរត្រូវបដិសេធដើម្បីប្រើប្រាស់ Python ដំឡើងក្នុងកុំព្យូទ័រផ្ទាល់ខ្លួន។
> **សម្គាល់**៖ បើ VS Code ផ្តល់យោបល់ឱ្យអ្នកបើក repository នៅក្នុង container ម្តងទៀត អ្នកគួរតែបដិសេធ ដើម្បីប្រើប្រាស់ Python ចំណុចបុរីពាក់កណ្តាលផ្ទាល់ខ្លួន។
### ការប្រើប្រាស់ Jupyter ក្នុងកម្មវិធីជ្រើសរើស
### ការប្រើប្រាស់ Jupyter ក្នុងកម្មវិធីបើក​ទៅកាន់ Browser
អ្នកក៏អាចប្រើបរិស្ថាន Jupyter ពីកម្មវិធីជ្រើសរើសនៅលើកុំព្យូទ័ររបស់អ្នកផ្ទាល់។ Jupyter ពីផ្លូវចាស់ និង JupyterHub ផ្តល់បរិស្ថានអភិវឌ្ឍន៍ងាយស្រួលជាមួយការបំពេញឯកសារអូតូ ការពណ៌លើកូដ និង ផ្សេងៗទៀត
អ្នកអាចប្រើបរិស្ថាន Jupyter ពី browser នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួនដែរ។ ចំណុចគោលនៃ Jupyter និង JupyterHub ផ្តល់បរិស្ថានអភិវឌ្ឍន៍មានភាពងាយស្រួលជាមួយអូតូបញ្ចូលកូដ ការចម្លងពណ៌កូដ លើកទីផ្សារ
ដើម្បីចាប់ផ្តើម Jupyter ក្នុងកុំព្យូទ័ររបស់អ្នក សូមទៅកាន់ថតនៃវគ្គនោះ ហើយដំណើរការ៖
ដើម្បីចាប់ផ្តើម Jupyter នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន សូមទៅកាន់ថតដែលមានមេរៀន ហើយដំណើរការ៖
```bash
jupyter notebook
@ -36,36 +36,36 @@ or
```bash
jupyterhub
```
អ្នកអាចររកទៅឯកសារ `.ipynb` មួយណាមួយ បើកវា ហើយចាប់ផ្តើមធ្វើការងារ។
អ្នកអាចទៅរកឯកសារ `.ipynb` មួយណាមួយ បើកវា ហើយចាប់ផ្តើមការងារ។
### ការដំណើរការនៅក្នុង container
ជម្រើសមួយផ្សេងទៀតសម្រាប់ការដំឡើង Python គឺដំណើរការកូដក្នុង container។ ព្រោះឃ្លាំងរបស់យើងផ្ដល់ថត `.devcontainer` ពិសេសមួយ ដែលបញ្ជាក់ពីរបៀបសែត container សម្រាប់ repo នេះ VS Code ផ្តល់ឱកាសឲ្យបើកកូដឡើងវិញក្នុង container។ វាត្រូវការដំឡើង Docker ហើយក៏ស្មុគស្មាញជាងនេះ ដូច្នេះយើងផ្ដល់អនុសាសន៍ឲ្យអ្នកប្រើប្រាស់មានបទពិសោធន៍ជាង
ជម្រើសមួយផ្សេងទៀតសម្រាប់ការដំឡើង Python គឺដំណើរការកូដនៅក្នុង container។ ពីព្រោះ repository របស់យើងផ្តល់ថត `.devcontainer` ដែលបង្ហាញពីរបៀបបង្កើត container សម្រាប់ repo នេះ VS Code ផ្តល់ឱកាសបើកកូដនៅក្នុង container ម្តងទៀត។ វាតម្រូវអោយមានការដំឡើង Docker ហើយវាធ្វើឱ្យមានភាពស្មុគស្មាញខ្លាំង​ជាងមុន ដូច្នេះយើងណែនាំសម្រាប់អ្នកមានបទពិសោធន៍ខ្លះឬច្រើនជាងនេះ
## ដំណើរការនៅពាណិជ្ជកម្ម Cloud
## ការដំណើរការនៅក្នុងពពក
ប្រសិនបើអ្នកមិនចង់ដំឡើង Python ក្នុងកុំព្យូទ័រផ្ទាល់ខ្លួន និងមានចូលដំណើរការទៅធនធាន Cloud មួយចំនួន - ជម្រើសល្អមួយគឺដំណើរការកូដនៅពាណិជ្ជកម្ម Cloud។ មានវិធីជាច្រើនដែលអ្នកអាចធ្វើបានដូចខាងក្រោម
ប្រសិនបើអ្នកមិនចង់ដំឡើង Python នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន និងមានចូលដំណើរការប្រព័ន្ធពពក មួយជម្រើសល្អគឺដំណើរការកូដនៅក្នុងពពក។ មានរបៀបច្រើនដែលអ្នកអាចធ្វើបាន៖
* ប្រើប្រាស់ **[GitHub Codespaces](https://github.com/features/codespaces)** ដែលជាបរិស្ថានកម្រិតមានជីវិតបង្កើតឡើងសម្រាប់អ្នកលើ GitHub ដែលអាចចូលដំណើរការចេញតាម VS Code browser។ ប្រសិនបើអ្នកមានចូលដំណើរការទៅ Codespaces អ្នកអាចចុចប៊ូតុង **Code** នៅក្នុងឃ្លាំង ដំណើរកាត់ codespace ហើយចាប់ផ្តើមប្រើបានភ្លាមៗ។
* ប្រើប្រាស់ **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)**។ [Binder](https://mybinder.org) ផ្តល់ធនធានកុំព្យូទ័រដោយឥតគិតថ្លៃនៅពាណិជ្ជកម្ម Cloud សម្រាប់អ្នកដែលចង់សាកល្បងកូដលើ GitHub។ មានប៊ូតុងនៅមុខទំព័រដើម្បីបើកឃ្លាំងនៅក្នុង Binder - វាចំនាយពេលរហូតដល់ទៅបណ្ដាញ Binder ដែលនឹងសាងសង់ container មូលដ្ឋាន ហើយចាប់ផ្តើមផ្ទាំងវ៉ិប Jupyter សម្រាប់អ្នកបានយ៉ាងរលូន។
* ប្រើប្រាស់ **[GitHub Codespaces](https://github.com/features/codespaces)**, វាជាបរិស្ថានវីរុស្សីដែលបានបង្កើតសម្រាប់អ្នកនៅលើ GitHub ដែលអាចចូលបានតាមរយៈផ្ទាំង VS Code នៅក្នុង browser។ ប្រសិនបើអ្នកមានចូលដំណើរការចំពោះ Codespaces អ្នកអាចចុចប៊ូតុង **Code** នៅក្នុង repo ចាប់ផ្តើម codespace ហើយអាចដំណើរការបានភ្លាមៗ។
* ប្រើប្រាស់ **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)**។ [Binder](https://mybinder.org) ផ្តល់អោយមានធនធានកុំព្យូទ័រដោយឥតគិតថ្លៃនៅលើពពកសម្រាប់មនុស្សគ្រប់រូបដូចអ្នកក្នុងការពិសោធន៍កូដនៅលើ GitHub។ មានប៊ូតុងនៅមុខទំព័រដើម្បីបើក repository នៅក្នុង Binder - នេះគួរតែដឹកនាំអ្នកទៅទំព័រ Binder ដោយមាន container បានបង្កើតឡើងដោយស្វ័យប្រវត្តិ ហើយចាប់ផ្តើមផ្ទាំងបង្ហាញ Jupyter ដោយរលូន។
> **សម្គាល់**៖ ដើម្បីរារាំងការប្រើប្រាស់មិនត្រឹមត្រូវ Binder បានគ្របដណ្តប់ចូលដំណើរការទៅធនធានវ៉ិបមួយចំនួន។ វាអាចលើកឡើងបញ្ហាមួយចំនួនក្នុងកូដដែលយកម៉ូដែលនិង/ឬទិន្នន័យពីអ៊ិនធឺរណិតសាធារណៈ។ អ្នកអាចត្រូវការស្វែងរកវិធីជៀសវាងខ្លះ។ រួចទៀតធនធានកុំព្យូទ័រដែល Binder ផ្តល់គឺមូលដ្ឋានបំផុត ដូច្នេះការបណ្តុះបណ្តាលនឹងយឺតជាង ពិសេសនៅមេរៀនក្រោយៗ ដែលស្មុគស្មាញជាង
> **សម្គាល់**៖ ដើម្បីជៀសវាងការប្រើប្រាស់ខុស វេទិកា Binder ត្រូវបានហាមឃាត់ចូលដំណើរការទៅកាន់ធនធានបណ្តាញខ្លះៗ។ វាអាចធ្វើឲ្យកូដខ្លះមិនដំណើរការបាន ដែលទាញយកគំរូ និង/ឬ dataset ពីអ៊ីនធឺណិតសាធារណៈ។ អ្នកប្រហែលជាត្រូវការរកវិធីជំនួសខ្លះ។ ហើយធនធានគណនា​ដែលបានផ្តល់ឲ្យឯកដោយ Binder គឺមានកម្រិតសាមញ្ញ ដូច្នេះការបង្វឹកនឹងយឺត លើកឡើងជាពិសេសនៅមេរៀនបន្ទាប់​ដែលមានស្មុគស្មាញជាងមុន
## ដំណើរការនៅពាណិជ្ជកម្ម Cloud ជាមួយ GPU
## ការដំណើរការនៅក្នុងពពកជាមួយ GPU
មេរៀនខាងក្រោយៗក្នុងកម្មវិធីសិក្សានេះនឹងទទួលផលប្រយោជន៍យ៉ាងខ្លាំងពីការគាំទ្រ GPU។ ការបណ្តុះបណ្តាលម៉ូដែល ដូចជាគំរូ អាចយឺតយ៉ាវបើគ្មាន GPU។ មានជម្រើសពីរបៀបដែលអ្នកអាចអនុវត្តបាន ជាពិសេស ប្រសិនបើអ្នកមានចូលដំណើរការទៅពាណិជ្ជកម្ម Cloud តាមរយៈ [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) ឬតាមដំណើរការស្ថាប័នរបស់អ្នក៖
មេរៀនខ្លះៗនៅពេលក្រោយក្នុងមេរៀននេះ អាចទទួលបានផលប្រយោជន៏យ៉ាងខ្លាំងពីការគាំទ្រ GPU។ ការបង្វឹកគំរូ ករណីឧទាហរណ៍ អាចយឺតខ្លាំងបើគ្មាន GPU។ មានជម្រើសប៉ុន្មានដែលអ្នកអាចធ្វើបាន ជាពិសេសប្រសិនបើអ្នកមានចូលដំណើរការទៅពពក តាមរយៈ [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) ឬតាមរយៈស្ថាប័នរបស់អ្នក៖
* បង្កើត [Data Science Virtual Machine](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) ហើយភ្ជាប់តាមរយៈ Jupyter។ អ្នកអាចលីងគ្មាន repo ទៅម៉ាស៊ីននោះបានដោយផ្ទាល់ ហើយចាប់ផ្តើមរៀន។ ម៉ាស៊ីន NC-series មានការគាំទ្រ GPU។
* បង្កើត [Data Science Virtual Machine](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) ហើយភ្ជាប់ចូលតាម Jupyter។ អ្នកអាច clone repo បានផ្ទាល់លើម៉ាស៊ីន ហើយចាប់ផ្តើមរៀន។ VM គ្រប់គ្រង NC-series មានការគាំទ្រ GPU។
> **សម្គាល់**សេវាកម្មខ្លះៗ រួមទាំង Azure for Students មិនផ្តល់ជាការគាំទ្រ GPU ដើមទេ។ អ្នកអាចត្រូវស្នាក់រស្នើការកំណត់ GPU បន្ថែមជាមួយសំណើស្វាគមន៍បច្ចេកទេស
> **សម្គាល់**ការជាវខ្លះៗ រួមមាន Azure for Students មិនផ្តល់អោយមានការគាំទ្រ GPU ទាំងស្រុង។ អ្នកប្រហែលជាត្រូវការ​របាយការណ៍សកម្មភាពបច្ចេកទេស សម្រាប់ស្នើសុំចំនួន GPU បន្ថែម
* បង្កើត [Azure Machine Learning Workspace](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) ហើយប្រើលក្ខណៈពិសេស Notebook នៅទីនោះ។ [វីដេអូនេះ](https://azure-for-academics.github.io/quickstart/azureml-papers/) បង្ហាញពីរបៀបលីង repo ទៅក្នុង Azure ML notebook ហើយចាប់ផ្តើមប្រើប្រាស់។
* បង្កើត [Azure Machine Learning Workspace](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) ហើយបន្ទាប់មកប្រើប្រាស់មុខងារ Notebook នៅទីនោះ។ [វីដេអូនេះ](https://azure-for-academics.github.io/quickstart/azureml-papers/) បង្ហាញពីរបៀប clone repository ចូលក្នុង Azure ML notebook ហើយចាប់ផ្តើមប្រើប្រាស់វា
អ្នកក៏អាចប្រើ Google Colab ដែលមានការគាំទ្រពី GPU ដោយឥតគិតថ្លៃ និងផ្ទុក Jupyter Notebooks ទៅទីនោះដើម្បីអនុវត្តមួយម៉ឺនុយម្ដង
អ្នកក៏អាចប្រើ Google Colab ដែលផ្តល់ការគាំទ្រ GPU ឥតគិតថ្លៃខ្លះៗ ហើយផ្ទុក Jupyter Notebooks ទៅនោះដើម្បីដំណើរការបានមួយតាមមួយ
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ បើទោះបីយើងខិតខំរកភាពត្រឹមត្រូវក្របខ័ណ្ឌក៏ដោយ សូមដឹងថាការបកប្រែដោយស្វ័យប្រវត្តអាចមានកំហុស ឬការមិនត្រឹមត្រូវខ្លះ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគិតថាជា ប្រភពផ្លូវការបំផុត។ សម្រាប់ព័ត៌មានសំខាន់ៗ អង្គការបកប្រែដោយមនុស្សជំនាញត្រូវបានផ្ដល់អនុសាសន៍។ យើងមិនមានការទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសប្រកបដោយការប្រើប្រាស់ការបកប្រែនេះឡើយ
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -4,11 +4,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# ម៉ូឌែលបានបណ្ដុះបណ្ដាលជាមុន និងការរៀនផ្ទេរ\n",
"# ម៉ូឌែលដែលបានបណ្តុះបណ្តាលជាមុន និងការរៀនផ្ទេរ\n",
"\n",
"ការបណ្ដុះបណ្ដាល CNN អាចចំណាយពេលយូរ និងត្រូវការទិន្នន័យច្រើនសម្រាប់ភារកិច្ចនោះ។ ទោះយ៉ាងណាក្ដី ពេលភាគច្រើនត្រូវបានប្រើសម្រាប់រៀនបន្ទះតម្រៀបកម្រិតទាបដ៏ល្អបំផុតដែលបណ្តាញកំពុងប្រើសម្រាប់បំបែកលំរូពីរូបភាព។ សំណួរធម្មជាតិមួយកើតឡើង - តើយើងអាចប្រើបណ្តាញប្រសិត្រដែលបានបណ្ដុះបណ្ដាលមួយទៅលើទិន្នន័យមួយ ហើយបត់ប្រើវាសម្រាប់ចាត់ថ្នាក់រូបភាពផ្សេងគ្នាបាន ដោយគ្មានដំណើរការបណ្តុះបណ្ដាលពេញលេញទេមែន?\n",
"ការបណ្តុះបណ្តាល CNNs អាចចំណាយពេលវេលាច្រើន និងតម្រូវឱ្យមានទិន្នន័យច្រើនសម្រាប់ដំណើរការនោះ។ ទោះយ៉ាងណា ភាគច្រើននៃពេលវេលាត្រូវបានចំណាយដើម្បីរៀនតម្រៀបមូលដ្ឋានល្អបំផុតដែលបណ្តាញកំពុងប្រើដើម្បីដកយកលំនាំពីរូបភាព។ សំណួរតាមធម្មជាតិមួយកើតឡើង- តើយើងអាចប្រើបណ្តាញសួន្យដែលបានបណ្តុះបណ្តាលលើសំណុំទិន្នន័យមួយ និងទ្រង់ទ្រាយវាឡើងវិញសម្រាប់ចាត់ថ្នាក់រូបភាពផ្សេងទៀតដោយគ្មានដំណើរការបណ្តុះបណ្តាលពេញលេញទេ?\n",
"\n",
"វិធាននេះហៅថា **ការរៀនផ្ទេរ** ព្រោះយើងផ្ទេរព័ត៌មានមួយចំនួនពីម៉ូឌែលបណ្តាញប្រសិត្រមួយទៅម៉ូឌែលផ្សេងទៀត។ នៅក្នុងការរៀនផ្ទេរ យើងធ្លាប់ចាប់ផ្តើមជាមួយម៉ូឌែលដែលបានបណ្ដុះបណ្ដាលជាមុន មួយដែលបានបណ្ដុះបណ្ដាលលើទិន្នន័យរូបភាពធំមួយ ដូចជា **ImageNet**។ ម៉ូឌែលទាំងនោះអាចធ្វើការល្អរួចហើយក្នុងការបំបែកលក្ខណៈផ្សេងៗពីរូបភាពទូទៅ ហើយក្នុងករណីជាច្រើន ការបង្កើតអ្នកចាត់ថ្នាក់ភ្ជាប់ទៅលើលក្ខណៈដែលបានប្រមូលនោះអាចផ្ដល់លទ្ធផលល្អបាន។\n"
"វិធីសាស្រ្តនេះហៅថា **ការរៀនផ្ទេរ** ព្រោះយើងផ្ទេរយកចំណេះដឹងពីម៉ូឌែលបណ្តាញសួន្យមួយទៅម៉ូឌែលផ្សេងទៀត។ ក្នុងការរៀនផ្ទេរ យើងភ្លេចចាប់ផ្តើមជាមួយម៉ូឌែលដែលបានបណ្តុះបណ្តាលជាមុន ដែលបានបណ្តុះបណ្តាលលើសំណុំទិន្នន័យរូបភាពធំមួយ ដូចជា **ImageNet**។ ម៉ូឌែលទាំងនោះអាចធ្វើការដកយកលក្ខណៈបានល្អពីរូបភាពទូទៅ ហើយក្នុងជម្រើសជាច្រើន ការបង្កើតជាក្រុមចាត់ថ្នាក់នៅលើលក្ខណៈដែលបានដកយកនោះអាចផ្តល់លទ្ធផលល្អ។\n"
]
},
{
@ -29,11 +29,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ឯកសារពហុរូបភាពឆ្កែ និងឆ្មា\n",
"## ទិន្នន័យឆ្មា និងឆ្កែ\n",
"\n",
"ក្នុងមេរៀននេះ យើងនឹងដោះស្រាយបញ្ហាជាក់ស្ដែងនៃការតែងសម្ព័ន្ធរូបភាពឆ្មា និងឆ្កែ។ ដូចនេះ យើងនឹងប្រើប្រាស់ [ឯកសារពហុរូបភាពឆ្មា និងឆ្កែ Kaggle](https://www.kaggle.com/c/dogs-vs-cats) ដែលអាចទាញយកបានជាមួយនឹង [Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=54765&WT.mc_id=academic-77998-cacaste) ផងដែរ។\n",
"នៅក្នុងឯកតានេះ យើងនឹងដោះស្រាយបញ្ហាជាក់ស្តែងមួយស្តីពីការផ្គូរផ្គងរូបភាពឆ្មានិងឆ្កែ។ ដែលសំរាប់ហេតុផលនេះ យើងនឹងប្រើ [Kaggle Cats vs. Dogs Dataset](https://www.kaggle.com/c/dogs-vs-cats) ដែលអាចទាញយកបានពី [Microsoft](https://www.microsoft.com/en-us/download/details.aspx?id=54765&WT.mc_id=academic-77998-cacaste) ផងដែរ។\n",
"\n",
"យើងមកទាញយកឯកសារនេះហើយដោះស្រាយវាទៅក្នុងថត `data` (ដំណើរការនេះអាចយពេលខ្លះ!):\n"
"ចូរយើងទាញយកទិន្នន័យនេះ ហើយដោះសោវាទៅក្នុងថត `data` (ដំណើរការនេះអាចចំណាយពេលខ្លះ!):\n"
]
},
{
@ -64,7 +64,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"គ្រោះថ្នាក់ មានឯកសាររូបភាពខូចខាតមួយចំនួននៅក្នុងផ្នែកទិន្នន័យ។ យើងត្រូវធ្វើការសម្អាតលឿនដើម្បីពិនិត្យឯកសារខូចខាត។ ដើម្បីមិនបំផ្លាញមេរៀននេះ យើងបានផ្លាស់ទីកូដសម្រាប់ផ្ទៀងផ្ទាត់ផ្នែកទិន្នន័យទៅក្នុងម៉ូឌុលមួយ។\n"
"ព្រោះមានឯកសាររូបភាពខូចខាតមួយចំនួននៅក្នុងឃ្លាំងទិន្នន័យ។ យើងត្រូវតែធ្វើការសម្អាតបន្ទាន់ដើម្បីពិនិត្យឯកសារខូចខាត។ ដើម្បីមិនបំផ្លាញមេរៀននេះ យើងបានផ្លាស់ប្តូរកូដសម្រាប់ផ្ទៀងផ្ទាត់ឃ្លាំងទិន្នន័យទៅក្នុងម៉ូឌុលមួយ។ \n"
]
},
{
@ -333,13 +333,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## កំពុងបញ្ជូលទិន្នន័យ\n",
"## ការវិលទិន្នន័យ\n",
"\n",
"នៅក្នុងឧទាហរណ៍មុនៗ យើងបានកំពុងបញ្ជូលឃ្លាំងទិន្នន័យដែលបានបង្កើតរួចនៅក្នុង Keras។ ឥឡូវនេះ យើងត្រូវដោះស្រាយជាមួយឃ្លាំងទិន្នន័យរបស់យើង ដែលយើងត្រូវបញ្ជូលពីថតរូបភាពមួយ។\n",
"ក្នុងឧទាហរណ៍មុនៗ យើងគឺកំពុងវិលទិន្នន័យដែលបានបង្កើតឡើងក្នុង Keras។ ឥឡូវនេះយើងកំពុងតែធ្វើការជាមួយទិន្នន័យផ្ទាល់ខ្លួនរបស់យើង ដែលយើងត្រូវតែវិលពីថតរូបច្រើនៗ។\n",
"\n",
"នៅក្នុងជីវិតពិត ទំហំឃ្លាំងទិន្នន័យរូបភាពអាចធំប៉ុន្មាន និងមិនអាចជឿថាទិន្នន័យទាំងអស់អាចផ្គូរផ្គងក្នុងកំរឹតចងចាំបានទេ។ ដូច្នេះ ឃ្លាំងទិន្នន័យជារឿយៗត្រូវបានតំណាងដោយ **ជ័របង្កើត** ដែលអាចត្រឡប់ទិន្នន័យជាមិនិប៉តមីតសម្រាប់បណ្តុះបណ្តាល។\n",
"ក្នុងជីវិតពិត ទំហំទិន្នន័យរូបភាពអាចធំធេងខ្លាំង ហើយមិនអាចទុកចិត្តថាទិន្នន័យទាំងអស់អាចដាក់ចូលក្នុងអង្គចងចាំបានទេ។ ដូចនេះ ទិន្នន័យជាញឹកញាប់ត្រូវបានតំណាងឲ្យជាអ្នកបង្កើត​ (**generators**) ដែលអាចបញ្ចូនទិន្នន័យជាមីនីបេតដែលសមរម្យសម្រាប់ការបណ្តុះបណ្តាល។\n",
"\n",
"ដើម្បីដោះស្រាយការបែងចែករូបភាព Keras រួមបញ្ចូលមុខងារ​ពិសេស `image_dataset_from_directory` ដែលអាចបញ្ចូលរូបភាពពីថតរូបភាពរងដែលសមរម្យនឹងថ្នាក់ផ្សេងៗគ្នា។ មុខងារនេះក៏ទទួលខុសត្រូវចំពោះការតម្រូវទំហំនៃរូបភាព និងវាក៏អាចបំបែកឃ្លាំងទិន្នន័យទៅជាសំណុំសម្រាប់បណ្តុះបណ្តាល និងសំណុំសម្រាប់សាកល្បងផងដែរ៖\n"
"ដើម្បីដោះស្រាយបញ្ហាការបែងចែករូបភាព Keras រួមបញ្ចូលមុខងារ​ពិសេស `image_dataset_from_directory` ដែលអាចវិលរូបភាពពីថតរងដែលផ្តោតលើប្រភេទឡែកៗគ្នា។ មុខងារនេះក៏ថែទាំការប្រមាណទំហំនៃរូបភាព និងអាចបំបែកទិន្នន័យជាសំណុំបណ្ដុះបណ្ដាលនិងសំណុំតេស្តផងដែរ៖\n"
]
},
{
@ -383,9 +383,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"វាសំខាន់ក្នុងការកំណត់តម្លៃ `seed` ដូចគ្នា សម្រាប់ការហៅទាំងពីរ ព្រោះវាដាក់ឥទ្ធិពលលើការបំបែករូបភាពរវាងទិន្នន័យហ្វឹកហាត់និងសាកល្បង។\n",
"វា​មានសារៈសំខាន់​ក្នុងការកំណត់​តម្លៃ `seed` ដូចគ្នា​សម្រាប់​ការ​ហៅ​ពីរ​ទាំងពីរ ពីព្រោះ​វា​ប៉ះពាល់​ដល់​ការ​បំបែក​រូបភាព​រវាង​ទិន្នន័យ​បណ្តុះបណ្តាល និង តេស្ត។\n",
"\n",
"តំបន់ទិន្នន័យនឹងយកឈ្មោះថ្នាក់ពីថតដោយស្វ័យប្រវត្តិ ហើយអ្នកអាចចូលប្រើពួកវាបាន ប្រសិនបើត្រូវការដោយហៅជា៖\n"
"Dataset ចាប់យក​ឈ្មោះថ្នាក់​ពីថត​ដើម​ដោយស្វ័យប្រវត្តិ ហើយអ្នកអាចចូលប្រើ​ទៅកាន់​ពួកវាប្រសិនបើត្រូវការដោយហៅ៖\n"
]
},
{
@ -412,7 +412,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"តំណាងទិន្នន័យដែលយើងបានទទួលអាចត្រូវបានផ្ទាល់បញ្ជូនទៅកាន់មុខងារ `fit` ដើម្បីបណ្តុះបណ្តាលម៉ូដែល។ ដំណើរការទាំងនេះមានរូបភាព និង ស្លាកដែលពាក់ព័ន្ធគ្នាទាំងពីរ និងអាចជារឿកបានតាមរយៈការរចនាដូចខាងក្រោម៖\n"
"សំណុំទិន្នន័យដែលយើងបានទទួលអាចផ្តល់ឲ្យមុខងារ `fit` ដើម្បីបណ្តុះម៉ូឌែលដោយផ្ទាល់។ វាមានរូបភាពនិងស្លាកនានាដែលគួរត្រូវបានពិនិត្យឡើងវិញសម្រាប់ឱកាសតាមរយៈរចនាសម្ព័ន្ធដូចខាងក្រោម៖\n"
]
},
{
@ -453,16 +453,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **ចំណាំ**៖ រូបភាពទាំងអស់ក្នុងសំណុំទិន្នន័យត្រូវបានតំណាងជាតង់ស័រពិន្ទុលន់ចរន្តអចលន៍ដែលមានជម្លោះពី 0-255។ មុនពេលផ្ញើវាទៅបណ្តាញសរសៃប្រសាទ យើងត្រូវតែបំលែងតម្លៃទាំងនេះទៅជាជួរពី 0-1។ នៅពេលគូរស្រស់រូបភាព យើងត្រូវធ្វើដូចគ្នា ឬបំលែងតម្លៃទៅប្រភេទ `int` (ដែលយើងបានធ្វើក្នុងកូដខាងលើ) ដើម្បីបង្ហាញឲ្យ `matplotlib` ដឹងថាយើងចង់គូររូបភាពដើមដែលមិនបានបំលែង។\n"
"> **កំណត់សម្គាល់**៖ រូបភាពទាំងអស់នៅក្នុងឃ្លាំងទិន្នន័យ ត្រូវបានតំណាងជាទិន្នន័យ floatint point ដែលមានជួរពី 0 ទៅ 255។ មុនពេលបញ្ជូនវាទៅបណ្តាញប្រសាទ អ្នកត្រូវតែធ្វើការកាស់តម្លៃទាំងនោះឲ្យទៅក្នុងជួរ 0-1។ នៅពេលបង្ហាញរូបភាព យើងត្រូវធ្វើដូចគ្នា ឬបំលែងតម្លៃទៅប្រភេទ `int` (ដែលយើងបានធ្វើនៅកូដខាងលើ) ដើម្បីបង្ហាញឲ្យ `matplotlib` ដឹងថាយើងចង់បង្ហាញរូបភាពដើមមិនបានកាស់។\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ម៉ូដែលដែលបានបណ្តុះមុន\n",
"## ម៉ូដែលបានបណ្ដុះបណ្ដាលជាមុន\n",
"\n",
"សម្រាប់ភារកិច្ចចាត់ថ្នាក់រូបភាពជាច្រើន អ្នកអាចរកម៉ូដែលបណ្តុះបណ្តាលបណ្តាញណឺរ៉ុងដែលបានបណ្តុះមុន។ ម៉ូដែលជាច្រើនក្នុងចំណោមវាទាំងនោះអាចរកបាននៅក្នុងណឺមស្ពេស `keras.applications` ហើយមានម៉ូដែលកាន់តែច្រើនទៀតអាចរកបាននៅលើអ៊ីនធឺណិត។ យើងមកមើលវិធីដែលម៉ូដែល VGG-16 ផ្នែកសាមញ្ញបំផុតអាចត្រូវបានផ្ទុក និងប្រើប្រាស់៖\n"
"សម្រាប់កិច្ចការចាត់ថ្នាក់រូបភាពជាច្រើន អ្នកអាចស្វែងរកម៉ូដែលបណ្ដុះបណ្ដាលបណ្តាញប្រសាទបានជាមុន។ ម៉ូដែលជាច្រើនក្នុងចំណោមទាំងនេះមាននៅក្នុងឈ្មោះកន្លែង `keras.applications` ហើយម៉ូដែលបន្ថែមទៀតអាចរកបានលើអ៊ិនធឺរណែត។ យើងចង់មើលថា <em>ម៉ូដែល VGG-16</em> ដែលសាមញ្ញបំផុតអាចត្រូវបានផ្ទុក និងប្រើប្រាស់យ៉ាងដូចម្តេច៖\n"
]
},
{
@ -497,7 +497,17 @@
}
],
"source": [
"vgg = keras.applications.VGG16()\n",
"# SHA-256 of VGG16 weights (with top)\n",
"VGG16_WEIGHTS_SHA256 = '64373286793e3c8b2b4e3219cbf3544bce2f55ab4682710a29f5e7af8f5e4f61'\n",
"\n",
"_weights_path = keras.utils.get_file(\n",
" 'vgg16_weights_tf_dim_ordering_tf_kernels.h5',\n",
" 'https://storage.googleapis.com/tensorflow/keras-applications/vgg16/vgg16_weights_tf_dim_ordering_tf_kernels.h5',\n",
" file_hash=VGG16_WEIGHTS_SHA256,\n",
" hash_algorithm='sha256',\n",
")\n",
"\n",
"vgg = keras.applications.VGG16(weights=_weights_path)\n",
"inp = keras.applications.vgg16.preprocess_input(x_sample[:1])\n",
"\n",
"res = vgg(inp)\n",
@ -511,16 +521,16 @@
"metadata": {},
"source": [
"មានរឿងសំខាន់ពីរបីនៅទីនេះ៖\n",
"* មុននឹងបញ្ជូនការបញ្ចូលទៅកាន់បណ្ដាញដែលបានបណ្តុះបណ្តាលមុន គឺត្រូវតែបម្រុងទុកជាមុនដោយវិធីមួយជាក់លាក់។ វាត្រូវបានធ្វើឡើងដោយការហៅមុខងារ `preprocess_input` ដែលទទួលបានបាត់នៃរូបភាព ហើយត្រឡប់ឲ្យមានទ្រង់ទ្រាយដែលបានដំណើរការ។ នៅក្នុងករណី VGG-16 រូបភាពត្រូវបានធម្មតាទ្រង់ទ្រាយ និងតម្លៃមធ្យមដែលបានកំណត់សម្រាប់បញ្ជាប់មួយៗត្រូវបានដក។ នេះមានមូលហេតុថា VGG-16 ត្រូវបានបណ្តុះបណ្តាលដោយវិធី pre-processing នេះដើមជាមុន។\n",
"* បណ្ដាញប្រសាទត្រូវបានអនុវត្តទៅលើបាត់បញ្ចូល ហើយយើងទទួលបានជាលទ្ធផលបាត់ tensor ១០០០-ធាតុ ដែលបង្ហាញអំពីប្រហែលនៃថ្នាក់នីមួយៗ។ យើងអាចស្វែងរកលេខថ្នាក់ដែលមានប្រហែលខ្ពស់បំផុតដោយហៅ `argmax` លើ tensor នេះ។\n",
"* លទ្ធផលដែលបានទទួលគឺជា [លេខនៃថ្នាក់ `ImageNet`](https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a)។ ដើម្បីយល់ន័យលទ្ធផលនេះ យើងអាចប្រើមុខងារ `decode_predictions` ដែលត្រឡប់ថ្នាក់ខ្ពស់ n សមាជកជាមួយនឹងឈ្មោះរបស់ពួកវា។\n"
"* មុនពេលផ្ទេរបញ្ចូលទៅកាន់បណ្ដាញដែលបានហ្វឹកហាត់រួចហើយណាមួយ វាត្រូវបានដំណើរការដំបូងមួយរបៀបជាក់លាក់ទេ។ នេះត្រូវបានធ្វើដោយការហៅមុខងារ `preprocess_input` ដែលទទួលបានច្រកបញ្ចូលនៃរូបភាព ហើយត្រឡប់រូបភាពដែលបានដំណើរការឡើងវិញ។ សម្រាប់ VGG-16 រូបភាពត្រូវបានផ្ទៀងផ្ទាត់ស្ដង់ដារ ហើយតម្លៃមធ្យមមួយដែលបានកំណត់ជាមុនសម្រាប់ប៉ារ៉ាម៉ែត្រនីមួយៗត្រូវបានដកចេញ។ នេះគឺដោយសារតែ VGG-16 ត្រូវបានហ្វឹកហាត់ដើមជាមួយនឹងការដំណើរការដូចនេះ។\n",
"* បណ្ដាញនឺរូនត្រូវបានអនុវត្តទៅលើច្រកបញ្ចូល ហើយយើងទទួលបានជាលទ្ធផលជាច្រកបញ្ចូលដែលមានទិន្នន័យ 1000 ធាតុបង្ហាញឱកាសរបស់ថ្នាក់នីមួយៗ។ យើងអាចស្វែងរកលេខថ្នាក់ដែលមានឱកាសខ្ពស់ជាងគេ ដោយហៅ `argmax` លើទិន្នន័យនេះ។\n",
"* លទ្ធផលដែលបានទទួលគឺជាអង្គលេខមួយនៃថ្នាក់ `ImageNet`។ ដើម្បីយល់អំពីលទ្ធផលនេះ អ្នកអាចប្រើមុខងារ `decode_predictions` ដែលចេញថ្នាក់កំពូល n រួមជាមួយឈ្មោះរបស់ពួកគេ។\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"មកមើលសំណង់វិស្វកម្មនៃបណ្តាញ VGG-16 ផង:\n"
"មកមើលរចនាសម្ព័ន្ធនៃបណ្ដាញ VGG-16 ផងដែរ៖\n"
]
},
{
@ -599,7 +609,7 @@
"source": [
"## ការគណនា GPU\n",
"\n",
"បណ្ដាញប្រឡាយស្មារតីជ្រៅដូចជា VGG-16 និងស្ថាបត្យកម្មសម័យទំនើបផ្សេងទៀត ត្រូវការថាមពលគណនាថ្មីខ្លាំងដើម្បីដំណើរការ។ វាមានភាពយោជន៍ក្នុងការប្រើប្រាស់កំណត់ពេល GPU ប្រសិនបើវាអាចរកបាន។ សំណាងល្អ Keras ធ្វើឲ្យការគណនាល្បឿនលឿនឡើងដោយស្វ័យប្រវត្តិនៅលើ GPU ប្រសិនបើវាអាចប្រើបាន។ យើងអាចពិនិត្យថាតើ Tensorflow អាចប្រើ GPU ដោយប្រើកូដខាងក្រោម៖\n"
"បណ្តាញសរសៃប្រសាទជ្រៅ ដូចជា VGG-16 និងសំណុំរចនាសម្ព័ន្ធសម័យថ្មីផ្សេងទៀត តម្រូវឲ្យមានកម្លាំងគណនាខ្លាំងខ្លាំងក្នុងការប្រតិបត្តិ។ វាសមរម្យក្នុងការប្រើប្រាស់ការ៉ាដូចជា GPU ប្រសិនបើវាមានស្រាប់។ ចង់សំណាងល្អ Keras ទៅយ៉ាងស្វ័យប្រវត្តិបំប៉នល្បឿនការគណនាលើ GPU ប្រសិនបើវាអាចប្រើបាន។ យើងអាចពិនិត្យមើលថា Tensorflow អាចប្រើ GPU ដោយប្រើកូដដូចខាងក្រោម៖\n"
]
},
{
@ -626,9 +636,10 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការដកមុខងារ VGG\n",
"\n",
"បើ​យើង​ចង់​ប្រើ VGG-16 ដើម្បី​ដកមុខងារ​ពីរូបភាព​របស់​យើង យើង​ត្រូវការ​ម៉ូដែល​ដែល​មិន​មានស្រទាប់ចុងក្រោយ​សម្រាប់ចំណាត់ថ្នាក់។ យើងអាច​បង្កើតម៉ូដែល VGG-16 ដោយគ្មានស្រទាប់លើកំពូល​ដោយប្រើកូដនេះ៖\n"
"## ការដកស្រង់លក្ខណៈ VGG\n",
"\n",
"ប្រសិនបើយើងចង់ប្រើ VGG-16 ដើម្បីដកស្រង់លក្ខណៈពីរូបភាពរបស់យើង តើយើងត្រូវការម៉ូដែលដោយគ្មានស្រទាប់ចុងក្រោយនៃការបែងចែក. យើងអាចបង្កើតម៉ូដែល VGG-16 ដោយគ្មានស្រទាប់ខាងលើដោយប្រើកូដនេះ៖\n"
]
},
{
@ -680,9 +691,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"វិមាត្រ​នៃ​តង់ស័រ​លក្ខណៈ​គឺ 7x7x512 ប៉ុន្តែ​ដើម្បី​ដាក់​បង្ហាញ​វា​យើង​ត្រូវ​បាន​បង្រួមវា​ទៅ​ជា​រូបរាង 2D ។\n",
"ទំហំដែនលក្ខណៈ (feature tensor) គឺ 7x7x512 ប៉ុន្តៃ​រ​ដើម្បី​មើល​ឃើញ​វា​យើង​ត្រូវ​បម្លែង​វា​ទៅ​រូបរាង 2D។\n",
"\n",
"ឥឡូវនេះ​សូម​ព្យាយាម​មើល​ថា​លក្ខណៈ​ទាំង​នោះ​អាច​ត្រូវ​បាន​ប្រើ​ដើម្បីចាត់​ថ្នាក់​រូបភាព​ដែរឬ​ទេ។ យើង​សូម​ជ្រើស​រើស​ផ្នែក​មួយ​នៃ​រូបភាព (50 មីនីបាច) ដោយ​ដៃ ហើយ​គណនា​មុន​វិចិត្រ​លក្ខណៈ​របស់​ពួកវា។ យើង​អាច​ប្រើ API **dataset** របស់ Tensorflow ដើម្បីធ្វើ​ពួក​វា។ មុខងារ `map` ទទួល​បាន dataset ហើយ​អនុវត្ត​លំដាប់​ឡំបដ្ឋាន​មួយ​ដើម្បី​បម្លែង​វា។ យើង​ប្រើ​យន្តការ​នេះ​ដើម្បីបង្កើត dataset ថ្មី `ds_features_train` និង `ds_features_test` ដែល​រួម​មាន​លក្ខណៈ​ដែល​បាន​យក​ចេញ​ពី VGG ជំនួស​រូបភាព​ដើម។\n"
"ឥឡូវនេះ យើង​រៀន​ពី​មើល​វា​ថា លក្ខណៈ​ទាំង​នេះ​អាច​ប្រើបាន​សម្រាប់ចាត់ថ្នាក់​រូបភាព​ឬទេ។ យើង​ត្រូវ​ចាប់ផ្ដើម​យក​ផ្នែក​មួយ​សម្រាប់​រូបភាព​មួយ​ចំនួន (50 minibatches, នៅ​សំណុំរបស់​យើង) ហើយ​គណនា​លទ្ធភាព​ប្រេសាស់​របស់​វា​មុន។ យើង​អាច​ប្រើកម្មវិធី API **dataset** នៃ Tensorflow សម្រាប់​ធ្វើ​វា។ មុខងារ `map` ទទួល dataset មួយ ហើយ​អនុវត្ត​ឲ្យ​មុខងារ lambda ដែល​ផ្ដល់សម្រាប់​បម្លែង​វា។ យើង​ប្រើ​គន្លងនេះ​ដើម្បី​បង្កើត dataset ថ្មី​បានជា `ds_features_train` និង `ds_features_test` ដែល​មានលក្ខណៈ​ដកស្រង់​ពី VGG ជំនួសរូបភាពដើម។\n"
]
},
{
@ -712,9 +723,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងបានប្រើសំណល់ `.take(50)` ដើម្បីដាក់កំណត់ទំហំឃ្លាំងទិន្នន័យ ដើម្បីលឿនការបង្ហាញរបស់យើង។ អ្នកអាចព្យាយាមការប្រតិបត្តិនេះលើឃ្លាំងទិន្នន័យទាំងមូលបានច្បាស់ជាក់។\n",
"យើងបានប្រើកូដ `.take(50)` ដើម្បីកំណត់ទំហំឃ្លាំងទិន្នន័យ ដើម្បីបំណsើរឲ្យការបង្ហាញរបស់យើងរហ័សឡើង។ ប្រសិនបើអ្នកចង់ អ្នកអាច​ធ្វើ​តេស្ត​នេះ​លើឃ្លាំង​ទិន្នន័យ​គ្រប់លំដាប់។\n",
"\n",
"ឥឡូវនេះដែលយើងមានឃ្លាំងទិន្នន័យដែលបានបញ្ចេញលក្ខណៈពិសេស យើងអាចបណ្តុះបណ្តាលម៉ាស៊ីនចំណាត់ថ្នាក់ដេនស៍សាមញ្ញមួយ ដើម្បីបំរើការបំបែកជារវាងឆ្មា និងឆ្កែ។ បណ្តាញនេះនឹងទទួលយកវ៉ិចទ័រលក្ខណៈជារូបរាង (7,7,512) ហើយផលិតចេញមួយចេញដែលស្របទៅនឹងឆ្កែឬឆ្មា។ ដោយសារវាជាការចំណាត់ថ្នាក់ពីរជម្រើស យើងប្រើមុខងារប្រសូតប្រសប់ `sigmoid` និងការបាត់បង់ `binary_crossentropy`។\n"
"ពេលឥឡូវនេះ យើងមានឃ្លាំងទិន្នន័យដែលបានដកលក្ខណៈមកហើយ យើងអាចបណ្តុះមួយម៉ាស៊ីនចាត់ថ្នាក់សាមញ្ញដែលមានកាំរស្មីកំណត់ដើម្បីបំបែកចន្លោះឆ្មា និងឆ្កែ។ បណ្តាញនេះនឹងទទួលបន្ទាត់លក្ខណៈទ្រង់ទ្រាយ (7,7,512) ហើយបង្កើតលទ្ធផលមួយដែលផ្គូផ្គងទៅឆ្កែឬឆ្មា។ ពីព្រោះវាជាការផ្នែកចំណាត់ថ្នាក់ពីរប្រភេទ យើងប្រើមុខងារបើក `sigmoid` និងបាត់បង់ `binary_crossentropy`។\n"
]
},
{
@ -743,13 +754,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ផលលទ្ធផលល្អណាស់ យើងអាចប្រែតម្កើងរវាងឆ្មា និងឆ្កែបានជិត ៩៥% នៃប្រហែល! ទោះជា​យ៉ាងណា យើងបានសាកល្បងវិធីនេះត្រឹមតែចំណែកមួយនៃរូបភាពទាំងអស់ប៉ុណ្ណោះ ពីព្រោះការដកស្រង់លក្ខណៈដោយដៃមើលទៅហាក់ដូចជាចំណាយពេលវេលាប៉ុន្មានច្រើន។ \n",
"លទ្ធផលគឺអស្ចារ្យ យើងអាចចែកចាយរវាងឆ្មា និងឆ្កែបានជិតនឹង ៩៥% នៃករណី! ទោះយ៉ាងណាក៏ដោយ យើងបានសាកល្បងវិធីនេះតែចំនួនរូបភាពមួយផ្នែកប៉ុណ្ណោះ ព្រោះការដកពួកលក្ខណៈដោយដៃដូច​ជា ចំណាយពេលច្រើន។\n",
"\n",
"## ការដំឡើងបង្រៀនប្តូរវិញដោយប្រើបណ្តាញ VGG មួយ \n",
"## ការរៀនផ្ទេរប្រើបណ្តាញ VGG មួយ\n",
"\n",
"យើងក៏អាចជៀសវាងការគណនាលក្ខណៈជាមនុស្សជាមុនដោយប្រើបណ្តាញ VGG-16 ដើមនៅកំឡុងពេលបង្រៀន ដោយបញ្ចូល ឧបករណ៍ដកស្រង់លក្ខណៈទៅក្នុងបណ្តាញរបស់យើងជាស្រទាប់ដំបូង។ \n",
"យើងអាចជៀសវាងការគណនាលក្ខណៈជាមុនដោយដៃ ដោយប្រើបណ្តាញ VGG-16 ដើមទាំងមូលក្នុងការបណ្តុះបណ្តាល ដោយបន្ថែមឧបករណ៍ដកលក្ខណៈទៅបណ្តាញយើងជាត្រង់ស្រទាប់ដំបូង។\n",
"\n",
"សោភណៈភាពនៃសំណុំរចនាសម្ព័ន្ធ Keras គឺម៉ូឌែល VGG-16 ដែលយើងបានកំណត់ខាងលើ អាចត្រូវបានប្រើជាស្រទាប់នៅក្នុងបណ្តាញប្រសាសន៍បញ្ញាផ្សេងទៀតបានផងដែរ! យើងត្រូវតែបង្សុកបណ្តាញជាមួយឧបករណ៍ចាត់ថ្នាក់ដង់ស៍នៅលើវា បន្ទាប់មកបង្រៀនបណ្តាញទាំងមូលដោយប្រើវិធីបឋមវិលត្រឡប់។\n"
"សោភណ្ឌភាពនៃរចនាសម្ព័ន្ធ Keras គឺ ម៉ូដែល VGG-16 ដែលយើងបានកំណត់ខាងលើ អាចប្រើជាស្រទាប់មួយក្នុងបណ្តាញប្រព័ន្ធប្រសាព្រាលមួយផ្សេងទៀតទៀតបានម្នាក់! យើងត្រូវតែបង្កើតបណ្តាញមួយដែលមានកម្មវិធីចាត់ថ្នាក់ធ្ងន់ខាប់នៅលើវា ហើយបន្ទាប់មកបណ្តុះបណ្តាលបណ្តាញទាំងមូលដោយប្រើបច្ចេកវិទ្យាបញ្ចូនត្រឡប់ក្រោយ។\n"
]
},
{
@ -793,13 +804,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ម៉ូដែលនេះមានរូបរាងដូចជាបណ្តាញចំណាត់ថ្នាក់ពីចុងដល់ចុង ដែលទទួលរូបភាព និងបង្រ្កាបថ្នាក់មួយ។ ទោះជាយ៉ាងណា ពីរឿងពិបាកគឺយើងចង់ឲ្យ VGG16 ដំណើរការជាអ្នកដកលក្ខណៈ (feature extractor) ហើយមិនត្រូវបានបណ្ដុះបណ្ដាលឡើងវិញឡើយ។ ដូចនេះ យើងត្រូវតែ **កសWeightនៃអ្នកដកលក្ខណៈ convolutional**។ យើងអាចចូលដល់ស្រទាប់ដំបូងនៃបណ្តាញដោយហៅ `model.layers[0]` ហើយតែតម្រូវឲ្យកំណត់អថេរជាតិ `trainable` ទៅជា `False`។\n",
"ម៉ូដែលនេះដូចជាបណ្ដាញចាត់ថ្នាក់ចាប់ពីដំបូងដល់បញ្ចប់ ដែលទទួលរូបភាពមួយ និងត្រឡប់ថ្នាក់។ ទោះជាយ៉ាងណា រឿងដែលគួរឱ្យច្របូកច្របល់គឺ យើងចង់ឲ្យ VGG16 ធ្វើតួជាអ្នកបញ្ចេញលក្ខណៈពិសេស ហើយមិនត្រូវបានបណ្តុះបណ្តាលឡើងវិញទេ។ ដូច្នេះ យើងត្រូវតែ **ផ្អាកទម្ងន់នៃអ្នកបញ្ចេញលក្ខណៈពិសេស convolutional**។ យើងអាចចូលទៅកាន់ស្រទាប់ដំបូងនៃបណ្ដាញដោយហៅ `model.layers[0]` ហើយយើងត្រូវតែបញ្ចេញគុណលក្ខណៈ `trainable` ទៅជា `False`។\n",
"\n",
"> **ចំណាំ**: ការកសWeight នៃអ្នកដកលក្ខណៈត្រូវបានតម្រូវប្រើ ព្រោះប្រសិនបើមិនដូច្នោះ ស្រទាប់ក្លាស៊ីហ្វាយដែលមិនបានបណ្ដុះបណ្ដាលអាចបំផ្លាញWeight ពីដើមដែលត្រូវបានបណ្ដុះបណ្ដាលរួចរបស់អ្នកដកលក្ខណៈ convolutional។\n",
"> **ចំណាំ**: ការផ្អាកទម្ងន់នៃអ្នកបញ្ចេញលក្ខណៈពិសេសគឺចាំបាច់ ព្រោះបើមិនដូច្នោះស្រទាប់ចាត់ថ្នាក់ដែលមិនបានបណ្តុះអាចបំផ្លាញទម្ងន់ដើមដែលបានបណ្តុះរួចរបស់អ្នកបញ្ចេញ convolutional។\n",
"\n",
"អ្នកអាចសង្កេតបានថា ខណៈដែលចំនួនប៉ារ៉ាម៉ែត្រសរុបក្នុងបណ្តាញរបស់យើងប្រហែល 15 លាន យើងកំពុងបណ្ដុះបណ្ដាលតែប៉ារ៉ាម៉ែត្រ 25k ប៉ុណ្ណោះ។ ប៉ារ៉ាម៉ែត្រដទៃទៀតនៃរន្ធរន្ធ convolutional កម្រិតលើកំពុងត្រូវបានបណ្ដុះបណ្ដាលរួច។ នេះគឺល្អ ព្រោះយើងអាចបញ្ច្រាស់បណ្ដុះបណ្ដាលលើចំនួនប៉ារ៉ាម៉ែត្រតិចជាមួយនឹងគំរូតិច។\n",
"អ្នកអាចសង្កេតឃើញថា ខណៈដែលចំនួនប៉ារ៉ាម៉ែត្រសរុបក្នុងបណ្ដាញរបស់យើងប្រហែល 15 លានយូវ ប៉ុន្តែយើងកំពុងបណ្តុះបណ្តាលតែ 25 ពាន់ប៉ារ៉ាម៉ែត្រ màtnទេ។ ប៉ារ៉ាម៉ែត្រផ្សេងទៀតទាំងអស់នៃឧបករណ៍បំលែង convolutional កំពូលត្រូវបានបណ្តុះរួចហើយ។ នេះល្អ ព្រោះយើងអាចត្រួតពិនិត្យបូកបញ្ចូលប៉ារ៉ាម៉ែត្រ ចំនួនតិចជាមួយនឹងឧទាហរណ៍ចំនួនតិច។\n",
"\n",
"ឥឡូវនេះ យើងនឹងបណ្ដុះបណ្ដាលបណ្តាញរបស់យើង ហើយមើលថាតើយើងអាចទទួលបានលទ្ធផលល្អប៉ុណ្ណាដែរ។ សូមរំពឹងថាវានឹងរត់យូរពេលប៉ុន្មាន ហើយកុំបាច់កង្វល់ ប្រសិនបើការប្រតិបត្តិដំណើរការហាក់ដូចជាបិទត្រជាក់ពេលខ្លះ។\n"
"ឥឡូវនេះយើងនឹងបណ្តុះបណ្ដាញរបស់យើងហើយមើលថាតើយើងអាចបានលទ្ធផលល្អប៉ុណ្ណា។ សូមរំពឹងថាអាចមានពេលវេលារត់យូរ ហើយកុំបារម្ភរឿងថាប្រតិបត្តិការ ដូចជាច្រើនរយៈពេលត្រូវបានបង្ហាញថាឈប់ស្ងួត។\n"
]
},
{
@ -824,11 +835,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"វាដូចជា យើងបានទទួលបានម៉ាស៊ីនចាត់ថ្នាក់ឆ្មារប្រឆាំងនឹងឆ្កែ ដែលមានភាពត្រឹមត្រូវគ្រប់គ្រាន់!\n",
"វាហាក់ដូចជាយើងបានទទួលបានក្រុមចំណាត់ថ្នាក់ឆ្មា និងឆ្កែដែលមានភាពត្រឹមត្រូវសមរម្យ! \n",
"\n",
"## ការរក្សាទុក និងផ្ទុកម៉ូដែលឡើងវិញ\n",
"## ការរក្សាទុក និងផ្ទុកម៉ូដែល\n",
"\n",
"នៅពេលដែលយើងហ្វឹកហាត់ម៉ូដែលរួចហើយ យើងអាចរក្សាទុករចនាសម្ព័ន្ធម៉ូដែល និងទំងន់ដែលបានហ្វឹកហាត់ទៅឯកសារមួយសម្រាប់ការប្រើប្រាស់ក្រោយ៖\n"
"ពេលដែលយើងបានបណ្តុះបណ្តាលម៉ូដែលរួច យើងអាចរក្សាទុករចនាសម្ព័ន្ធម៉ូដែល និងទំងន់ដែលបានបណ្តុះបណ្តាលទៅឯកសារមួយសម្រាប់ប្រើប្រាស់នៅពេលក្រោយៈ\n"
]
},
{
@ -852,7 +863,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងត្រូវអាចផ្ទុកម៉ូដែលពីឯកសារបានគ្រប់ពេលណាមួយ។ អ្នកអាចរកឃើញវាអាចប្រយោជន៍បើករណីការប្រមាញ់បន្ទាប់បញ្ជាក់ទប់ម៉ូដែល—អ្នកនឹងមិនចាំបាច់ចាប់ផ្តើមឡើងវិញទេ។\n"
"យើងអាចផ្ទុកម៉ូដែលពីឯកសារនៅពេលណាមួយ។ អ្នកអាចយល់ថាវាមានប្រយោជន៍បើសិនជាសាកល្បងបន្ទាប់បំផ្លាញម៉ូដែល - អ្នកមិនចាំបាច់ចាប់ផ្ដើមឡើងវិញពីដើមឡើយ។\n"
]
},
{
@ -868,15 +879,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## ការធ្វើ Fine-tuning លើការផ្ទេរសិក្សា\n",
"## ការបញ្ចេញបន្ទាន់សម្រាប់ការរៀនផ្ទេរ\n",
"\n",
"នៅក្នុងផ្នែកមុន យើងបានបណ្តុះបណ្តាលស្រទាប់ក្រុមចុងក្រោយដើម្បីចាត់ថ្នាក់រូបភាពក្នុងឌាតាបេសផ្ទាល់ខ្លួនរបស់យើង។ ទោះយ៉ាងណា យើងមិនបានបណ្តុះបណ្តាលឡើងវិញឧបករណ៍ដោះស្រាយលក្ខណៈទេ ហើយម៉ូដែលរបស់យើងពឹងផ្អែកលើលក្ខណៈដែលម៉ូដែលបានរៀនពីទិន្នន័យ ImageNet។ ប្រសិនបើវត្ថុរបស់អ្នកមានរូបរាងខុសពីរូបភាព ImageNet ទូទៅ ការប្រមាញ់លក្ខណៈនេះអាចមិនដំណើរការល្អបំផុតទេទេ។ ដូច្នេះការចាប់ផ្តើមបណ្តុះបណ្តាលស្រទាប់កុងវូលូស្យុងក៏មានអត្ថន័យ។\n",
"នៅក្នុងផ្នែកមុន យើងបានបណ្តុះបណ្តាលស្រទាប់ក្រុមចុងក្រោយដើម្បីចាត់ថ្នាក់រូបភាពក្នុងផ្ទាំងទិន្នន័យរបស់យើង។ ទោះយ៉ាងណា យើងមិនបានបណ្តុះបណ្តាលឡើងវិញឧបករណ៍ចាប់អត្ថបទនោះឡើយ ហើយម៉ូដែលរបស់យើងពឹងផ្អែកលើលក្ខណៈដែលម៉ូដែលបានរៀនលើទិន្នន័យ ImageNet។ ប្រសិនបើវត្ថុរបស់អ្នកមានរាងមិនដូចរូបភាព ImageNet ទូទៅ ការរួមបញ្ចូលលក្ខណៈនេះអាចមិនដំណើរការល្អបំផុតទេ។ ដូច្នេះ វាមានហេតុផលក្នុងការចាប់ផ្តើមបណ្តុះបណ្តាលស្រទាប់ convolutional ផងដែរ។\n",
"\n",
"ដើម្បីធ្វើវា យើងអាចដោះសោរព៉ារ៉ាម៉ែត្រ ក្នុងតំណកុងវូលូស្យុងដែលយើងបានចុះត្រជាក់មុននេះ។\n",
"ដើម្បីធ្វើវា យើងអាចដោះបិទប៉ារ៉ាម៉ែត្រពិន្ទុចម្រាស់ convolutional ដែលយើងបានបិទរួចហើយបាន។\n",
"\n",
"> **សម្គាល់៖** គឺសំខាន់ដែលអ្នកត្រូវតែបោះត្រជាក់ព៉ារ៉ាម៉ែត្រជាមុនសិន និងធ្វើបណ្តុះបណ្តាលពីរបីសិទ្ឋិ ដើម្បីស្ថេរភាពទំងន់ក្នុងស្រទាប់ចាត់ថ្នាក់។ ប្រសិនបើអ្នកចាប់ផ្តើមបណ្តុះបណ្តាលបណ្ដាញពីដើមដល់ចុងពីរព៉ារ៉ាម៉ែត្រដែលមិនត្រជាក់ ទំហំពំហួសធំៗអាចបំផ្លាញទំងន់ដែលបានបណ្តុះបណ្តាលមុននៅស្រទាប់កុងវូលូស្យុង។\n",
"> **សំគាល់៖** វាសំខាន់ដែលអ្នកត្រូវបិទប៉ារ៉ាម៉ែត្រ​មុន និងអនុវត្ត​ការបង្រៀនជាអគ្គិសនីច្រើនដើម្បីស្ថាបនាភាពថាមពលនៅក្នុងស្រទាប់ចាត់ថ្នាក់។ ប្រសិនបើអ្នកចាប់ផ្តើមបណ្តុះបណ្តាលបណ្តាញពីចុងដល់ចុងភ្លាមដោយប៉ារ៉ាម៉ែត្រដែលមិនបានបិទ អំពើខុសខាតធំបំផុតនឹងបំផ្លាញទម្ងន់ដែលបានបណ្តុះបណ្តាលជាមុននៅក្នុងស្រទាប់ convolutional។\n",
"\n",
"ម៉ូដែល VGG-16 កុងវូលូស្យុងរបស់យើងស្ថិតនៅខាងក្នុងស្រទាប់ទីមួយ ហើយវាផ្ទុកស្រទាប់ជាច្រើនផ្ទាល់ខ្លួន។ យើងអាចមើលទៅលើរចនាសម្ព័ន្ធរបស់វា៖ \n"
"ម៉ូដែល convolutional VGG-16 របស់យើងស្ថិតនៅខាងក្នុងស្រទាប់ដំបូង ហើយវាមានស្រទាប់ជាច្រើនផ្ទាល់ខ្លួន។ យើងអាចមើលទៅលើរចនាសម្ព័ន្ធរបស់វាពីព្រោះ៖ \n"
]
},
{
@ -945,7 +956,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងអាចដោះសោរ (unfreeze) ស្រទាប់ទាំងអស់របស់មូលដ្ឋានកំណត់ចំណុច convolutional:\n"
"យើងអាចរំលាយស្រស់រាល់ស្រទាប់នៃមូលដ្ឋានកុងវ៉ុលយ៉ូស្យុងទាំងអស់៖\n"
]
},
{
@ -961,7 +972,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យ៉ាងไรก็ตาม ការដោះជម្រះបញ្ជាក់ទាំងអស់ផ្តូរជាមួយគ្នាតែម្តងមិនមែនជាគំនិតល្អបំផុតទេ។ យើងអាចដោះជម្រះតែស្រទាប់ចុងក្រោយជាប់ការបង្រួមខ្លះៗ​ដំបូងបាន ព្រោះវាមានគំរូថ្នាក់ខ្ពស់ជាង ដែលមានសារៈសំខាន់សម្រាប់រូបភាពរបស់យើង។ ឧទាហរណ៍ ចាប់ផ្តើម យើងអាចចាក់សំណាញ់ស្រទាប់ទាំងអស់លើកលែងតែ ៤ ស្រទាប់ចុងក្រោយបាន៖\n"
"ទោះយ៉ាងណាក៏ដោយ ការដោះពុះពេញលេញគ្រប់វា ពុំមែនជាគំនិតល្អបំផុតទេ។ យើងអាចដោះពុះស្រង់គ្រាន់តែស្រទាប់បន្ទប់ចុងក្រោយមួយចំនួន ព្រោះវាមានលំនាំកម្រិតខ្ពស់ដែលពាក់ព័ន្ធទៅនឹងរូបភាពរបស់យើង។ ឧទាហរណ៍ ដើម្បីចាប់ផ្តើម យើងអាចចាំដាក់ស្រទាប់ទាំងអស់ក្រៅតែកុំចុង ៤ ស្រទាប់ចុងក្រោយ៖\n"
]
},
{
@ -1000,11 +1011,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ប្រសេទថាចំនួនប៉ារ៉ាម៉ែត្រដែលអាចបណ្តុះបណ្តាលបានបានបន្តកើនឡើងយ៉ាងច្រើន ក៏ប៉ុន្តែវានៅតែប្រហែល ៥០% នៃប៉ារ៉ាម៉ែត្រទាំងអស់។\n",
"សូមសង្កេតឃើញថាចំនួនប៉ារ៉ាម៉ែត្រដែលអាចបណ្តុះបណ្តាលបានបានបង្កើនយ៉ាងខ្លាំង ប៉ុន្តែវានៅតែប្រហែលជាពាក់កណ្តាលនៃប៉ារ៉ាម៉ែត្រទាំងអស់។\n",
"\n",
"បន្ទាប់ពីបញ្ចេញការចាក់ត្រួត, យើងអាចបន្តបណ្តុះបណ្តាលបន្ថែមបានប៉ុន្មានវគ្គទៀត (ក្នុងគំរូរបស់យើង យើងនឹងធ្វើតែម្ដងនេះប៉ុណ្ណោះ)។ អ្នកក៏អាចជ្រើសរើសអត្រាចំណេះដឹងទាប ដើម្បីកាត់បន្ថយឥទ្ធិពលលើទម្ងន់ដែលបានបណ្តុះមុន។ ទោះយ៉ាងណា ទោះបីមានអត្រាចំណេះដឹងទាបក៏ដោយ អ្នកគួរតែរួចរាល់ជាមួយការចុះថយនៃភាពត្រឹមត្រូវនៅចំណុចដើមនៃការបណ្តុះបណ្តាល ដល់ពេលវាចូលដល់កម្រិតខ្ពស់ជាងបន្តិច សម្រាប់ករណីទម្ងន់ដែលមិនផ្លាស់ប្តូរ។\n",
"បន្ទាប់ពីដោះសោរ យើងអាចធ្វើការបណ្តុះបណ្តាលបន្ថែមមួយចំនួនទៀត (ក្នុងឧទាហរណ៍របស់យើង យើងនឹងធ្វើតែ១ដងប៉ុណ្ណោះ)។ អ្នកក៏អាចជ្រើសរើសអត្រាការរៀនទាបជាងនេះ លើកលែងសម្រាប់កាត់បន្ថយប៉ះពាល់លើទម្ងន់​ដែលបានបណ្តុះបណ្តាលរួចមក។ ទោះជាអត្រាការរៀនទាបក៏ដោយ អ្នកអាចរំពឹងបានថាការពិតប្រាកដនឹងធ្លាក់ចុះនៅដើមនៃការបណ្តុះបណ្តាល រហូតដល់ចុងក្រោយឈានដល់កម្រិតខ្ពស់ជាងបន្តិចជាងករណីទម្ងន់ថេរ។\n",
"\n",
"> **កំណត់សម្គាល់៖** ការបណ្តុះបណ្តាលនេះធ្វើឡើងយឺតជាងមុន ព្រោះយើងត្រូវបញ្ជូនតម្លាភាពត្រឡប់តាមក្រោមតាមជាន់ៗជាច្រើនក្នុងបណ្តាញ!\n"
"> **ចំណាំ៖** ការបណ្តុះបណ្តាលនេះកើតឡើងយឺតជាងមុន ចំពោះព្រោះយើងត្រូវដំណើរការវិលត្រឡប់ក្រោយ gradient តាមជាន់ជាច្រើននៃបណ្តាញ!\n"
]
},
{
@ -1028,18 +1039,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"យើងមានទំនោរត្រូវទទួលបានភាពត្រឹមត្រូវក្នុងការបណ្តុះបណ្តាលខ្ពស់ជាងមុន ពីព្រោះយើងកំពុងប្រើបណ្តាញមានអំណាចខ្លាំងជាមួយប៉ារាម៉ែត្រច្រើនជាងមុន ប៉ុន្តែភាពត្រឹមត្រូវក្នុងការត្រួតពិនិត្យគុណភាពនឹងមិនកើនឡើងច្រើនទេ។\n",
"យើងមានសក្តានុពលធ្វើបានជោគជ័យស្ថានភាពប្រកួតប្រជែងបណ្តុះបណ្តាលខ្ពស់ជាងមុន ពីព្រោះយើងកំពុងប្រើប្រាស់បណ្តាញដែលមានឥទ្ធិពលខ្លាំងជាងមុនជាមួយផារ៉ាម៉ែត្រ​ច្រើនជាង ម្យ៉ាងទៀត ការត្រួតពិនិត្យប្រកួតប្រជែងនឹងកើនឡើងមិនបានច្រើនសោះទេ។\n",
"\n",
"សូមកុំស្ទាក់ស្ទើរនៅក្នុងការដោះសោតស្រទាប់បន្ថែមពីរបណ្តាញ និងបណ្តុះបណ្តាលបន្ថែម ដើម្បីមើលថាតើអ្នកអាចទទួលបានភាពត្រឹមត្រូវខ្ពស់ជាងមុនទេ!\n"
"សូមកុំស្ទាក់ស្ទើរក្នុងការចេញពីស្រទាប់បណ្តងទៀតនៃបណ្តាញ ហើយបណ្តុះបណ្តាលបន្ថែម ដើម្បីមើលថាតើអ្នកអាចសម្រេចបានភាពត្រឹមត្រូវខ្ពស់ជាងមុនទេ!\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ម៉ូដែលទស្សនវិជ្ជាគណនា​ផ្សេងទៀត\n",
"## មូដែលមើលឃើញកុំព្យូទ័រផ្សេងទៀត\n",
"\n",
"VGG-16 គឺជាស្ថាបត្យកម្មទស្សនវិជ្ជាគណនាពីសាមញ្ញបំផុតមួយ។ Keras ផ្តល់ជូនបណ្តាញដែលត្រូវបានបណ្តុះបណ្តាលជាច្រើនទៀត។ ពួកដែលត្រូវបានប្រើប្រាស់ជាញឹកញាប់បំផុតក្នុងចំណោមពួកវាគឺស្ថាបត្យកម្ម **ResNet** ដែលបានបង្កើតដោយ Microsoft និង **Inception** ដែលបានបង្កើតដោយ Google។ ឧទាហរណ៍ យើងមកស្វែងយល់អំពីស្ថាបត្យកម្មនៅក្នុងម៉ូដែល ResNet-50 ដែលសាមញ្ញបំផុត (ResNet គឺជាគ្រួសារម៉ូដែលមួយដែលមានជម្រៅខុសគ្នា អ្នកអាចសាកល្បងជាមួយ ResNet-152 ប្រសិនបើអ្នកចង់មើលម៉ូដែលជ្រៅបំផុតមួយមានរូបរាងដូចម្តេច):\n"
"VGG-16 គឺជាសំណង់មើលឃើញកុំព្យូទ័រដ៏សាមញ្ញបំផុតមួយ។ Keras ផ្តល់ជូនបណ្តាបណ្តាញដែលបានបណ្តុះបណ្តាលជាមុនជាច្រើនទៀត។ អ្វីដែលត្រូវប្រើប្រាស់ជាញឹកញាប់បំផុតក្នុងចំណោមពួកនេះគឺសំណង់ **ResNet** ដែលបានបង្កើតដោយ Microsoft និង **Inception** ដោយ Google។ ឧទាហរណ៍ មកជួយស្វែងយល់អំពីសំណង់នៃម៉ូដែល ResNet-50 ដែលសាមញ្ញបំផុត (ResNet គឺជាគ្រួសារម៉ូដែលមួយមានជម្រៅខុសគ្នា អ្នកអាចសាកល្បងជាមួយ ResNet-152 ប្រសិនបើអ្នកចង់មើលម៉ូដែលជម្រៅពិតមើលទៅដូចម្តេច):\n"
]
},
{
@ -1441,29 +1452,29 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"ដូចដែលអ្នកអាចមើលឃើញ ម៉ូឌែលមានបន្ទះកំណត់ដូចគ្នា ដែលស្គាល់ថា៖ ស្រទាប់ convolutional, ស្រទាប់ pooling និងខ្នាតឡើងវិញ dense classifier ចុងក្រោយ។ យើងអាចប្រើម៉ូឌែលនេះបានដូចដដែលដូចពេលដែលយើងបានប្រើ VGG-16 សម្រាប់ការសិក្សាផ្ទេរ។ អ្នកអាចសាកល្បងជាមួយកូដខាងលើ ដោយប្រើម៉ូឌែល ResNet ផ្សេងៗជាមូលដ្ឋាន ហើយមើលថានិរន្តភាពបំលាស់ប្តូរ​ដូចម្តេច។\n",
"ដូចដែលអ្នកអាចឃើញ ម៉ូដែលមានគ្រាប់បង្កើតដែលស្គាល់សុំពីមុនដូចគ្នា៖ ស្រទាប់កុងវូលូស្យូនល បង្រួមស្រទាប់ និងក្រុមចុងក្រោយគឺក្រុមចំណាត់ថ្នាក់ធាតុច្រើន។ យើងអាចប្រើម៉ូដែលនេះដោយបែបដដែលជាមួយដែលយើងបានប្រើ VGG-16 សម្រាប់ការរៀនប្ដូរ។ អ្នកអាចសាកល្បងហូបចូលក្នុងកូដខាងលើ ដោយប្រើម៉ូដែល ResNet ផ្សេងៗជាមូលដ្ឋាន ហើយមើលថាតើភាពត្រឹមត្រូវផ្លាស់ប្តូរយ៉ាងដូចម្តេច។\n",
"\n",
"## ការធម្មតាប្រមូលផ្ទុកជាក្រុម\n",
"## ការធម្មតាបាឡ៍នៃបន្ទះ\n",
"\n",
"បណ្ដាញនេះមានស្រទាប់ប្រភេទផ្សេងទៀតមួយទៀត៖ **ការធម្មតាប្រមូលផ្ទុកជាក្រុម។** គំនិតនៃការធម្មតាប្រមូលផ្ទុកជាក្រុម គឺដើម្បីយកតម្លៃដែលចរន្តតាមរយៈបណ្ដាញប្រសាទឲ្យទៅក្នុងចន្លោះត្រឹមត្រូវ។ ជាទូទៅ បណ្ដាញប្រសាទដំណើរការល្អបំផុតនៅពេលតម្លៃទាំងអស់នៅក្នុងចន្លោះ [-1,1] ឬ [0,1] ហើយនេះជាមូលហេតុដែលយើងធ្វើការលាយបញ្ចូល/ធម្មតាបទទិន្នន័យដាក់ចូលរបស់យើងឲ្យស្របតាម។ ទោះជាយ៉ាងណា កំឡុងពេលហ្វឹកហាត់បណ្ដាញស្រទាប់ជ្រៅ អាចមានករណីដែលតម្លៃចេញពីចន្លោះនេះយ៉ាងខ្លាំង ដែលធ្វើឲ្យការហ្វឹកហាត់មានបញ្ហា។ ស្រទាប់ការធម្មតាប្រមូលផ្ទុកជាក្រុម គណនាមធ្យមភាគ និងការរីកចម្រើនស្តង់ដារ​សម្រាប់តម្លៃទាំងអស់នៃ minibatch បច្ចុប្បន្ន ហើយប្រើវាដើម្បីធម្មតាសញ្ញា មុននឹងបញ្ជូនតាមស្រទាប់បណ្ដាញប្រសាទ។ វាបង្កើនស្ថិរភាពនៃបណ្ដាញជ្រៅយ៉ាងសំខាន់។\n"
"បណ្តាញនេះមានស្រទាប់មួយប្រភេទទៀត៖ **ការធម្មតាបាឡ៍នៃបន្ទះ**។ គំនិតនៃការធម្មតាបាឡ៍នៃបន្ទះគឺនាំឱ្យតម្លៃដែលហូរចូលតាមបណ្តាញបង្ហាញទៅក្នុងចន្លោះត្រឹមត្រូវ។ ជាធម្មតា បណ្តាញបង្ហាញដំណើរការល្អបំផុតពេលដែលតម្លៃទាំងអស់ស្ថិតនៅក្នុងជួរពី [-1,1] ឬ [0,1] ហើយហេតុផលនេះបានបង្ខំឱ្យយើងវាស់/ធម្មតាគ្រប់ទិន្នន័យបញ្ចូលរបស់យើងយ៉ាងសមរម្យ។ ទោះជាយ៉ាងណា កំឡុងពេលមួយនៅពេលបណ្ដាញជ្រៅកំពុងបណ្តុះ បញ្ហាអាចកើតឡើងថាតម្លៃចេញពីជួរនេះយ៉ាងខ្លាំង ដែលបង្កើតការលំបាកក្នុងការបណ្តុះ។ ស្រទាប់ធម្មតាបាឡ៍នៃបន្ទះគណនាមធ្យម និងស្តង់ដារ ផុតការញែកគ្រប់តម្លៃនៅក្នុងក្រុមប្រមាណបច្ចុប្បន្ន ហើយប្រើវាទៅធម្មតាសញ្ញាមុនផ្តល់ឱ្យស្រទាប់បណ្តាញបង្ហាញ។ នេះធ្វើឱ្យស្ថាបត្យកម្មនៃបណ្តាញជ្រៅមានស្ថេរភាពខ្លាំង។ \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## សេចក្ីសន្និដ្ឋាន\n",
"## សេចក្ីសន្និដ្ឋាន\n",
"\n",
"ដោយប្រើការរៀនផ្ទេរ យើងបានអាចរៀបចំថ្នាក់ចាត់ថ្នាក់មួយសម្រាប់ភារកិច្ចចាត់ថ្នាក់អ αντικណ្ឌារបស់យើងបានយ៉ាងលឿន ហើយទទួលបានភាពត្រឹមត្រូវខ្ពស់។ ទោះយ៉ាងណា ឧទាហរណ៍នេះមិនមែនជាការសមរម្យទាំងស្រុងទេ ព្រោះបណ្ដាញ VGG-16ដើមត្រូវបានបណ្តុះបណ្តាលជាមុនដើម្បីស្គាល់ឆ្មា និងឆ្កែ ហើយដូច្នេះយើងបានប្រើឡើងវិញសំណុំបែបបទភាគច្រើនដែលមានរួចហើយនៅក្នុងបណ្ដាញ។ អ្នកអាចរំពឹងបានថាភាពត្រឹមត្រូវខ្ពស់តិចជាងនេះនៅលើវត្ថុឯកទេសជ្រៅជាងនេះ ដូចជារបស់លម្អិតលើបន្ទាត់ផលិតនៅរោងចក្រ ឬស្លឹកដើមឈើខុសគ្នា។\n",
"ដោយប្រើការរៀនផ្ទេរ យើងអាចបង្កើតម៉ាស៊ីនចាត់ថ្នាក់សម្រាប់កិច្ចការចាត់ថ្នាក់វត្ថុផ្ទាល់ខ្លួនបានយ៉ាងរហ័ស និងទទួលបានភាពត្រឹមត្រូវខ្ពស់។ ទោះយ៉ាងណា ឧទាហរណ៍នេះមិនមែនជាផ្ទាំងតុល្យភាពទាំងស្រុងទេ ពីព្រោះបណ្តាញ VGG-16 ដើមត្រូវបានហ្វឹកហាត់ដើម្បីធ្វើការទទួលស្គាល់ឆ្មា និងឆ្កែ ហើយដូច្នេះយើងគ្រាន់តែនำលំនាំភាគច្រើនដែលមានរួចហើយនៅក្នុងបណ្តាញមកប្រើវិញ។ អ្នកអាចរំពឹងថានឹងមានភាពត្រឹមត្រូវទាបជាងនេះលើវត្ថុដែលមានដែនកំណត់ពិសេសជាងនេះ ដូចជាព័ត៌មានលម្អិតលើខ្សែកន្ត្រ៍ផលិតនៅរោងចក្រ ឬស្លឹកឈើផ្សេងទៀត។\n",
"\n",
"អ្នកអាចឃើញថា ភារកិច្ចស្មុគស្មាញជាងនេះដែលយើងកំពុងដោះស្រាយឥឡូវនេះ តម្រូវឱ្យមានថាមពលគណនា ខ្ពស់ជាង ហើយមិនអាចដោះស្រាយបានយ៉ាងងាយលើ CPUទេ។ នៅឯកត្តាក្រោយ យើងនឹងព្យាយាមប្រើកំណែប疆តូចជាងមុនសម្រាប់បណ្តុះបណ្តាលម៉ូឌែលដូចគ្នា ដោយប្រើធនធានគណនាបន្ថយ ដែលធ្វើឲ្យមានភាពត្រឹមត្រូវតិចប៉ុន្ដែបន្តចុងភ្លើង។\n"
"អ្នកអាចមើលឃើញថា កិច្ចការរឹតបន្តឹងច្រើនដែលយើងកំពុងដោះស្រាយឥឡូវនេះត្រូវការពហុសមត្ថភាពគណនា ខណៈដែលមិនអាចដោះស្រាយបានយ៉ាងងាយស្រួលលើ CPU ទេ។ ក្នុងផ្នែកបន្ទាប់ យើងនឹងព្យាយាមប្រើការអនុវត្តស្រាលជាងនេះ ដើម្បីហ្វឹកហាត់ម៉ូដែលដូចគ្នាមួយដោយប្រើធនធានគណនាបានទាបជាង ដែលនាំឲ្យមានភាពត្រឹមត្រូវតិចតួចតែប៉ុណ្ណោះ។\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការបដិសេទ**៖ \nឯកសារនេះបានបំលែងដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ បើទោះបីយើងខិតខំដល់ភាពត្រឹមត្រូវក៏ដោយ សូមយកចិត្តទុកដាក់ថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវខ្លះៗ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេរាប់ថាជា ប្រភពអាជ្ញាធរដ៏ត្រឹមត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្តល់អាទិភាពការបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសៗដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**ការបដិសេធ**:\nឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
]
}
],

View File

@ -1,34 +1,34 @@
# ការគ្រប់គ្រងភាសាប្រពៃណី
# ការកែចេញភាសាធម្មជាតិ
![ង្ខេបពីភារកិច្ច NLP នៅក្នុងរូបភាពសំលៀកបំពាក់](../../../../translated_images/km/ai-nlp.b22dcb8ca4707cea.webp)
![រុបអំពីភារកិច្ច NLP ក្នុងការគ្រាស់ឯកសារ](../../../../translated_images/km/ai-nlp.b22dcb8ca4707cea.webp)
នៅក្នុងផ្នែកនេះ យើងនឹងផ្តោតលើការប្រើប្រាស់បណ្តាញប្រព័ន្ធប្រសាទដើម្បីដោះស្រាយភារកិច្ចដែលទាក់ទងនឹង **ការគ្រប់គ្រងភាសាប្រពៃណី (NLP)**។ មានបញ្ហា NLP ជាច្រើនដែលយើងចង់ឲ្យកុំព្យូទ័រអាចដោះស្រាយបាន៖
នៅក្នុងផ្នែកនេះ យើងនឹងផ្តោតលើការប្រើប្រាស់បណ្ដាញប្រព័ន្ធប្រតិបត្តិការជាសរសៃប្រព័ន្ធដើម្បីដោះស្រាយភារកិច្ចទាក់ទងនឹង **ការកែចេញភាសាធម្មជាតិ (NLP)**។ មានបញ្ហា NLP ជាច្រើនដែលយើងចង់ឲ្យកុំព្យូទ័រអាចដោះស្រាយបាន៖
* **ចាត់ថ្នាក់អត្ថបទ** គឺជាបញ្ហាចាត់ថ្នាក់ទូទៅដែលសាក់សន្ធិស្នាអត្ថបទ។ ឧទាហរណ៍រួមមានការចាត់ថ្នាក់សារអ៊ីម៉ែលថាជាអ៊ីមែលជាតសំរាម ឬមិនជាតសំរាម ឬចាត់ថ្នាក់អត្ថបទជាប្រភេទកីឡា អាជីវកម្ម នយោបាយ ល។ ក៏ដូចជាករណីបង្កើតជាមួយបច្ចេកវិទ្យាច្រើនរបស់ប៊ូតជាការយល់ដឹងអំពីអ្វីដែលអ្នកប្រើប្រាស់ចង់និយាយ -- ក្នុងករណីនេះ យើងកំពុងដោះស្រាយបញ្ហា **ចាត់ថ្នាក់ចេតនា**។ ជាញឹកញាប់ ក្នុងចំណាត់ថ្នាក់ចេតនា យើងត្រូវដោះស្រាយជាមួយកថាខណ្ឌជាច្រើន។
* **វាយតម្លៃអារម្មណ៍** គឺជាបញ្ហាកំណត់តម្លៃលើតម្លៃតំបន់ដែលយើងត្រូវផ្តល់លេខមួយ (អារម្មណ៍) ដែលបញ្ជាក់ពីភាពវិជ្ជមាន/អវិជ្ជមានន័យនៃឃ្លា។​ ជំនាន់ដែលមានកម្រិតខ្ពស់ជាងនៃវាយតម្លៃអារម្មណ៍គឺ **វាយតម្លៃអារម្មណ៍ផ្អែកលើកត្តា** (ABSA) ដែលយើងផ្តល់អារម្មណ៍នៅចំពោះមុខមិនមែនជាទ្វារសំណួរទាំងមូលទេ តែក្នុងផ្នែកផ្សេងៗរបស់វា (កត្តា) ឧ. *នៅភោជនីយដ្ឋាននេះ ខ្ញុំចូលចិត្តម្ហូបបាយ ប៉ុន្តែការតុបតែងបរិយាកាសគឺអាក្រក់*
* **ការទទួលស្គាល់អត្តសញ្ញាណឈ្មោះ** (NER) មានន័យពីបញ្ហាការដករកសូមកន្សោមណាមួយចេញពីអត្ថបទ។ ឧទាហរណ៍ ជាថ្មី យើងអាចត្រូវយល់ថាក្នុងឃ្លា *ខ្ញុំត្រូវការហោះហើរទៅទីក្រុងប៉ារីសថ្ងៃស្អែក* ពាក្យ *ថ្ងៃស្អែក* មានន័យថាជា DATE ហើយ *ប៉ារីស* គឺ LOCATION។
* **ការដកស្រង់ពាក្យគន្លឹះ** ស្រដៀងទៅនឹង NER ប៉ុន្តែយើងត្រូវដកពាក្យដែលមានសារៈសំខាន់ទៅន័យនៃឃ្លាដោយស្វ័យប្រវត្តិ ដោយមិនមានការបណ្តុះបណ្តាលជាមុនសម្រាប់ប្រភេទអត្តសញ្ញាណជាក់លាក់។
* **ការបែងចែកអត្ថបទជាក្រុម** អាចមានប្រយោជន៍នៅពេលដែលយើងចង់ក្រុមឃ្លាស្រដៀងគ្នាក្នុងការស្នើសុំជាក់លាក់នៅក្នុងការពិភាក្សាជំនួយបច្ចេកទេស។
* **ការឆ្លើយសំណួរ** មានន័យថាគំរូអាចឆ្លើយសំណួរជាក់លាក់មួយបាន។ គំរូទទួលបានអត្ថបទមួយនិងសំណួរជាអ៊ីនភ៊ុត ហើយវាត្រូវផ្តល់កន្លែងក្នុងអត្ថបទដែលមានចម្លើយសំណួរនោះ (ឬក្នុងករណីខ្លះ បង្កើតអត្ថបទចម្លើយ)។
* **ការបង្កើតអត្ថបទ** គឺជាការអនុញ្ញាតឲ្យគំរូបង្កើតអត្ថបទថ្មី។ វាអាចត្រូវបានពិចារណាជាការចាត់ថ្នាក់ដែលទាយលទ្ធផលអក្ខរក្រម/ពាក្យបន្ទាប់ដោយផ្អែកលើ *សំណួរអត្ថបទ*។ គំរូបង្កើតអត្ថបទកម្រិតខ្ពស់ ដូចជា GPT-3 អាចដោះស្រាយភារកិច្ច NLP ផ្សេងទៀតដូចជាចាត់ថ្នាក់ទៅលើបច្ចេកទេសដែលហៅថា [ការសរសេរបញ្ជា](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) ឬ [វិស្វកម្មសរសេរបញ្ចូល](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29)
* **ការសង្ខេបអត្ថបទ** គឺជាបច្ចេកទេសនៅពេលដែលយើងចង់ឲ្យកុំព្យូទ័រប្រាប់ "អាន" អត្ថបទវែង និងសង្ខេបវា​ក្នុងឃ្លា​ចំនួនតិច
* **ការបកប្រែម៉ាស៊ីន** អាចមើលថាជាការរួមបញ្ចូលរវាងការយល់ដឹងអត្ថបទក្នុងភាសាមួយ និងការបង្កើតអត្ថបទក្នុងភាសាមួយផ្សេងទៀត។
* **កំណាត់ំណាត់ថ្នាក់អត្ថបទ** ជាបញ្ហាកំណាត់ចំណាត់ថ្នាក់ជារឿយៗទាក់ទងទៅនឹងលំដាប់អត្ថបទ។ ឧទាហរណ៍ មានការចាត់ថ្នាក់សារអ៊ីម៉ែលជាសារស្ពាម ឬមិនមែនស្ពាម ឬចាត់ថ្នាក់អត្ថបទជា កីឡា អាជីវកម្ម នយោបាយ និងផ្សេងទៀត។ ក៏ដូចជាក្នុងការអភិវឌ្ឍប័តបច្ចេកវិទ្យាចម្លែកយើងតែងត្រូវការយល់ពីអ្វីដែលអ្នកប្រើប្រាស់ចង់និយាយ — ក្នុងករណីនេះយើងកំពុងដោះស្រាយ **ចំណាត់ថ្នាក់បំណង**។ ជាញឹកញាប់ នៅក្នុងការចាត់ថ្នាក់ទៅលើបំណងយើងត្រូវដោះស្រាយជាច្រើនប្រភេទ
* **វិភាគអារម្មណ៍** ជាបញ្ហាឧបសម្ព័ន្ធដែលយើងត្រូវផ្ដល់លេខមួយ (មតិយោបល់) ដែលសមមូលទៅនឹងដែលមានន័យជាកំណត់ចំពោះការសំដែងអារម្មណ៍ស្របតាមចំណុចវិជ្ជមាន ឬអវិជ្ជមាននៃប្រយោគ។ កំណែប្រសើរជាងវិភាគអារម្មណ៍គឺ **វិភាគអារម្មណ៍ផ្អែកលើមុខងារ** (ABSA) ដែលយើងផ្ដល់អារម្មណ៍មិនមែនទៅវិញទៅមកសម្រាប់ប្រយោគទាំងមូលទេ ប៉ុន្ដែទៅសម្រាប់ផ្នែកផ្សេងៗរបស់វា (មុខងារ) លើករណីឧទាហរណ៍ *នៅភោជនីយដ្ឋាននេះ ខ្ញុំចូលចិត្តម្ហូប ប៉ុន្តែបរិយាកាសគឺអាក្រក់*
* **ការទទួលសម្គាល់គុណសម្បត្តិបុគ្គល** (NER) យោងទៅលើយុទ្ធសាស្រ្តសម្រាប់ដកស្រង់អត្ថបទចេញពីអត្ថបទ។ ឧទាហរណ៍ យើងត្រូវយល់ថា ក្នុងពាក្យ *ខ្ញុំត្រូវទៅបើកយន្តហោះទៅទីក្រុងប៉ារីសថ្ងៃស្អែក* ពាក្យ *ថ្ងៃស្អែក* សំដៅទៅលើកាលបរិច្ឆេទ និង *ប៉ារីស* គឺជាទីកន្លែង។
* **ការដកស្រង់គន្លឹះ** ស្រដៀងនឹង NER ប៉ុន្តែយើងត្រូវដកពាក្យដែលសំខាន់ចំពោះន័យនៃប្រយោគដោយស្វ័យប្រវត្តិ ដោយមិនចាំបាច់ត្រូវបណ្តុះបណ្តាលជាបុព្វហេតុនៅលើប្រភេទអត្ថសម្បត្តិជាក់លាក់។
* **ក្រុមអត្ថបទ** អាចមានប្រយោជន៍នៅពេលយើងចង់ក្រុមឲ្យភាសាស្រដៀងគ្នា ដូចជាការស្នើសុំព្រមក្នុងការឆ្លើយតបបច្ចេកទេស។
* **ការឆ្លើយសំណួរ** សំដៅទៅលើសមត្ថភាពនៃគំរូក្នុងការឆ្លើយតបសំណួរមួយជាក់លាក់។ គំរូទទួលបានខែក និងសំណួរជាបញ្ចូល ហើយត្រូវផ្ដល់ទីតាំងនៅក្នុងអត្ថបទដែលមានចម្លើយសំណួរ (ឬក្នុងករណីខ្លះ បង្កើតអត្ថបទចម្លើយ)។
* **ការបង្កើតអត្ថបទ** ជាសមត្ថភាពនៃគំរូក្នុងការផលិតអត្ថបទថ្មី។ វាអាចត្រូវបានគិតថាជាភារកិច្ចចាត់ថ្នាក់ដែលប៉ាន់ស្មានអក្សរឬពាក្យបន្ទាប់ដោយផ្អែកលើ *ការជំរុញអត្ថបទ* មួយ។ គំរូបង្កើតអត្ថបទកម្រិតខ្ពស់ ដូចជា GPT-3 អាចដោះស្រាយភារកិច្ច NLP ផ្សេងទៀតដូចជា ការចាត់ថ្នាក់ ដោយប្រើបច្ចេកទេសហៅថា [កម្មវិធីជំរុញ](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) ឬ [វិស្វកម្មជំរុញ](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29)
* **ការសង្ខេបអត្ថបទ** ជាបច្ចេកទេសដែលយើងចង់ឲ្យកុំព្យូទ័រ "អាន" អត្ថបទវែងហើយសង្ខេបវាជាចំណុចខ្លះៗ
* **ការបកប្រែម៉ាស៊ីន** អាចមើលឃើញជាការរួមបញ្ចូលនៃការយល់ដឹងអត្ថបទភាសាដែលមួយ និងការបង្កើតអត្ថបទភាសាមួយទៀត។
ដើមគេភារកិច្ច NLP ច្រើនត្រូវបានដោះស្រាយប្រើវិធីប្រពៃណីដូចជា វិញ្ញាសាកាត់តាមវេយ្យាករណ៍។ ឧទាហរណ៍ ក្នុងការបកប្រែមួយ គេបានប្រើវេយ្យាករណ៍ដើម្បីបម្លែងឃ្លាដើមទៅជារឹមសៀវភៅវេយ្យាករណ៍ បន្ទាប់មកទាញយករចនាសម្ព័ន្ធសំណួរល្អជាង ដើម្បីបង្ហាញន័យនៃឃ្លា ហើយតាមបណ្តាដើម្បីន័យនិងវេយ្យាករណ៍ភាសាគោលលទ្ធផលត្រូវបានបង្កើត។ ឥឡូវនេះ ភារកិច្ច NLP ជាច្រើនត្រូវបានដោះស្រាយមានប្រសិទ្ធភាពច្រើនជាមួយបណ្តាញប្រព័ន្ធប្រសាទ
ម៉ោងដើម ភារកិច្ច NLP ជាទូទៅ ត្រូវបានដោះស្រាយដោយវិធីសាស្រ្តប្រពៃណីដូចជាក្រាមម៉ាតិច។ ឧទាហរណ៍ នៅការបកប្រែម៉ាស៊ីន គេបានប្រើការជ្រើសរើសការវិភាគនៃប្រយោគដั้งដើមទៅក្នុងតម្រែសំណុំសញ្ញាវិធីសាស្រ្តវេយ្យាករណ៍ រួចបញ្ចេញរចនាសម្ព័ន្ធសេម៉ង់ខ្ពស់ធ្វើជាតំណាងន័យនៃប្រយោគ និងផ្អែកលើន័យនិងក្រាមម៉ាតិចភាសាគោលផ្លាស់ប្តូរបានលទ្ធផល។ សព្វថ្ងៃ ភារកិច្ច NLP ច្រើនត្រូវបានដោះស្រាយប្រសើរជាមួយបណ្តាញសរសៃប្រព័ន្ធ
> វិធី NLP ចាស់ៗជាច្រើនត្រូវបានអនុវត្តក្នុងបណ្ណាល័យ Python [Natural Language Processing Toolkit (NLTK)](https://www.nltk.org)។ មានសៀវភៅ [NLTK Book](https://www.nltk.org/book/) ដែលមាននៅលើគេហទំព័រអនឡាញផងដែរ ដែលធ្វើអោយយើងយល់ពីភារកិច្ច NLP ផ្សេងៗដដែលអាចដោះស្រាយបានដោយប្រើ NLTK។
> វិធីសាស្រ្ត NLP ដั้งដើមជាច្រើនត្រូវបានអនុវត្តក្នុងបណ្ណាល័យ Python [Natural Language Processing Toolkit (NLTK)](https://www.nltk.org)។ មានសៀវភៅ [NLTK Book](https://www.nltk.org/book/) សម្រាប់សិក្សាដោយប្រើបានអនឡាញ ដែលរៀបរាប់របៀបដោះស្រាយភារកិច្ច NLP ផ្សេងៗជាមួយ NLTK។
ក្នុងវគ្គនេះ យើងនឹងផ្តោតចំណុចចម្បងទៅលើការប្រើបណ្តាញប្រព័ន្ធប្រសាទសម្រាប់ NLP ហើយយើងនឹងប្រើ NLTK នៅពេលដែលត្រូវការ
ក្នុងវគ្គនេះ យើងនឹងផ្តោតជាចម្បងលើការប្រើបណ្ដាញប្រព័ន្ធប្រតិបត្តិការសរសៃសម្រាប់ NLP ហើយយើងនឹងប្រើ NLTK នៅពេលចាំបាច់
យើងបានរៀនពីការប្រើបណ្តាញប្រព័ន្ធប្រសាទសម្រាប់ទិន្នន័យតារាង និងរូបភាពរួចហើយ។ ផ្សេងគ្នាចម្បងរវាងទិន្នន័យទាំងនេះនឹងអត្ថបទគឺអត្ថបទគឺជាខ្សែវែងប្រែប្រួល ខណៈពេលដែលកម្រាតបញ្ចូលក្នុងរូបភាពត្រូវបានដឹងជាមុន។ ទោះបីបណ្តាញបរាជ័យអាចយករៀបចំប្លង់ពីទិន្នន័យបញ្ចូល ប្លង់ក្នុងអត្ថបទមានភាពស្មុគស្មាញជាង។ ឧ. យើងអាចមានការបដិសេធចេញពីប្រធានបទជាច្រើនពាក្យបាន​ដោយគ្រាន់តែជាការបដិសេធសម្រាប់ពាក្យជាច្រើន (ឧ. *ខ្ញុំមិនចូលចិត្តផ្លែទាំងអង់* ទៅវិញទៅមក *ខ្ញុំមិនចូលចិត្តផ្លែទាំងអាំងធំនិងពណ៌ស្រស់* ) ហើយនោះគួរតែត្រូវបានបកស្រាយថាជាប្លង់តែមួយ។ ដូច្នេះ ដើម្បីសម្របសម្រួលភាសាយើងត្រូវបញ្ចូលប្រភេទបណ្តាញប្រព័ន្ធប្រសាទថ្មីៗដូចជា *បណ្តាញត្រឡប់* និង *transfomers*។
យើងបានរៀនរួចជាភាសាមាននៅលើការប្រើបណ្ដាញប្រព័ន្ធសម្រាប់ទិន្នន័យពុម្ព និងរូបភាព។ ខុសគ្នាចម្បងរវាងទិន្នន័យទាំងនោះនិងអត្ថបទគឺ អត្ថបទជាលំដាប់ដែលមានប្រវែងមិនទៀងទាត់ ខណៈដែលទំហំបញ្ចូលក្នុងករណីរូបភាពត្រូវបានគ្រប់គ្រងជាមុន។ ខណៈដែលបណ្ដាញអាចជ្រូកយកគំរូពីទិន្នន័យបញ្ចូល ការស្វែងរកគំរូនៅក្នុងអត្ថបទមានភាពស្មុគស្មាញជាង។ ឧទាហរណ៍ អាចមានប្រយោគបដិសេធដែលបែងចែកពីប្រធានបទដោយពាក្យជាច្រើន (ឧ. *ខ្ញុំមិនចូលចិត្តក្រូចទេ* ប្រៀបធៀបនឹង *ខ្ញុំមិនចូលចិត្តក្រូចធំៗពណ៌ស្អាតឆ្ងាញ់ទេ* ) ហើយវានឹងត្រូវបានពន្យល់ថាជាគំរូមួយ។ ដូច្នេះ ដើម្បីដោះស្រាយភាសា យើងត្រូវបានណែនាំប្រភេទបណ្ដាញប្រព័ន្ធប្រតិបត្តិការថ្មីៗ ដូចជា *បណ្ដាញជុំវិញ* និង *transformers*។
## ដំឡើងបណ្ណាល័យ
បើអ្នកកំពុងប្រើការដំឡើង Python នៅលើកុំព្យូទ័រផ្ទាល់ខ្លួន ដើម្បីបើកអនុវត្តវគ្គនេះ អ្នកប្រហែលត្រូវតែដំឡើងបណ្ណាល័យទាំងអស់ដែលត្រូវការនៃ NLP ដោយប្រើពាក្យបញ្ជានិយមដូចខាងក្រោម
ប្រសិនបើអ្នកកំពុងប្រើការតំឡើង Python មូលដ្ឋានដើម្បីរត់វគ្គនេះ អ្នកប្រហែលជាត្រូវតែដំឡើងបណ្ណាល័យទាំងអស់ដែលត្រូវការសម្រាប់ NLP ដោយប្រើពាក្យបញ្ជាទាំងនេះ
**សម្រាប់ PyTorch**
```bash
pip install -r requirements-torch.txt
pip install -r requirements-pytorch.txt
```
**សម្រាប់ TensorFlow**
```bash
@ -37,15 +37,15 @@ pip install -r requirements-tf.txt
> អ្នកអាចសាកល្បង NLP ជាមួយ TensorFlow នៅលើ [Microsoft Learn](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-77998-cacaste)
## សេចក្ដីវិភាគ GPU
## ការព្រមាន GPU
នៅក្នុងផ្នែកនេះ នៅខ្លះខ្លះនៃឧទាហរណ៍យើងនឹងហាត់គំរូដែលមានទំហំធំជាងមុន។
* **ប្រើកុំព្យូទ័រដែលមាន GPU**៖ ជាការណែនាំឲ្យបើកកំណត់ត្រារបស់អ្នកលើកុំព្យូទ័រដែលមាន GPU ដើម្បីកាត់បន្ថយពេលរងចាំពេលធ្វើការជាមួយគំរូទំហំធំ។
* **កំណត់ជំហរចងចំណង GPU**៖ ការប្រើ GPU អាចនាំឲ្យមានស្ថានភាពដែលអង្គចងចំណង GPU គាត់ប្រេងដាច់ពេលហាត់គំរូធំៗ
* **ការប្រើប្រាស់អង្គចងចណង GPU**៖ បរិមាណអង្គចងចំណង GPU ប្រើពេលហាត់គំរូអាស្រ័យលើប៉ារ៉ាម៉ែត្រ ផ្សេងៗ រួមមានទំហំជំពូកតូច (minibatch)
* **កាត់បន្ថយទំហំជំពូកតូច**៖ ប្រសិនបើអ្នកប្រឈមមុខបញ្ហាអង្គចងចំណង GPU អ្នកអាចពិចារណាកាត់បន្ថយទំហំជំពូកតូចនៅក្នុងកូដរបស់អ្នកជាជម្រើសមួយ
* **ការដោះស្រាយបញ្ហាអង្គចងចំណង GPU ក្នុង TensorFlow**៖ កំណែចាស់ៗនៃ TensorFlow អាចមិនបញ្ឈប់ការប្រើប្រាស់អង្គចងចំណង GPU យ៉ាងត្រឹមត្រូវ នៅពេលហាត់គំរូច្រើនក្នុងកឺណែល Python មួយ។ ដើម្បីគ្រប់គ្រងការប្រើប្រាស់អង្គចងចំណង GPU ជាដំណោះស្រាយ អ្នកអាចកំណត់ TensorFlow ឲ្យបន្ថែមអង្គចងចំណង GPU ពេញតែត្រូវការតែប៉ុណ្ណោះ
* **ការបញ្ចូលកូដ**៖ ដើម្បីកំណត់ឲ្យ TensorFlow កំណត់បន្ថែមអង្គចងចំណង GPU លើកដំបូងតែពេលគាំទ្រ អ្នកអាចបញ្ចូលកូដខាងក្រោមក្នុងកំណត់ត្រារបស់អ្នក៖
នៅក្នុងផ្នែកនេះ នៅក្នុងឧទាហរណ៍ខ្លះៗ យើងនឹងបណ្តុះបណ្តាលគំរូដែលមានទំហំធំប៉ុន្មាន។
* **ប្រើកុំព្យូទ័រមាន GPU**៖ គួរឱ្យរត់កំណត់ត្រារបស់អ្នកលើកុំព្យូទ័រដែលមាន GPU ដើម្បីកាត់បន្ថយពេលរងចាំពេលធ្វើការជាមួយគំរូធំ
* **កំហិតអង្គចងចាំ GPU**៖ ការរត់លើ GPU អាចនាំឲ្យមានករណីអ្នកប្រើអង្គចងចាំ GPU មិនគ្រប់គ្រាន់ ពិសេសពេលបណ្តុះគំរូធំ
* **ការប្រើប្រាស់អង្គចងចំ GPU**៖ បរិមាណអង្គចងចាំ GPU ដែលបានប្រើពេលបណ្តុះគំរូអាស្រ័យលើកត្តាច្រើន រួមមានទំហំខ្មៅ
* **បន្ថយទំហំខ្មៅ**៖ ប្រសិនបើអ្នកប្រឈមមុខនឹងបញ្ហាអង្គចងចាំ GPU សូមពិចារណាកាត់បន្ថយទំហំខ្មៅក្នុងកូដរបស់អ្នកជាជម្រើស។
* **ការចេញវិញអង្គចងចាំ GPU នៅ TensorFlow**៖ ភាពចាស់របស់ TensorFlow អាចមិនចេញអង្គចងចាំ GPU ត្រឹមត្រូវពេលបណ្តុះគំរូជាច្រើនក្នុងធុង Python តែមួយ។ ដើម្បីគ្រប់គ្រងការប្រើប្រាស់អង្គចងចាំ GPU បានប្រសើរជាងមុន អ្នកអាចកំណត់ TensorFlow ឲ្យបែងចែកអង្គចងចាំ GPU តាមត្រូវតែប្រើ
* **បញ្ចូលកូដ**៖ ដើម្បីកំណត់ TensorFlow ឲ្យបង្កើនការបែងចែកអង្គចងចាំ GPU តែពេលដែលត្រូវការ សូមបញ្ចូលកូដខាងក្រោមក្នុងកំណត់ត្រារបស់អ្នក៖
```python
physical_devices = tf.config.list_physical_devices('GPU')
@ -53,21 +53,21 @@ if len(physical_devices)>0:
tf.config.experimental.set_memory_growth(physical_devices[0], True)
```
បើអ្នកចាប់អារម្មណ៍ក្នុងការសិក្សា NLP ពីទស្សនវិជ្ជា ML ចាស់ៗ សូមចូលទៅរក [ជួរមេរៀននេះ](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP)
ប្រសិនបើអ្នកចាប់អារម្មណ៍ក្នុងការសិក្សាអំពី NLP ពីទស្សនៈ ML ដั้งដើម សូមចូលទៅកាន់ [ឈុតមេរៀននេះ](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP)
## នៅក្នុងផ្នែកនេះ
នៅក្នុងផ្នែកនេះ យើងនឹងរៀនអំពី៖
នៅក្នុងផ្នែកនេះ យើងនឹងរៀនពី៖
* [តំណាងអត្ថបទជាទិន្នន័យ tensor](13-TextRep/README.md)
* [ការដាក់ពាក្យជាតំណ](14-Emdeddings/README.md)
* [ម៉ូដែលភាសា](15-LanguageModeling/README.md)
* [បណ្តាញប្រព័ន្ធប្រសាទត្រឡប់](16-RNN/README.md)
* [បណ្ាញបង្កើត](17-GenerativeNetworks/README.md)
* [កំណត់តំណាងអត្ថបទជាតង់ស័រ](13-TextRep/README.md)
* [ការបញ្ចូលពាក្យ](14-Emdeddings/README.md)
* [ការម៉ូដែលភាសា](15-LanguageModeling/README.md)
* [បណ្ដាញអាចប្រើឡើងវិញ](16-RNN/README.md)
* [បណ្ាញបង្កើត](17-GenerativeNetworks/README.md)
* [Transformers](18-Transformers/README.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ រួមទាំងយើងខិតខំប្រឹងប្រែងដើម្បីភាពត្រឹមត្រូវ ក៏សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានយកជាធនាគារដែលមានសិទ្ធិ។ សម្រាប់ព័ត៌មានសំខាន់ ការបកប្រែដោយអ្នកជំនាញជាថ្នាក់មនុស្សត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ
**ការបដិសេធ**:
ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -5,6 +5,12 @@
"source_file": "AGENTS.md",
"language_code": "kn"
},
"CONTRIBUTING.md": {
"original_hash": "c6fd7e781b67111a90abd166d0ce4aa0",
"translation_date": "2026-07-08T20:51:23+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "kn"
},
"README.md": {
"original_hash": "12c8eb6bf0867d2f1c32daf613ac5b8b",
"translation_date": "2026-04-06T16:56:31+00:00",
@ -17,6 +23,19 @@
"source_file": "SECURITY.md",
"language_code": "kn"
},
"__translation_failures__": {
"lessons/sketchnotes/LICENSE.md": {
"original_hash": "45ab63a2cd8f5faef6c9b150618837a4",
"source_file": "lessons/sketchnotes/LICENSE.md",
"language_code": "kn",
"failure_date": "2026-07-08T20:43:18+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"failure_policy_version": 1
}
},
"etc/CODE_OF_CONDUCT.md": {
"original_hash": "c06b12caf3c901eb3156e3dd5b0aea56",
"translation_date": "2025-11-25T20:22:49+00:00",
@ -54,8 +73,8 @@
"language_code": "kn"
},
"examples/README.md": {
"original_hash": "0d1babfdcbeb46525f2db3fbaaa54cd7",
"translation_date": "2025-11-25T20:35:16+00:00",
"original_hash": "7883d52c2e2a221e0b07a7b112a149b9",
"translation_date": "2026-07-08T20:34:31+00:00",
"source_file": "examples/README.md",
"language_code": "kn"
},
@ -66,8 +85,8 @@
"language_code": "kn"
},
"lessons/0-course-setup/how-to-run.md": {
"original_hash": "a4717bd9103b9f6cd84d534b83534689",
"translation_date": "2026-01-17T02:19:30+00:00",
"original_hash": "7ad8c7d8604c53649b3d4d1e2f3a6fa1",
"translation_date": "2026-07-08T20:34:56+00:00",
"source_file": "lessons/0-course-setup/how-to-run.md",
"language_code": "kn"
},
@ -191,6 +210,12 @@
"source_file": "lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md",
"language_code": "kn"
},
"lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb": {
"original_hash": "99b816b6a4957ef4100cee4c4221dff9",
"translation_date": "2026-07-08T20:24:51+00:00",
"source_file": "lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb",
"language_code": "kn"
},
"lessons/4-ComputerVision/08-TransferLearning/lab/README.md": {
"original_hash": "7765935c35fcee69b9fe2d0cfd6963e2",
"translation_date": "2025-11-25T22:44:23+00:00",
@ -330,8 +355,8 @@
"language_code": "kn"
},
"lessons/5-NLP/README.md": {
"original_hash": "8ef02a9318257ea140ed3ed74442096d",
"translation_date": "2025-11-25T21:16:26+00:00",
"original_hash": "038df6f1a73e49f6430740da083bfd6d",
"translation_date": "2026-07-08T20:35:26+00:00",
"source_file": "lessons/5-NLP/README.md",
"language_code": "kn"
},

View File

@ -0,0 +1,29 @@
# AI-For-Beginners ಗೆ ಸಹಕಾರ ನೀಡುವುದು
AI-For-Beginners ಗೆ ಸಹಕಾರ ನೀಡಲು ನಿಮ್ಮ ಆಸಕ್ತಿಗೆ ಧನ್ಯವಾದಗಳು! ನಾವು ಭಾಷಾಂತರಗಳು, ಪಾಠದ ದೋಷಗಳ ಸರಿಪಡಣೆಗಳು ಮತ್ತು ಸ್ವರೂಪಣಾ ಸರಿಪಡಣೆಗಳನ್ನು ಸ್ವಾಗತಿಸುತ್ತೇವೆ.
## ಮೈಕ್ರೋಸಾಫ್ಟ್ ಸಹಾಯಕರ ಪರವಾನಗಿ ಒಪ್ಪಂದ (CLA)
ಈ ಯೋಜನೆ ಸಹಕಾರಗಳು ಮತ್ತು ಶಿಫಾರಸುಗಳನ್ನು ಸ್ವಾಗತಿಸುತ್ತದೆ. ಬಹುಶಃ ಸಹಕಾರಗಳು Contributor License Agreement (CLA) ಗೆ ಒಪ್ಪಿಗೆಯಾಗಿರಬೇಕು, ಇದು ನೀವು ನಿಮ್ಮ ವಹಿವಾಟನ್ನು ಬಳಸಲು ಹಕ್ಕು ಹೊಂದಿದ್ದೀರಿ ಮತ್ತು ನಿಜವಾಗಿಯೂ ಹಕ್ಕುಗಳನ್ನು ನೀಡುತ್ತಿದ್ದೀರಂತೆ ಘೋಷಿಸುತ್ತದೆ. ವಿವರಗಳಿಗೆ, ಭೇಟಿ ನೀಡಿ [https://cla.microsoft.com](https://cla.microsoft.com).
ನೀವು ಒಂದು ಪುಲ್ ವಿನಂತಿ ಸಲ್ಲಿಸುವಾಗ, CLA-ಬಾಟ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅದು ನಿಮಗೆ CLA ಒದಗಿಸುವ ಅಗತ್ಯವಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಿ ಪ್ರ(PR) ಯನ್ನು ತಕ್ಕ labels ಮತ್ತು ಟಿಪ್ಪಣಿಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ. ಬಾಟ್ ನೀಡುವ ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿ. ನಮ್ಮ CLA ಬಳಸಿ ಎಲ್ಲ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ನೀವು ಇದನ್ನು ಒಂದೇ ಬಾರಿ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
## ಸಹಕಾರ ಹೇಗೆ ನೀಡಬೇಕು
### 1. ಟೈಪೋಗಳು / ಕೋಡ್ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸುವುದು
ನೀವು ಯಾವುದೇ Jupyter ನೋಟ್ಬುಕ್ ಅಥವಾ ಪಾಠದ(markdown) ಕಡೆಯಲ್ಲಿ ಟೈಪೋ ಅಥವಾ ದೋಷ ಕಂಡುಹಿಡಿದರೆ:
1. ರೆಪೊಸಿಟರಿ fork ಮಾಡಿ.
2. ಟೈಪೋ ಅಥವಾ ದೋಷದ ಲಿಂಕ್ ಸರಿಪಡಿಸಿ.
3. ಸ್ಪಷ್ಟ ವಿವರಣೆ ಹೊಂದಿದ ಪುಲ್ ವಿನಂತಿಯನ್ನು ಸಲ್ಲಿಸಿ.
### 2. ಭಾಷಾಂತರಗಳನ್ನು ಸಲ್ಲಿಸುವುದು
ನಾವು ಪಾಠಗಳನ್ನು ಬೇರೆ ಭಾಷೆಗಳಿಗೆ ಭಾಷಾಂತರಗಳನ್ನು ಸ್ವಾಗತಿಸುತ್ತೇವೆ! ದಯವಿಟ್ಟು ಭಾಷಾಂತರಗಳನ್ನು `translations/` ಡೈರೆಕ್ಟರಿಯಡಿಯಲ್ಲಿ ಇಡಿರಿ, ಅಲ್ಲಿ ಇದೆ ಇದ್ದ ಫೋಲ್ಡರ್ ಹೆಸರುಗಳನ್ನು ಬಳಸಿ (ಉದಾಹರಣೆಗೆ `translations/es/`, `translations/pt-BR/`, `translations/zh-CN/`).
ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗೆ, ನೋಡಿ [etc/CONTRIBUTING.md](etc/CONTRIBUTING.md).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ಅಸ್ವೀಕಾರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,31 +1,31 @@
# ಆರಂಭಿಕರಿಗಾಗಿ ಸುಲಭ AI ಉದಾಹರಣೆಗಳು
# ಆರಂಭಿಕರ ಸ್ನೇಹಿ AI ಉದಾಹರಣೆಗಳು
ಸ್ವಾಗತ! ಈ ಡೈರಕ್ಟರಿ ಸರಳ, ಸ್ವತಂತ್ರ ಉದಾಹರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ನಿಮಗೆ AI ಮತ್ತು ಯಂತ್ರ ಅಧ್ಯಯನವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಪ್ರತಿ ಉದಾಹರಣೆಯು ಆರಂಭಿಕರಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ವಿವರವಾದ ಕಾಮೆಂಟ್‌ಗಳು ಮತ್ತು ಹಂತ ಹಂತದ ವಿವರಣೆಗಳೊಂದಿಗೆ.
ಸ್ವಾಗತ! ಈ ಡೈರಕ್ಟರಿ ಸರಳ, ಸ್ವತಂತ್ರ ಉದಾಹರಣೆಗಳನ್ನು ಹೊಂದಿದೆ, ಇದು ನಿಮ್ಮನ್ನು AI ಮತ್ತು ಯന്ത്ര ಅಧ್ಯಯನದ ಪ್ರಾರಂಭಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಪ್ರತೀ ಉದಾಹರಣೆ ಆರಂಭಿಕರಿಗಿಷ್ಟು ಸಹಜವಾಗಿದ್ದು, ವಿವರವಾದ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಹಂತ ಹಂತದ ವಿವರಣೆಗಳೊಂದಿಗೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.
## 📚 ಉದಾಹರಣೆಗಳ ಅವಲೋಕನ
| ಉದಾಹರಣೆ | ವಿವರಣೆ | ಕಷ್ಟದ ಮಟ್ಟ | ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು |
| ಉದಾಹರಣೆ | ವಿವರಣೆ | ಕಷ್ಟದ ಮಟ್ಟ | ಪೂರ್ವಾಪೇಕ್ಷಗಳು |
|---------|-------------|------------|---------------|
| [Hello AI World](../../../examples/01-hello-ai-world.py) | ನಿಮ್ಮ ಮೊದಲ AI ಪ್ರೋಗ್ರಾಂ - ಸರಳ ಮಾದರಿ ಗುರುತಿಸುವಿಕೆ | ⭐ ಆರಂಭಿಕ | Python ಮೂಲಭೂತಗಳು |
| [Simple Neural Network](../../../examples/02-simple-neural-network.py) | ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಶೂನ್ಯದಿಂದ ನಿರ್ಮಿಸಿ | ⭐⭐ ಆರಂಭಿಕ+ | Python, ಮೂಲ ಗಣಿತ |
| [Image Classifier](./03-image-classifier.ipynb) | ಪೂರ್ವ-ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯೊಂದಿಗೆ ಚಿತ್ರಗಳನ್ನು ವರ್ಗೀಕರಿಸಿ | ⭐⭐ ಆರಂಭಿಕ+ | Python, numpy |
| [Text Sentiment](../../../examples/04-text-sentiment.py) | ಪಠ್ಯದ ಭಾವನೆಯನ್ನು ವಿಶ್ಲೇಷಿಸಿ (ಧನಾತ್ಮಕ/ನಕಾರಾತ್ಮಕ) | ⭐⭐ ಆರಂಭಿಕ+ | Python |
| [Hello AI World](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/01-hello-ai-world.py) | ನಿಮ್ಮ ಮೊದಲ AI ಪ್ರೋಗ್ರಾಂ - ಸರಳ ಪ್ಯಾಟರ್ನ್ ಗುರುತಿಕೆ | ⭐ ಆರಂಭಿಕ | Python ಮೂಲಗಳು |
| [Simple Neural Network](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/02-simple-neural-network.py) | ನೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಶೂನ್ಯದಿಂದ ನಿರ್ಮಿಸಿ | ⭐⭐ ಆರಂಭಿಕ+ | Python, ಮೂಲ ಗಣಿತ |
| [Image Classifier](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/03-image-classifier.ipynb) | ಪೂರ್ವ-ಶಿಕ್ಷಿತ ಮಾದರಿಯಿಂದ ಚಿತ್ರಗಳನ್ನು ವರ್ಗೀಕರಿಸಿ | ⭐⭐ ಆರಂಭಿಕ+ | Python, numpy |
| [Text Sentiment](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/04-text-sentiment.py) | ಪಠ್ಯದ ಭಾವನೆ ವಿಶ್ಲೇಷಣೆ (ಹಿತಕಾರಕ/ಹಾನಿಕಾರಕ) | ⭐⭐ ಆರಂಭಿಕ+ | Python |
## 🚀 ಪ್ರಾರಂಭಿಸುವುದು
## 🚀 ಪ್ರಾರಂಭಿಸೋಣ
### ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು
### ಪೂರ್ವಾಪೇಕ್ಷಗಳು
ನೀವು Python ಅನ್ನು ಸ್ಥಾಪಿಸಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (3.8 ಅಥವಾ ಹೆಚ್ಚಿನ ಆವೃತ್ತಿ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ). ಅಗತ್ಯ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಿ:
Python ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿಕೊಂಡಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (3.8 ಅಥವಾ ಹೆಚ್ಚು ಶಿಫಾರಸು). ಬೇಕಾಗುವ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ:
```bash
# ಪೈಥಾನ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ
# ಪೈಥಾನ್ ಲಿಪಿಗಳಿಗೆ
pip install numpy
# ಜುಪೈಟರ್ ನೋಟ್ಬುಕ್‌ಗಳಿಗೆ (ಚಿತ್ರ ವರ್ಗೀಕರಣೆ)
# ಜುಪಿಟರ್ ನೋಟ್‌ಬುಕ್‌ಗಳಿಗೆ (ಚಿತ್ರ ವರ್ಗೀಕರಣೆ)
pip install jupyter numpy pillow tensorflow
```
ಅಥವಾ ಮುಖ್ಯ ಪಠ್ಯಕ್ರಮದಿಂದ conda ಪರಿಸರವನ್ನು ಬಳಸಿ:
ಅಥವಾ ಮುಖ್ಯ ಪಠಕ್ರಮದಿಂದ conda ಪರಿಸರವನ್ನು ಉಪಯೋಗಿಸಿ:
```bash
conda env create --name ai4beg --file ../environment.yml
@ -34,54 +34,54 @@ conda activate ai4beg
### ಉದಾಹರಣೆಗಳನ್ನು ಚಾಲನೆ ಮಾಡುವುದು
**Python ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗಾಗಿ (.py ಫೈಲ್‌ಗಳು):**
**Python ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗ (.py ಫೈಲ್‌ಗಳು):**
```bash
python 01-hello-ai-world.py
```
**Jupyter ನೋಟ್ಬುಕ್‌ಗಳಿಗಾಗಿ (.ipynb ಫೈಲ್‌ಗಳು):**
**Jupyter ನೋಟ್ಬುಕ್‌ಗಳಿಗ (.ipynb ಫೈಲ್‌ಗಳು):**
```bash
jupyter notebook 03-image-classifier.ipynb
```
## 📖 ಕಲಿಕೆಯ ಮಾರ್ಗ
ನಾವು ಈ ಉದಾಹರಣೆಗಳನ್ನು ಕ್ರಮವಾಗಿ ಅನುಸರಿಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ:
ನಾವು ಕೆಳಗಿನ ಕ್ರಮದಲ್ಲಿ ಉದಾಹರಣೆಗಳನ್ನು ಅನುಸರಿಸುವ ಪರಿಕಲ್ಪನೆಯನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ:
1. **"Hello AI World" ನಿಂದ ಪ್ರಾರಂಭಿಸಿ** - ಮಾದರಿ ಗುರುತಿಸುವಿಕೆಯ ಮೂಲಭೂತಗಳನ್ನು ಕಲಿಯಿರಿ
2. **ಸರಳ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ನಿರ್ಮಿಸಿ** - ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ
3. **ಚಿತ್ರ ವರ್ಗೀಕರಿಸುವುದನ್ನು ಪ್ರಯತ್ನಿಸಿ** - ನಿಜವಾದ ಚಿತ್ರಗಳೊಂದಿಗೆ AI ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನೋಡಿ
4. **ಪಠ್ಯ ಭಾವನೆಯನ್ನು ವಿಶ್ಲೇಷಿಸಿ** - ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನ್ವೇಷಿಸಿ
1. **"Hello AI World" ನಿಂದ ಪ್ರಾರಂಭಿಸಿ** - ಪ್ಯಾಟರ್ನ್ ಗುರುತಿಕೆಯ ಮೂಲತತ್ವಗಳನ್ನು ಕಲಿಯಿರಿ
2. **ಸರಳ ನೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ನirmaಣ ಮಾಡಿ** - ನೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ
3. **ಚಿತ್ರ ವರ್ಗೀಕರಣೆ ಪ್ರಯತ್ನಿಸಿ** - ನಿಜವಾದ ಚಿತ್ರಗಳೊಂದಿಗೆ AI ನ್ನು ನೋಡಿ
4. **ಪಠ್ಯ ಭಾವನೆ ವಿಶ್ಲೇಷಿಸಿ** - ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನ್ವೇಷಿಸಿ
## 💡 ಆರಂಭಿಕರಿಗಾಗಿ ಸಲಹೆಗಳು
- **ಕೋಡ್ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಗಮನದಿಂದ ಓದಿ** - ಪ್ರತಿಯೊಂದು ಸಾಲು ಏನು ಮಾಡುತ್ತದೆ ಎಂದು ವಿವರಿಸುತ್ತದೆ
- **ಪ್ರಯೋಗ ಮಾಡಿ!** - ಮೌಲ್ಯಗಳನ್ನು ಬದಲಾಯಿಸಿ ಮತ್ತು ಪರಿಣಾಮವನ್ನು ನೋಡಿ
- **ಎಲ್ಲವನ್ನೂ ತಕ್ಷಣ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಚಿಂತೆ ಮಾಡಬೇಡಿ** - ಕಲಿಕೆ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ
- **ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿ** - [ಚರ್ಚಾ ಫಲಕ](https://github.com/microsoft/AI-For-Beginners/discussions) ಬಳಸಿ
- **ಕೋಡ್ ಟಿಪ್ಪಣಿಗಳನ್ನು ಮನಃಪೂರ್ವಕವಾಗಿ ಓದಿ** - ಪ್ರತಿಯೊಂದು ಸಾಲಿನಲ್ಲಿ ಏನು ಮಾಡುವುದೆಂದು ವಿವರಿಸಲಾಗಿದೆ
- **ಪ್ರಯೋಗ ಮಾಡಿ!** - ಮೌಲ್ಯಗಳನ್ನು ಬದಲಿಸಿ ಮತ್ತು ಪರಿಣಾಮವನ್ನು ನೋಡಿ
- **ಎಲ್ಲವನ್ನೂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಒತ್ತಡಪಡಿಸಿಕೊಳ್ಳಬೇಡಿ** - ಕಲಿಕೆ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ
- **ಪ್ರಶ್ನೆ ಕೇಳಿರಿ** - [ಚರ್ಚಾ ಫಲಕವನ್ನು](https://github.com/microsoft/AI-For-Beginners/discussions) ಬಳಸಿರಿ
## 🔗 ಮುಂದಿನ ಹಂತಗಳು
## 🔗 ಮುಂದಿನ ಹೆಜ್ಜೆಗಳು
ಈ ಉದಾಹರಣೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ಸಂಪೂರ್ಣ ಪಠ್ಯಕ್ರಮವನ್ನು ಅನ್ವೇಷಿಸಿ:
ಈ ಉದಾಹರಣೆಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ಸಂಪೂರ್ಣ ಪಠಕ್ರಮವನ್ನು ಅನ್ವೇಷಿಸಿ:
- [AI ಪರಿಚಯ](../lessons/1-Intro/README.md)
- [್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು](../lessons/3-NeuralNetworks/README.md)
- [ಕಂಪ್ಯೂಟರ್ ದೃಷ್ಟಿ](../lessons/4-ComputerVision/README.md)
- [ೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು](../lessons/3-NeuralNetworks/README.md)
- [ಕಂಪ್ಯೂಟರ್ ವೀ젼್](../lessons/4-ComputerVision/README.md)
- [ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ](../lessons/5-NLP/README.md)
## 🤝 ಕೊಡುಗೆ ನೀಡುವುದು
ಈ ಉದಾಹರಣೆಗಳು ನಿಮಗೆ ಸಹಾಯವಾಗಿದೆಯೇ? ಅವುಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡಿ:
- ಸಮಸ್ಯೆಗಳನ್ನು ವರದಿ ಮಾಡಿ ಅಥವಾ ಸುಧಾರಣೆಗಳನ್ನು ಸೂಚಿಸಿ
- ಆರಂಭಿಕರಿಗಾಗಿ ಇನ್ನಷ್ಟು ಉದಾಹರಣೆಗಳನ್ನು ಸೇರಿಸಿ
- ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಮತ್ತು ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಸುಧಾರಿಸಿ
ಈ ಉದಾಹರಣೆಗಳು ಸಹಾಯಕವೆಂದು ಕಂಡಿದ್ದೀರಾ? ಅವುಗಳನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯಮಾಡಿ:
- ಸಮಸ್ಯೆಗಳ ವರದಿ ಮಾಡಿ ಅಥವಾ ಸುಧಾರಣೆಗಳನ್ನು ಸೂಚಿಸಿ
- ಆರಂಭಿಕರಿಗಾಗಿ ಹೆಚ್ಚು ಉದಾಹರಣೆಗಳನ್ನು ಸೇರಿಸಿ
- ದಾಖಲೆಗಳು ಮತ್ತು ಟಿಪ್ಪಣಿಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸಿ
---
*ಮರೆತುಬೇಡಿ: ಪ್ರತಿಯೊಬ್ಬ ಪರಿಣಿತರೂ ಮೊದಲು ಆರಂಭಿಕರಾಗಿದ್ದರು. ಶುಭ ಕಲಿಕೆ! 🎓*
*ಗಮನಿಸಿ: ಪ್ರತಿಯೊಬ್ಬ ತಜ್ಞನೂ ಆರಂಭಿಕನಾಗಿದ್ದಾನೆ. ಸುಖಕರ ಕಲಿಕೆ! 🎓*
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ಅಸ್ವೀಕರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವಾಗಿ ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.
**ಅಸ್ವೀಕರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,12 +1,12 @@
# ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ಚಾಲನೆ ಮಾಡುವುದು
# ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ನಡೆಸುವುದು
ಈ ಪಠ್ಯಕ್ರಮದಲ್ಲಿ ನೀವು ಚಲಾಯಿಸಬಹುದಾದ ಹಲವಾರು ಉದಾಹರಣೆಗಳು ಮತ್ತು ಪ್ರಯೋಗಾಲಯಗಳು ಇವೆ. ಇದನ್ನು ಮಾಡಲು, ಈ ಪಠ್ಯಕ್ರಮದ ಭಾಗವಾಗಿ ನೀಡಲಾದ Jupyter ನೋಟ್‌ಬುಕ್‌ಗಳಲ್ಲಿ Python ಕೋಡ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ ನಿಮಗೆ ಬೇಕಾಗುತ್ತದೆ. ಕೋಡ್ ಚಾಲನೆಗಾಗಿ ನಿಮ್ಮ ಬಳಿ ಹಲವು ಆಯ್ಕೆಗಳು ಲಭ್ಯವಿವೆ:
ಈ ಪಠ್ಯಕ್ರಮದಲ್ಲಿ ನೀವು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅನೇಕ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಪ್ರಯೋಗಾಲಯಗಳಿವೆ, ಅವನ್ನು ನೀವು ನಡೆಸಲು ಇಚ್ಛಿಸುವಿರಾ. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಈ ಪಠ್ಯಕ್ರಮದ ಭಾಗವಾಗಿ ಒದಗಿಸಲಾದ Jupyter ನೋಟ್ಬುಕ್‌ಗಳಲ್ಲಿ Python ಕೋಡ್ ಅನ್ನು ನಡಿಸುವ ಸಾಮರ್ಥ್ಯ ಹೊಂದಿರಬೇಕು. ಕೋಡ್ ನಡಿಸಲು ನಿಮ್ಮ ಬಳಿ ಹಲವು ಆಯ್ಕೆಗಳು ಇವೆ:
## ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಸ್ಥಳೀಯವಾಗಿ ಚಾಲನೆ
## ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಸ್ಥಳೀಯವಾಗಿ ನಡಿಸುವುದು
ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿಅಸ್ಥಾಪಿಸಲು Python ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗಿದೆ. ಒಂದು ಶಿಫಾರಸು ಆಗಿದ್ದು **[miniconda](https://conda.io/en/latest/miniconda.html)** ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳುವುದು - ಇದು ತೂಕದಲ್ಲಿ ಸಣ್ಣದಾದ ಇನ್‌ಸ್ಟಾಲೇಶನ್ ಆಗಿದ್ದು, ವಿವಿಧ Python **ವರ್ಚುವಲ್ ಪರಿಸರಗಳನ್ನು** ಬೆಂಬಲಿಸುವ `conda` ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.
ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಕೋಡ್ ನಡಿಸಲು, Python ಸ್ಥಾಪನೆ ಅಗತ್ಯವಿದೆ. ಒಂದು ಶಿಫಾರಸು ವೇಂದರೆ **[miniconda](https://conda.io/en/latest/miniconda.html)** ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು — ಇದು ಭಾರಹೀನವಾದ ಸ್ಥಾಪನೆಯಾಗಿದ್ದು, ವಿವಿಧ Python **ವರ್ಚುವಲ್ ಪರಿಸರಗಳಿಗೆ** `conda` ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
miniconda ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ನಂತರ, ಛಾಯೆನಕವನ್ನು ಕ್ಲೋನ್ ಮಾಡಿ ಮತ್ತು ಈ ಕೋರ್ಸ್‌ಗಾಗಿ ಬಳಸುವ ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ರಚಿಸಿ:
miniconda ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಥಳಿಯನ್ನು ಕ್ಲೋನ್ ಮಾಡಿ ಮತ್ತು ಈ ಕೋರ್ಸ್‌ಗೆ ಬಳಸುವಾಗ ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ರಚಿಸಿ:
```bash
git clone http://github.com/microsoft/ai-for-beginners
@ -15,57 +15,57 @@ conda env create --name ai4beg --file .devcontainer/environment.yml
conda activate ai4beg
```
### Python ವಿಸ್ತರಣೆ ಇರುವ Visual Studio Code ಬಳಸಿ
### Visual Studio Code ನೊಂದಿಗೆ Python ವಿಸ್ತರಣೆಯನ್ನು ಬಳಸುವುದು
ಈ ಪಠ್ಯಕ್ರಮವನ್ನು [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste)ನಲ್ಲಿ [Python ವಿಸ್ತರಣೆ](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste) ಜೊತೆ ತೆರೆಯುವುದರಿಂದ ಉತ್ತಮವಾಗಿ ಬಳಸಬಹುದಾಗುತ್ತದೆ.
ಈ ಪಠ್ಯಕ್ರಮ ಉತ್ತಮವಾಗಿ ಉಪಯೋಗಿಸಲು, ನೀವು [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste) ಮತ್ತು [Python ವಿಸ್ತರಣೆ](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste) ಬಳಸುವಾಗ ಹೊರತಾಗಿಯೇ ತೆರೆಯಿರಿ.
> **ಸೂಚನೆ**: ನೀವು ಡೈರೆಕ್ಟರಿಯನ್ನ ಕ್ಲೋನ್ ಮಾಡಿ VS Code ನಲ್ಲಿ ತೆರೆಯುತ್ತಿದ್ದಾಗ, ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿಮಗೆ Python ವಿಸ್ತರಣೆಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬೇಕು ಎಂದು ಸೂಚಿಸುತ್ತದೆ. ಮೇಲ್ಕಂಡಂತೆ miniconda ಕೂಡ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬೇಕು.
> **ಗಮನಿಸಿ**: ನೀವು ಥಳಿಯನ್ನು ಕ್ಲೋನ್ ಮಾಡಿ VS Code ನಲ್ಲಿ ಡೈರೆಕ್ಟರಿಯನ್ನು ತೆರೆಯುತ್ತಿದ್ದರೆ, ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ Python ವಿಸ್ತರಣೆಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಸೂಚಿಸುತ್ತದೆ. ಮೇಲಿನ ವಿವರಣೆ ಪ್ರಕಾರ, ನೀವು miniconda ಅನ್ನು ಕೂಡ ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ.
> **ಸೂಚನೆ**: VS Code ನೀವು ಡಿಪೊವನ್ನು ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮರುತೆರೆಯಲು ಸೂಚಿಸಿದರೆ, ಸ್ಥಳೀಯ Python ಇನ್‌ಸ್ಟಾಲೇಶನ್ ಬಳಸಲು ಅದನ್ನು ನಿರಾಕರಿಸಬೇಕು.
> **ಗಮನಿಸಿ**: VS Code ನಿಮಗೆ ಥಳಿಯನ್ನು ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮರುತೆರೆಯಲು ಸೂಚಿಸಿದರೆ, ನೀವು ಸ್ಥಳೀಯ Python ಸ್ಥಾಪನೆಯನ್ನು ಬಳಸಲು ಇದನ್ನು ನಿರಾಕರಿಸಬೇಕು.
### ಬ್ರೌಸರ್‌ನಲ್ಲಿ Jupyter ಬಳಸಿ
### ಬ್ರೌಸರ್‌ನಲ್ಲಿ Jupyter ಬಳಸ
ನಿಮ್ಮದೇ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಬ್ರೌಸರ್ ಮೂಲಕ Jupyter ಪರಿಸರವನ್ನು కూడా ಬಳಸಬಹುದು. ಕ್ಲಾಸಿಕಲ್ Jupyter ಮತ್ತು JupyterHub ಎರಡೂ ಸ್ವಯಂ-ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ, ಕೋಡ್ ಹೈಲೈಟಿಂಗ್ ಮುಂತಾದ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಸುಲಭ ಅಭಿವೃದ್ಧಿ ಪರಿಸರವನ್ನು ಒದಗಿಸುತ್ತವೆ.
ನೀವು ನಿಮ್ಮದೇ ಕಂಪ್ಯೂಟರ್‌ನ ಬ್ರೌಸರ್‌ನಲ್ಲಿ Jupyter ಪರಿಸರವನ್ನು ಸಹ ಬಳಸಬಹುದು. ಕ್ಲಾಸಿಕಲ್ Jupyter ಮತ್ತು JupyterHub ಎರಡೂ ಸ್ವಯಂಚಾಲಿತ ಪೂರ್ಣಗೊಂಡಿಕೆ, ಕೋಡ್ ಹೈಲೈಟಿಂಗ್ ಮತ್ತು ಇತರ ಸುಲಭತೆಗಳೊಂದಿಗೆ ಅನುಕೂಲಕರ ಅಭಿವೃದ್ಧಿ ಪರಿಸರವನ್ನು ಒದಗಿಸುತ್ತವೆ.
ಸ್ಥಳೀಯವಾಗಿ Jupyter ಪ್ರಾರಂಭಿಸಲು, ಕೋರ್ಸ್ ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗಿ, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಾಲನೆಮಾಡಿ:
Jupyter ಅನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಪ್ರಾರಂಭಿಸಲು, ಕೋರ್ಸ್ ಡೈರೆಕ್ಟರಿಗೆ ಹೋಗಿ ಮತ್ತು ನಡಿಸಿ:
```bash
jupyter notebook
```
ಅಥವಾ
ಅಥವಾ
```bash
jupyterhub
```
ನಂತರ ನೀವು ಯಾವುದೇ `.ipynb` ಫೈಲ್‌ಗಳಿಗೆ ಪರಿಗಣನೆ ಮಾಡಿ, ಅವುಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ಕೆಲಸ ಪ್ರಾರಂಭಿಸಬಹುದು.
ನಂತರ ನೀವು ಯಾವುದೇ `.ipynb` ಫೈಲ್‌ಗಳಿಗೆ ತೆರಳಿ, ಅವುಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ಕಾರ್ಯನಿರ್ವಹಣೆ ಪ್ರಾರಂಭಿಸಬಹುದು.
### ಕಂಟೇನರ್‌ನಲ್ಲಿ ಚಾಲನೆ
### ಕಂಟೇನರ್‌ನಲ್ಲಿ ನಡಿಸುವುದು
Python ಇನ್‌ಸ್ಟಾಲೇಶನ್‌ಗೆ ಒಂದು ಪರ್ಯಾಯವಾಗಿ, ಕೋಡ್ ಅನ್ನು ಕಂಟೇನರ್‌ನಲ್ಲಿ ಚಾಲನೆ ಮಾಡಬಹುದು. ನಮ್ಮ ಡಿಪೊ ಒಂದು ವಿಶೇಷ `.devcontainer` ಫೋಲ್ಡರ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಈ ರೆಪೊಗೆ ಕುರಿತ ಕಂಟೇನರ್‌ನ ನಿರ್ಮಾಣ ನಿರ್ದೇಶನವಿದೆ; VS Code ಕೋಡ್ ಅನ್ನು ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮರುತೆರೆದುಕೊಳ್ಳುವ ಅವಕಾಶವನ್ನು ನೀಡುತ್ತದೆ. ಇದಕ್ಕೆ Docker ಇನ್‌ಸ್ಟಾಲೇಶನ್ ಅಗತ್ಯವಿದ್ದು, ಸ್ವಲ್ಪ ಗართულವಾಗಿರಬಹುದಾದ್ದರಿಂದ ಅನುಭವಿಸಿದ ಬಳಕೆದಾರರಿಗೆ ಇದನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.
Python ಸ್ಥಾಪನೆಯ ಪರ್ಯಾಯವಾಗಿ, ನೀವು ಕೋಡ್ ಅನ್ನು ಒಂದು ಕಂಟೇನರ್‌ನಲ್ಲಿ ನಡಿಸಬಹುದು. ನಮ್ಮ ಥಳಿ ಒಂದು ವಿಶೇಷ `.devcontainer` ಫೋಲ್ಡರ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು ಈ ರೆಪೋಗೆ ಕಂಟೇನರ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸುವುದು ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮತ್ತು VS Code ನಿಂದ ಕೋಡ್ ಅನ್ನು ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮರುತೆರೆೆಯಲು ಅವಕಾಶವನ್ನು ನೀಡುತ್ತದೆ. ಇದಕ್ಕೆ Docker ಸ್ಥಾಪನೆ ಅಗತ್ಯವಿದ್ದು, ಮತ್ತಷ್ಟು ಸಂಕೀರ್ಣವಾಗಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಇದರ ಬಳಕೆ ಅನುಭವ ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಮಾತ್ರ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.
## ಮೇಘದಲ್ಲಿ (Cloud) ಚಾಲನೆ
## ಕ್ಲೌಡ್‌ನಲ್ಲಿ ನಡಿಸುವುದು
Python ಅನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳಲು ಇಚ್ಛೆ ಇಲ್ಲದಿದ್ದರೆ ಮತ್ತು ನೀವು ಕೆಲವು ಮೇಘ ಸಂಪನ್ಮೂಲಗಳ ಪ್ರವೇಶ ಹೊಂದಿದ್ದರೆ, ಕೋಡ್ ಅನ್ನು ಮೇಘದಲ್ಲಿ ಚಾಲನೆ ಮಾಡುವುದು ಉತ್ತಮ ಪರ್ಯಾಯವಾಗಿದೆ. ನೀವು ಇದನ್ನು ಮಾಡುವ ಹಲವು ಮಾರ್ಗಗಳಿವೆ:
ನೀವು Python ಅನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಸ್ಥಾಪಿಸಲು ಇಚ್ಛಿಸುವುದಿಲ್ಲವೆಯಾದರೂ ಮತ್ತು ಕೆಲವು ಕ್ಲೌಡ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರವೇಶ ಹೊಂದಿದ್ದರೆ — ಕ್ಲೌಡ್‌ನಲ್ಲಿ ಕೋಡ್ ನಡಿಸುವುದು ಉತ್ತಮ ಪರ್ಯಾಯವಾಗಿರಬಹುದು. ನೀವು ಇದನ್ನು ಮಾಡಬಹುದಾದ ಕೆಲವು ವಿಧಾನಗಳಿವೆಯೆಂದು:
* **[GitHub Codespaces](https://github.com/features/codespaces)** ಬಳಸಿ, ಇದು GitHub ಮೇಲೆ ನಿಮಗಾಗಿ ಸೃಷ್ಟಿಸಲ್ಪಟ್ಟ ವರ್ಚುವಲ್ ಪರಿಸರ, VS Code ಬ್ರೌಸರ್ ಮುಖಾಂತರ ಪ್ರವೇಶ ಸಾಧ್ಯ. ನೀವು Codespaces ಪ್ರವೇಶ ಹೊಂದಿದ್ದರೆ, ಡಿಪೊದಲ್ಲಿ **Code** ಬಟನ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ, ಕೋಡ್‌ಸ್ಪೇಸ್ ಪ್ರಾರಂಭಿಸಿ, ಬೇಗನೆ ಕಾರ್ಯಾರಂಭಿಸಬಹುದು.
* **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)** ಬಳಸಿ. [Binder](https://mybinder.org) GitHub上的代码免费云计算资源供您测试。主页有个按钮可打开仓库到Binder——这会迅速带您到Binder站点为您构建基础容器并无缝启动Jupyter Web接口。
* **[GitHub Codespaces](https://github.com/features/codespaces)** ಬಳಸಿ, ಇದು GitHub ಮೇಲೆ ನಿಮ್ಮಿಗಾಗಿ ರಚಿಸಲಾಗುವ ವರ್ಚುವಲ್ ಪರಿಸರವಾಗಿದೆ, ಇದು VS Code ಬ್ರೌಸರ್ ಇಂಟರ್ಫೇಸಿನ ಮೂಲಕ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯ. ನೀವು Codespaces ಗೆ ಪ್ರವೇಶ ಹೊಂದಿದ್ದರೆ, ನೀವು ರೆಪೋನಲ್ಲಿ **Code** ಬಟ್ಟನನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ, codespace ಪ್ರಾರಂಭಿಸಿ, ಮತ್ತು ಶೀಘ್ರದಲ್ಲೇ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಆರಂಭಿಸಬಹುದು.
* **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)** ಬಳಸಿ. [Binder](https://mybinder.org) GitHub ನಲ್ಲಿನ ಕೆಲವು ಕೋಡ್ ಪರೀಕ್ಷಿಸಲು ಮಂದಿಗೆ ಅರ್ಪಿಸುವ ಮುಕ್ತ ಕ್ಲೌಡ್ ಗಣನೆಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಮುಂಭಾಗದ ಪುಟದಲ್ಲಿ ರೆಪೊನ್ನು ಬಿಂಡರ್‌ನಲ್ಲಿ ತೆರೆಸಲು ಒಂದು ಬಟ್ಟನಿದೆ — ಇದು ನಿಮಗೆ ವೇಗವಾಗಿ ಬಿಂಡರ್ ಸೈಟ್‌ಕ್ಕೆ ತಂದು ಕೊಡುವುದು, ಅದು ಒಂದು ಕಂಟೇನರ್ ನಿರ್ಮಿಸಿ ಸ್ವಯಂಚಾಲಿತ Jupyter ವೆಬ್ ಇಂಟರ್ಫೇಸನ್ನು ಪ್ರಾರಂಭಿಸುವುದರಿಂದ.
> **ಸೂಚನೆ**: ಅವ್ಯವಸ್ಥೆ ತಡೆಯಲು, Binder ಕೆಲವು ವೆಬ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಬ್ಲಾಕ್ ಮಾಡುತ್ತದೆ. ಇದರಿಂದ ಸಾರ್ವಜನಿಕ ಇಂಟರ್ನೆಟ್‌ನಿಂದ ಮಾದರಿಗಳು ಅಥವಾ ಡೇಟಾಸೆಟ್‌ಗಳನ್ನು ಪಡೆಯುವ ಕೆಲ ಕೋಡ್ ಕಾರ್ಯನಿರ್ವಹಿಸದು. ನೀವು ಕೆಲವು ಪರ್ಯಾಯಗಳನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕಾಗಬಹುದು. ಜೊತೆಗೆ, Binder ನೀಡುವ ಗಣನಾ ಸಂಪನ್ಮೂಲಗಳು ಸರಳವಾಗಿವೆ, ಆದ್ದರಿಂದ ತರಬೇತಿಗು ಪ್ರಕ್ರಿಯೆ ನಿಧಾನವಾಗಬಹುದು, ವಿಶೇಷವಾಗಿ ನಂತರದ ಸಂಕೀರ್ಣ ಪಾಠಗಳಲ್ಲಿ.
> **ಗಮನಿಸಿ**: ದುರupyೋಗವನ್ನು ತಡೆಹಿಡಿಯಲು, ಬಿಂಡರ್ ಕೆಲವು ವೆಬ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ತಡೆಹಿಡಿದಿದೆ. ಇದು ಕೆಲವು ಕೋಡ್‌ಗಳು ಸಾರ್ವಜನಿಕ ಅಂತರ್ಜಾಲದಿಂದ ಮಾದರಿಗಳು ಮತ್ತು/ಅಥವಾ ಡೇಟಾಸೆಟ್‌ಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು ಕಾರ್ಯನಿರ್ವಹಿಸಿ ತಡೆಯಬಹುದು. ನೀವು ಕೆಲವು ಪರಿಹಾರಗಳನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕಾಗಬಹುದು. ಜೊತೆಗೆ, ಬಿಂಡರ್ ಒದಗಿಸುವ ಗಣನೆಯ ಸಂಪನ್ಮೂಲಗಳು ಆಧುನಿಕ ಅಲ್ಲ, ಆದ್ದರಿಂದ ತರಬೇತಿ ನಿಧಾನವಾಗಿರುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ನಂತರದ ಸಂಕೀರ್ಣ ಪಾಠಗಳಲ್ಲಿ.
## GPU ಜೊತೆ ಮೇಘದಲ್ಲಿ ಚಾಲನೆ
## GPU ಹೊಂದಿರುವ ಕ್ಲೌಡ್‌ನಲ್ಲಿ ನಡಿಸುವುದು
ಈ ಪಠ್ಯಕ್ರಮದ ನಂತರದ ಕೆಲವು ಪಾಠಗಳು GPU ಬೆಂಬಲದಿಂದ ಬಹುಮಾನ ಪಡೆಯುತ್ತವೆ. ಮಾದರಿ ತರಬೇತಿ, ಉದಾಹರಣೆಗೆ, ಇಲ್ಲದಿದ್ದರೆ ತುಂಬಾ ನಿಧಾನಗತಿಯಾಗಿದೆ. ನೀವು ಪಾಲಿಸಬಹುದಾದ ಕೆಲವು ಆಯ್ಕೆಗಳು ಇವೆ, ವಿಶೇಷವಾಗಿ ನೀವು [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) ಮೂಲಕ ಅಥವಾ ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಮೂಲಕ ಮೇಘ ಪ್ರವೇಶ ಹೊಂದಿದ್ದರೆ:
ಈ ಪಠ್ಯಕ್ರಮದ ಕೆಲವು ನಂತರದ ಪಾಠಗಳು GPU ಬೆಂಬಲದಿಂದ ಬಹುಮಾನ ಪಡೆಯುತ್ತವೆ. ಮಾದರಿ ತರಬೆತ್ಯನ್ನು, ಉದಾಹರಣೆಗೆ, ಬೇರೆ ವಿಧಾನಗಳಿಂದ ತೀವ್ರ ನಿಧಾನವಾಗಿರಬಹುದು. ನೀವು ಕೆಲ ಆಯ್ಕೆಗಳನ್ನು ಅನುಸರಿಸಬಹುದು, ವಿಶೇಷವಾಗಿ ನೀವು [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) ಮೂಲಕ ಅಥವಾ ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಮೂಲಕ ಕ್ಲೌಡ್ ಪ್ರವೇಶ ಹೊಂದಿದ್ದಲ್ಲಿ:
* [ಡೇಟಾ ಸಯನ್ಸ್ ವರ್ಚುವಲ್แมชชีน್ಸ್](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) ರಚಿಸಿ ಮತ್ತು Jupyter ಮೂಲಕ ಅದಕ್ಕೆ ಸಂಪರ್ಕ ಮಾಡಿಕೊಳ್ಳಿ. ನೀವು ನಂತರ ರೆಪೊವನ್ನು ಯಂತದ ಮೇಲೆ ನೇರವಾಗಿ ಕ್ಲೋನ್ ಮಾಡಿ, ಕಲಿಯಲು ಪ್ರಾರಂಭಿಸಬಹುದು. NC ಸಿರಿಯಸ್ VM ಗಳು GPU ಬೆಂಬಲ ಹೊಂದಿವೆ.
* [ಡೇಟಾ ಸೈನ್ಸ್ ವರ್ಚುವಲ್ ಮಷೀನ್](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) ರಚಿಸಿ ಮತ್ತು Jupyter ಮೂಲಕ ಸಂಪರ್ಕಿಸಿ. ನಂತರ ನೀವು ಥಳಿಯನ್ನು ನೇರವಾಗಿ ಮಷೀನ್‌ಗೆ ಕ್ಲೋನ್ ಮಾಡಿ, ಕಲಿಕೆ ಪ್ರಾರಂಭಿಸಬಹುದು. NC-ಸಿರಿಯಸ್ VM ಗಳು GPU ಬೆಂಬಲ ಹೊಂದಿವೆ.
> **ಸೂಚನೆ**: ಕೆಲವು ಚಂದಾದಾರಿಕೆಗಳು, Azure for Students ಅಹಿತಕರವಾಗಿದೆ, GPU ಬೆಂಬಲವನ್ನು ತಕ್ಷಣ ಒದಗಿಸುವುದಿಲ್ಲ. ನೀವು ತಾಂತ್ರಿಕ ಸಹಾಯ ವಿನಂತಿಯನ್ನು ಸಲ್ಲಿಸಿ ಹೆಚ್ಚುವರಿ GPU ಕೋರ್‌ಗಳನ್ನು ಕೇಳಬೇಕಾಗಬಹುದು.
> **ಗಮನಿಸಿ**: ಕೆಲವು ಚಂದಾದಾರಿಕೆಗಳು, Azure for Students ಸೇರಿದಂತೆ, ಡಿಫಾಲ್ಟ್ ಸ್ಟೇಟಸ್‌ನಲ್ಲಿ GPU ಬೆಂಬಲವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ. ನೀವು ತಾಂತ್ರಿಕ ಬೆಂಬಲ ವಿನಂತಿಯೊಂದಿಗೆ ಹೆಚ್ಚುವರಿ GPU ಕೋರುಗಳನ್ನು ವಿನಂತಿಸಬಹುದು.
* [Azure Machine Learning ಕಾರ್ಯಕ್ಷೇತ್ರ](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) ರಚಿಸಿ, ನಂತರ ಅಲ್ಲಿ ನೋಟ್‌ಬುಕ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳಿ. [ಈ ವೀಡಿಯೋ](https://azure-for-academics.github.io/quickstart/azureml-papers/)ವು ರೆಪೊವನ್ನ Azure ML ನೋಟ್‌ಬುಕ್‌ಗೆ ಹೇಗೆ ಕ್ಲೋನ್ ಮಾಡಿ ಬಳಸುವುದನ್ನು ತೋರಿಸುತ್ತದೆ.
* [Azure Machine Learning Workspace](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) ರಚಿಸಿ ಮತ್ತು ನಂತರ ಅಲ್ಲಿ ನೋಟ್‌ಬುಕ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಿ. [ಈ ವಿಡಿಯೋ](https://azure-for-academics.github.io/quickstart/azureml-papers/) ಒಂದು ರೆಪೋವನ್ನು Azure ML ನೋಟ್‌ಬುಕ್‌ಗೆ ಕ್ಲೋನ್ ಮಾಡುವುದು ಮತ್ತು ಅದನ್ನು ಬಳಸುವುದನ್ನು ತೋರಿಸುತ್ತದೆ.
ನೀವು Google Colab ಕೂಡ ಬಳಸಬಹುದು, ಇದು ಕೆಲವು ಉಚಿತ GPU ಬೆಂಬಲ ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು Jupyter ನೋಟ್‌ಬುಕ್‌ಗಳನ್ನು ಅಲ್ಲಿ ಅಪ್ಲೋಡ್ ಮಾಡಿ ಒಂದೊಂದಾಗಿ ನಿರ್ವಹಿಸಬಹುದು.
ನೀವು Google Colab ಅನ್ನು ಸಹ ಬಳಸಬಹುದು, ಇದು ಕೆಲವು ಮುಕ್ತ GPU ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಅಲ್ಲಿಗೆ Jupyter ನೋಟ್ಬುಕ್‌ಗಳನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ ಒಂದೊಂದಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ತಗ್ಗಿಸುವುದು**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಗೆ ಪ್ರಯತ್ನಿಸಿದರೂ ಸಹ ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪಾದ ವಿವರಗಳು ಇದ್ದಿರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿರಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿನ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮನುಷ್ಯ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಿರಸ್ಕಾರಗಳು ಅಥವಾ ತಪ್ಪಾಗುವ ಅರ್ಥಗಳ ಬಗ್ಗೆ ನಾವು ಜವಾಬ್ದಾರಿಯಲ್ಲ.
**ಅಸ್ವೀಕಾರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

File diff suppressed because one or more lines are too long

View File

@ -1,51 +1,51 @@
# ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ
![NLP ಕಾರ್ಯಗಳ ಸಾರಾಂಶವನ್ನು ಡೂಡಲ್‌ನಲ್ಲಿ](../../../../translated_images/kn/ai-nlp.b22dcb8ca4707cea.webp)
![NLP ಕಾರ್ಯಗಳ ಸಾರಾಂಶವೊಂದರ ಡೂದಲ](../../../../translated_images/kn/ai-nlp.b22dcb8ca4707cea.webp)
ಈ ವಿಭಾಗದಲ್ಲಿ, ನಾವು ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು **ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ (NLP)** ಸಂಬಂಧಿತ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವುದರ ಮೇಲೆ ಗಮನಹರಿಸುವೆವು. ಕಂಪ್ಯೂಟರ್‌ಗಳು ಪರಿಹರಿಸಬೇಕಾದ ಅನೇಕ NLP ಸಮಸ್ಯೆಗಳಿವೆ:
ಈ ವಿಭಾಗದಲ್ಲಿ, ನಾವು ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು **ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ (NLP)** ಸಂಬಂಧಿತ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವುದಕ್ಕೆ ಗಮನ ಹರಿಸುವೆವು. ಗಣಕ ಯಂತ್ರಗಳು ಅನೇಕ NLP ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಾಗಬೇಕು:
* **ಪಠ್ಯ ವರ್ಗೀಕರಣ** ಎಂದರೆ ಪಠ್ಯ ಕ್ರಮಗಳ ಸಂಬಂಧಿಸಿದ ಸಾಮಾನ್ಯ ವರ್ಗೀಕರಣ ಸಮಸ್ಯೆ. ಉದಾಹರಣೆಗೆ, ಇಮೇಲ್ ಸಂದೇಶಗಳನ್ನು ಸ್ಪ್ಯಾಮ್ ಅಥವಾ ಸ್ಪ್ಯಾಮ್ ಅಲ್ಲ ಎಂದು ವರ್ಗೀಕರಿಸುವುದು, ಅಥವಾ ಲೇಖನಗಳನ್ನು ಕ್ರೀಡೆ, ವ್ಯವಹಾರ, ರಾಜಕಾರಣ ಇತ್ಯಾದಿಯಾಗಿ ವರ್ಗೀಕರಿಸುವುದು. ಚಾಟ್ ಬಾಟ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ, ಬಳಕೆದಾರನು ಏನು ಹೇಳಲು ಬಯಸಿದನು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ — ಇದನ್ನು **ಉದ್ದೇಶ ವರ್ಗೀಕರಣ** ಎಂದು ಕರೆಯುತ್ತಾರೆ. ಉದ್ದೇಶ ವರ್ಗೀಕರಣದಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಅನೇಕ ವರ್ಗಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ.
* **ಭಾವನಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆ** ಎಂದರೆ ಒಂದು ವಾಕ್ಯದ ಅರ್ಥವು ಎಷ್ಟು ಧನಾತ್ಮಕ ಅಥವಾ ಋಣಾತ್ಮಕ ಎಂಬುದನ್ನು ಸೂಚಿಸುವ ಸಂಖ್ಯೆಯನ್ನು (ಭಾವನೆಯನ್ನು) ನೀಡುವ ಸಾಮಾನ್ಯ ರಿಗ್ರೆಷನ್ ಸಮಸ್ಯೆ. ಭಾವನಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆಯ ಹೆಚ್ಚು ಪ್ರಗತಿಶೀಲ ಆವೃತ್ತಿ **ಅಂಶಾಧಾರಿತ ಭಾವನಾತ್ಮಕ ವಿಶ್ಲೇಷಣೆ** (ABSA), ಇದರಲ್ಲಿ ಭಾವನೆ ಸಂಪೂರ್ಣ ವಾಕ್ಯಕ್ಕೆ ಅಲ್ಲದೆ ಅದರ ವಿಭಿನ್ನ ಭಾಗಗಳಿಗೆ (ಅಂಶಗಳಿಗೆ) ನೀಡಲಾಗುತ್ತದೆ, ಉದಾ. *ಈ ರೆಸ್ಟೋರೆಂಟ್‌ನಲ್ಲಿ, ನನಗೆ ಆಹಾರ ಇಷ್ಟವಾಯಿತು, ಆದರೆ ವಾತಾವರಣ ಭಯಂಕರವಾಗಿತ್ತು*.
* **ನಾಮಿತ ಘಟಕ ಗುರುತಿಸುವಿಕೆ** (NER) ಎಂದರೆ ಪಠ್ಯದಿಂದ ನಿರ್ದಿಷ್ಟ ಘಟಕಗಳನ್ನು ಹೊರತೆಗೆಯುವ ಸಮಸ್ಯೆ. ಉದಾಹರಣೆಗೆ, *ನಾನು ನಾಳೆ ಪ್ಯಾರಿಸ್‌ಗೆ ಹಾರಬೇಕಾಗಿದೆ* ಎಂಬ ವಾಕ್ಯದಲ್ಲಿ *ನಾಳೆ* ಎಂಬ ಪದವು ದಿನಾಂಕನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು *ಪ್ಯಾರಿಸ್* ಸ್ಥಳವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.
* **ಕೀವರ್ಡ್ ಹೊರತೆಗೆಯುವಿಕೆ** NER ಗೆ ಸಮಾನವಾಗಿದೆ, ಆದರೆ ನಾವು ನಿರ್ದಿಷ್ಟ ಘಟಕ ಪ್ರಕಾರಗಳಿಗೆ ಪೂರ್ವ-ಪ್ರಶಿಕ್ಷಣವಿಲ್ಲದೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವಾಕ್ಯದ ಅರ್ಥಕ್ಕೆ ಮುಖ್ಯವಾದ ಪದಗಳನ್ನು ಹೊರತೆಗೆಯಬೇಕಾಗುತ್ತದೆ.
* **ಪಠ್ಯ ಗುಂಪುಮಾಡುವಿಕೆ** ಸಮಾನವಾದ ವಾಕ್ಯಗಳನ್ನು ಗುಂಪುಮಾಡಲು ಉಪಯುಕ್ತವಾಗಬಹುದು, ಉದಾಹರಣೆಗೆ ತಾಂತ್ರಿಕ ಬೆಂಬಲ ಸಂಭಾಷಣೆಗಳಲ್ಲಿ ಸಮಾನ ವಿನಂತಿಗಳನ್ನು ಗುಂಪುಮಾಡುವುದು.
* **ಪ್ರಶ್ನೆ ಉತ್ತರಿಸುವಿಕೆ** ಎಂದರೆ ಮಾದರಿ ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರ ನೀಡುವ ಸಾಮರ್ಥ್ಯ. ಮಾದರಿ ಪಠ್ಯ ಭಾಗ ಮತ್ತು ಪ್ರಶ್ನೆಯನ್ನು ಇನ್ಪುಟ್ ಆಗಿ ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಪ್ರಶ್ನೆಗೆ ಉತ್ತರ ಇರುವ ಪಠ್ಯದ ಸ್ಥಳವನ್ನು ನೀಡಬೇಕಾಗುತ್ತದೆ (ಅಥವಾ ಕೆಲವೊಮ್ಮೆ ಉತ್ತರ ಪಠ್ಯವನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ).
* **ಪಠ್ಯ ರಚನೆ** ಎಂದರೆ ಮಾದರಿ ಹೊಸ ಪಠ್ಯವನ್ನು ರಚಿಸುವ ಸಾಮರ್ಥ್ಯ. ಇದನ್ನು ಕೆಲವು *ಪಠ್ಯ ಪ್ರಾಂಪ್ಟ್* ಆಧರಿಸಿ ಮುಂದಿನ ಅಕ್ಷರ/ಪದವನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡುವ ವರ್ಗೀಕರಣ ಕಾರ್ಯವೆಂದು ಪರಿಗಣಿಸಬಹುದು. GPT-3 ಮುಂತಾದ ಪ್ರಗತಿಶೀಲ ಪಠ್ಯ ರಚನೆ ಮಾದರಿಗಳು [prompt programming](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) ಅಥವಾ [prompt engineering](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29) ಎಂಬ ತಂತ್ರಗಳನ್ನು ಬಳಸಿ ಇತರ NLP ಕಾರ್ಯಗಳನ್ನು ಸಹ ಪರಿಹರಿಸಬಹುದು.
* **ಪಠ್ಯ ಸಾರಾಂಶ** ಎಂದರೆ ಕಂಪ್ಯೂಟರ್‌ನ್ನು ದೀರ್ಘ ಪಠ್ಯವನ್ನು "ಓದಿ" ಅದನ್ನು ಕೆಲವು ವಾಕ್ಯಗಳಲ್ಲಿ ಸಾರಾಂಶಗೊಳಿಸುವ ತಂತ್ರ.
* **ಯಂತ್ರ ಅನುವಾದ** ಒಂದು ಭಾಷೆಯ ಪಠ್ಯ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಮತ್ತು ಮತ್ತೊಂದು ಭಾಷೆಯಲ್ಲಿ ಪಠ್ಯ ರಚನೆಯ ಸಂಯೋಜನೆಯಾಗಿ ಪರಿಗಣಿಸಬಹುದು.
* **ಟೆಕ್ಸ್ಟ್ ವರ್ಗೀಕರಣ** ಎನ್ನುವುದು ಪಠ್ಯ ಕ್ರಮಗಳ ಸಾದಾರಣ ವರ್ಗೀಕರಣ ಸಮಸ್ಯೆಯಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಇಮೇಲ್ ಸಂದೇಶಗಳನ್ನು ಸ್ಪ್ಯಾಮ್ ಅಥವಾ ಸ್ಪ್ಯಾಮ್ ಅಲ್ಲದಂತೆ ವರ್ಗೀಕರಿಸುವುದು, ಅಥವಾ ಲೇಖನಗಳನ್ನು ಕ್ರೀಡೆ, ವ್ಯಾಪಾರ, ರಾಜಕಾರಣ ಮುಂತಾದಂತೆ ವರ್ಗೀಕರಿಸುವುದು. ಚಾಟ್ ಬಾಟ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ, ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಕೆದಾರನ ಉದ್ದೇಶವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ -- ಈ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು **ಉದ್ದೇಶ ವರ್ಗೀಕರಣ** ಜೊತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತೇವೆ. ಬಹುಶಃ, ಉದ್ದೇಶ ವರ್ಗೀಕರಣದಲ್ಲಿ ಅನೇಕ ವರ್ಗಗಳನ್ನು ಕೈಗಾರಿಕೆ ಮಾಡಬೇಕಾಗಬಹುದು.
* **ಭಾವ ವಿಶ್ಲೇಷಣೆ** ಎನ್ನುವುದು ಸಾದಾರಣ ರಿಗ್ರೇಶನ್ ಸಮಸ್ಯೆಯಾಗಿದ್ದು, ವಾಕ್ಯದ ಅರ್ಥವು ಧನಾತ್ಮಕ ಅಥವಾ ಋಣಾತ್ಮಕವೆಂಬುದನ್ನು ತೋರುವ ಸಂಖ್ಯೆಯನ್ನು (ಭಾವನೆಯನ್ನು) ಅಂಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಭಾವ ವಿಶ್ಲೇಷಣೆಯ ಮುಂದುವರೆದ ರೂಪವು **ಪರಿಕಲ್ಪನೆ ಆಧಾರಿತ ಭಾವ ವಿಶ್ಲೇಷಣೆ** (ABSA), ಇಲ್ಲಿ ನಾವು ಭಾವವನ್ನು ಸಂಪೂರ್ಣ ವಾಕ್ಯದಿಗಿಂತ ವಿಭಿನ್ನ ಭಾಗಗಳಿಗೆ (ಪರಿಕಲ್ಪನೆಗಳಿಗೆ) ನೀಡುತ್ತೇವೆ, ಉದಾ. *ಈ ರೆಸ್ಟೋರೆಂಟ್‌ನಲ್ಲಿ, ನನಗೆ ಆಹಾರ ಇಷ್ಟವಾಯಿತು, ಆದರೆ ವಾತಾವರಣ ತುಂಬಾ ಕೆಟ್ಟದ್ದಾಯಿತು*.
* **ನಾಮಿತ ಘಟಕ ಗುರುತಿಸುವಿಕೆ** (NER) ಎನ್ನುವುದು ಪಠ್ಯದಿಂದ ನಿರ್ದಿಷ್ಟ ಘಟಕಗಳನ್ನು ತೆಗೆದುಕೊಂಡು ಬರುವುದರ ಸಮಸ್ಯೆಗೆ ಸಂಬಂಧಿಸಿದೆ. ಉದಾಹರಣೆಗೆ, *ನಾನು ನಾಳೆ ಪಂಚಿಗೆ ಹಾರಬೇಕಿದೆ* ಎಂಬ ವಾಕ್ಯದಲ್ಲಿ *ನಾಳೆ* ಎಂಬ ಪದವು ದಿನಾಂಕ (DATE) ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು *ಪ್ಯಾರಿಸ್* ಸ್ಥಳ (LOCATION) ಎಂದು ಹುಡುಕಬೇಕಾಗುತ್ತದೆ.
* **ಕೀವರ್ಡ್ ಹಿನ್ನಡೆ** NERಗೆ ಸಮಾನವಾಗಿದೆ, ಆದರೆ ನಾವು ವಾಕ್ಯದ ಅರ್ಥಕ್ಕೆ ಮುಖ್ಯವಾದ ಶಬ್ದಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ, ನಿರ್ದಿಷ್ಟ ಘಟಕ ವಿಧಗಳಿಗೆ ಪೂರ್ವಪ್ರಶಿಕ್ಷಣವಿಲ್ಲದೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.
* **ಪಠ್ಯ ಕ್ಲಸ್ಟರಿಂಗ್** ಎಂದು ನಾವು ಸಮಾನವಾದ ವಾಕ್ಯಗಳನ್ನು ಗುಂಪುಮಾಡಲು ಉಪಯೋಗಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ ತಾಂತ್ರಿಕ ಬೆಂಬಲ ಸಂಭಾಷಣೆಗಳಲ್ಲಿ ಸಮಾನ ವಿನಂತಿಗಳನ್ನು ಗುಂಪುಮಾಡುವುದು.
* **ಪ್ರಶ್ನೆ ಉತ್ತರಿಸುವಿಕೆ** ಅಂದರೆ ಮಾದರಿಯು ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುವ ಸಾಮರ್ಥ್ಯ. ಮಾದರಿ ಒಂದು ಪಠ್ಯ ಭಾಗ ಮತ್ತು ಪ್ರಶ್ನೆಯನ್ನು ಇನ್ಪುಟ್ ಆಗಿ ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಆ ಪ್ರಶ್ನೆಗೆ ઉત્તર ಇರುವ ಪಠ್ಯದಲ್ಲಿ ಸ್ಥಳ ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ (ಅಥವಾ ಕೆಲವೊಂದು ಸಂದರ್ಭಗಳಲ್ಲಿ ಉತ್ತರದ ಪಠ್ಯವನ್ನು ಸೃಷ್ಟಿಸಬೇಕು).
* **ಪಠ್ಯ ಸೃಷ್ಟಿ** ಎನ್ನುವುದು ಮಾದರಿಯ ಹೊಸ ಪಠ್ಯಗಳನ್ನು ಸೃಷ್ಟಿಸುವ ಸಾಮರ್ಥ್ಯವಾಗಿದೆ. ಇದನ್ನು ಕೆಲವೊಂದು *ಪಠ್ಯ ಸೂಚನೆ* ಆಧರಿಸಿ ಮುಂದಿನ ಅಕ್ಷರ/ಪದವನ್ನು ಊಹಿಸುವ ವರ್ಗೀಕರಣ ಕಾರ್ಯವೆಂದು ಪರಿಗಣಿಸಬಹುದು. GPT-3ಂತಹ ಮುಂದುವರೆದ ಪಠ್ಯ ಸೃಷ್ಟಿ ಮಾದರಿಗಳು [ಪ್ರಾಂಪ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) ಅಥವಾ [ಪ್ರಾಂಪ್ಟ್ ಇಂಜಿನಿಯರಿಂಗ್](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29) ಎನ್ನುವ ತಂತ್ರಗಳನ್ನು ಬಳಸಿ ಇತರೆ NLP ಕಾರ್ಯಗಳನ್ನು ವಿಶ್ಲೇಷಣೆ ಸೇರಿದಂತೆ ಬಗೆಹರಿಸಬಲ್ಲವು.
* **ಪಠ್ಯ ಸಂಕ್ಷೇಪಣೆ** ಎಂದರೆ ಗಣಕ ಯಂತ್ರವು ದೀರ್ಘ ಪಠ್ಯವನ್ನು "ಓದಿ" ಕೆಲವು ವಾಕ್ಯಗಳಲ್ಲಿ ಸಂಕ್ಷೇಪಿಸುವ ತಂತ್ರ.
* **ಯಂತ್ರ ಭಾಷಾಂತರ** ಅನ್ನು ಒಂದು ಭಾಷೆಯಲ್ಲಿ ಪಠ್ಯ ಬುದ್ಧಿವಂತಿಕೆಯನ್ನು ಮತ್ತು ಇನ್ನೊಂದು ಭಾಷೆಯಲ್ಲಿ ಪಠ್ಯ ಸೃಷ್ಟಿಮಾಡುವ ಸಂಯೋಜನೆಯಾಗಿ ನೋಡಬಹುದು.
ಆರಂಭದಲ್ಲಿ, ಹೆಚ್ಚಿನ NLP ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಕರಣಗಳಂತಹ ಪರಂಪರাগত ವಿಧಾನಗಳಿಂದ ಪರಿಹರಿಸಲಾಗುತ್ತಿತ್ತು. ಉದಾಹರಣೆಗೆ, ಯಂತ್ರ ಅನುವಾದದಲ್ಲಿ ಪ್ರಾರಂಭಿಕ ವಾಕ್ಯವನ್ನು ವ್ಯಾಕರಣ ವೃಕ್ಷಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಪಾರ್ಸರ್‌ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು, ನಂತರ ವಾಕ್ಯದ ಅರ್ಥವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಉನ್ನತ ಮಟ್ಟದ ಅರ್ಥಾತ್ಮಕ ರಚನೆಗಳನ್ನು ಹೊರತೆಗೆಯಲಾಗುತ್ತಿತ್ತು, ಮತ್ತು ಈ ಅರ್ಥ ಮತ್ತು ಗುರಿ ಭಾಷೆಯ ವ್ಯಾಕರಣ ಆಧರಿಸಿ ಫಲಿತಾಂಶವನ್ನು ರಚಿಸಲಾಗುತ್ತಿತ್ತು. ಇಂದಿನ ದಿನಗಳಲ್ಲಿ, ಅನೇಕ NLP ಕಾರ್ಯಗಳನ್ನು ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ಮೂಲಕ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಹರಿಸಲಾಗುತ್ತಿದೆ.
ಪ್ರಾರಂಭದಲ್ಲಿ ಬಹುತೇಕ NLP ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಕರಣಗಳಂತಹ ಪರಂಪರागत ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪರಿಹರಿಸಲಾಗುತಿತ್ತು. ಉದಾಹರಣೆಗೆ, ಯಂತ್ರ ಭಾಷಾಂತರದಲ್ಲಿ ಆವೃತ್ತಿ ವಾಕ್ಯವನ್ನು ವಾಕ್ಯವಿಜ್ಞಾನ ಮರವಾಗಿಕೊಡಲು ಪಾರ್ಸರ್‌ಗಳು ಉಪಯೋಗಿಸಲಾಯಿತು, ನಂತರ ವಾಕ್ಯದ ಅರ್ಥವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಉನ್ನತತಮ ಸ್ಥಾನದ ಅರ್ಥಿಕ ರಚನೆಗಳನ್ನು ತೆಗೆಯಲಾಯಿತು ಮತ್ತು ಗುರಿ ಭಾಷೆಯ ವ್ಯಾಕರಣ ಆಧರಿಸಿ ಫಲಿತಾಂಶವನ್ನು ಸೃಷ್ಟಿಸಲಾಯಿತು. ಇತ್ತೀಚೆಗೆ, ಅನೇಕ NLP ಕಾರ್ಯಗಳನ್ನು ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ಬಳಕೆಯೊಂದಿಗೆ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಪರಿಹರಿಸಲಾಗುತ್ತಿದೆ.
> ಅನೇಕ ಶ್ರೇಷ್ಟ NLP ವಿಧಾನಗಳು [Natural Language Processing Toolkit (NLTK)](https://www.nltk.org) ಪೈಥಾನ್ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ಅನುಷ್ಠಾನಗೊಳ್ಳುತ್ತವೆ. ವಿವಿಧ NLP ಕಾರ್ಯಗಳನ್ನು NLTK ಬಳಸಿ ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು ಎಂಬುದನ್ನು ವಿವರಿಸುವ [NLTK ಪುಸ್ತಕ](https://www.nltk.org/book/) ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.
> ಬಹುತೇಕ ಶ್ರೇಷ್ಟ ಪರಂಪರাগত NLP ವಿಧಾನಗಳು [ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ ಉಪಕರಣ ಕಿಟ್ (NLTK)](https://www.nltk.org) ಮೇಲಾಗಿರುವ ಪೈಥಾನ್ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿವೆ. ವಿಭಿನ್ನ NLP ಕಾರ್ಯಗಳನ್ನು NLTK ಬಳಸಿಕೊಂಡು ಹೇಗೆ ಬಗೆಹರಿಸಬಹುದು ಎಂಬುದನ್ನು ಒಳಗೊಂಡ ಅತ್ಯುತ್ತಮ [NLTK ಪುಸ್ತಕ](https://www.nltk.org/book/) ಆನ್‌ಲાઈન ಲಭ್ಯವಿದೆ.
ನಮ್ಮ ಕೋರ್ಸ್‌ನಲ್ಲಿ, ನಾವು ಮುಖ್ಯವಾಗಿ NLP ಗಾಗಿ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸುವುದರ ಮೇಲೆ ಗಮನಹರಿಸುವೆವು ಮತ್ತು ಅಗತ್ಯವಿದ್ದಲ್ಲಿ NLTK ಅನ್ನು ಬಳಸುವೆವು.
ನಮ್ಮ ಕೋರ್ಸ್‌ನಲ್ಲಿ, ನಾವು ಹೆಚ್ಚಿನ ಅವಧಿಗೆ NLPಗಾಗಿ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ ಮತ್ತು ಅಗತ್ಯಪಡಿಸಿದರೆ NLTK ಕೂಡ ಬಳಸುತ್ತೇವೆ.
ನಾವು ಈಗಾಗಲೇ ಟೇಬ್ಯುಲರ್ ಡೇಟಾ ಮತ್ತು ಚಿತ್ರಗಳೊಂದಿಗೆ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸುವುದನ್ನು ಕಲಿತಿದ್ದೇವೆ. ಆ ಡೇಟಾ ಪ್ರಕಾರಗಳ ಮತ್ತು ಪಠ್ಯದ ನಡುವಿನ ಮುಖ್ಯ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಪಠ್ಯವು ಬದಲಾಗುವ ಉದ್ದದ ಕ್ರಮವಾಗಿದ್ದು, ಚಿತ್ರಗಳ ಇನ್‌ಪುಟ್ ಗಾತ್ರ ಮುಂಚಿತವಾಗಿ ತಿಳಿದಿರುತ್ತದೆ. ಸಂವೇದಿ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಇನ್‌ಪುಟ್ ಡೇಟಾದಿಂದ ಮಾದರಿಗಳನ್ನು ಹೊರತೆಗೆಯಬಹುದು, ಆದರೆ ಪಠ್ಯದ ಮಾದರಿಗಳು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿವೆ. ಉದಾ., ನಕಾರಾತ್ಮಕತೆ ವಿಷಯದಿಂದ ದೂರವಿರುವ ಪದಗಳ ನಡುವೆ ಇರಬಹುದು (ಉದಾ. *ನನಗೆ ಕಿತ್ತಳೆಗಳು ಇಷ್ಟವಿಲ್ಲ*, ಮತ್ತು *ನನಗೆ ಆ ದೊಡ್ಡ ಬಣ್ಣಬರಹದ ರುಚಿಕರ ಕಿತ್ತಳೆಗಳು ಇಷ್ಟವಿಲ್ಲ*), ಮತ್ತು ಅದನ್ನು ಒಂದೇ ಮಾದರಿಯಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. ಆದ್ದರಿಂದ, ಭಾಷೆಯನ್ನು ನಿರ್ವಹಿಸಲು ನಾವು ಹೊಸ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರಗಳನ್ನು ಪರಿಚಯಿಸಬೇಕಾಗುತ್ತದೆ, ಉದಾ. *ಪುನರಾವರ್ತಿತ ನೆಟ್‌ವರ್ಕ್‌ಗಳು* ಮತ್ತು *ಟ್ರಾನ್ಸ್‌ಫಾರ್ಮರ್‌ಗಳು*.
ನಾವು ಈಗಾಗಲೇ ಟ್ಯಾಬ್ಯುಲರ್ ಡೇಟಾ ಮತ್ತು ಚಿತ್ರಗಳನ್ನು ಹೊಂದಿರುವಲ್ಲಿ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಬಳಸಿದ ಬಗ್ಗೆ ಕಲಿತಿದ್ದೇವೆ. ಆ ಡೇಟಾ ಪ್ರಕಾರಗಳ ಮತ್ತು ಪಠ್ಯದ ಮುಖ್ಯ ಅಂತರ್ಬೇದವು ಪಠ್ಯದ ಕ್ರಮವು ಬದಲಾಗುವ ಉದ್ದದ ಒಂದು ಶ್ರೇಣಿ ಆಗಿದ್ದರೆ, ಚಿತ್ರಗಳ ಇನ್ಪುಟ್ ಗಾತ್ರವನ್ನು ಪೂರ್ವನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಎಂದು ತಿಳಿದುಕೊಳ್ಳಲಾಗಿದೆ. ಸಮೂಕ ಗುಣಗಳು ಇನ್‌ಪುಟ್ ಡೇಟಾದಿಂದ ಹೊರತರಬಹುದು ಎಂದು ಸನ್‌ವಲಯಿತ ಜಾಲಗಳು ಹೇಗೆ ಪ್ರಕಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆಯೋ, ಪಠ್ಯದ ಪ್ರಕಾರಗಳು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿವೆ. ಉದಾ., ನಿರಾಕರಣವು ವಿಷಯದಿಂದ ಬೇರ್ಪಡಿಸಬಹುದಾದಷ್ಟು ಹಲವಾರು ಪದಗಳಿಗೆ (ಉದಾ. *ನನಗೆ ಬೆರಳುಹಣ್ಣುಗಳ ಇಷ್ಟವಿಲ್ಲ*, ಹೋಲಿಕೆ ಮಾಡಿರುವಂತೆ *ನನಗೆ ಆ ದೊಡ್ಡ ಬಣ್ಣಬರದ ರುಚಿಕರ ಬೆರಳುಹಣ್ಣುಗಳು ಇಷ್ಟವಿಲ್ಲ*) ಇರಬಹುದು, ಆದರೂ ಇದು ಒಂದು ಪ್ರಕಾರವನು ತಾಳಿಕೊಳ್ಳಬೇಕು. ಹೀಗಾಗಿ, ಭಾಷೆಯನ್ನು ನಿರ್ವಹಿಸಲು ನಾವು ಹೊಸ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರಗಳನ್ನು ಪರಿಚಯಿಸಬೇಕಾಗುತ್ತದೆ, ಉದಾ., *ಪುನರಾವೃತ್ತ ಜಾಲಗಳು* ಮತ್ತು *ರೂಪಾಂತರಕಗಳು*.
## ಗ್ರಂಥಾಲಯಗಳನ್ನು ಸ್ಥಾಪಿಸಿ
ನೀವು ಈ ಕೋರ್ಸ್ ಅನ್ನು ಸ್ಥಳೀಯ ಪೈಥಾನ್ ಸ್ಥಾಪನೆಯೊಂದಿಗೆ ನಡೆಸುತ್ತಿದ್ದರೆ, ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸಿ NLP ಗಾಗಿ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಬಹುದು:
ನೀವು ಈ ಕೋರ್ಸ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಲು ಸ್ಥಳೀಯ ಪೈಥಾನ್ ಸ್ಥಾಪನೆ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಬಳಸಿ NLPಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಬಹುದು:
**ಪೈಟಾರ್ಚ್ ಗಾಗಿ**
**ಪೈಟಾರ್ಚ್ಗಾಗಿ**
```bash
pip install -r requirements-torch.txt
pip install -r requirements-pytorch.txt
```
**ಟೆನ್ಸರ್‌ಫ್ಲೋ ಗಾಗಿ**
**ಟೆನ್ಸರ್‌ಫ್ಲೋಗಾಗಿ**
```bash
pip install -r requirements-tf.txt
```
> ನೀವು [Microsoft Learn](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-77998-cacaste) ನಲ್ಲಿ ಟೆನ್ಸರ್‌ಫ್ಲೋ ಬಳಸಿ NLP ಪ್ರಯತ್ನಿಸಬಹುದು
> ನೀವು [Microsoft Learn](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-77998-cacaste) ನಲ್ಲಿ ಟೆನ್ಸರ್‌ಫ್ಲೋ ಸಿ NLP ಪ್ರಯತ್ನಿಸಬಹುದು
## GPU ಎಚ್ಚರಿಕೆ
## ಜಿಪಿಯು ಎಚ್ಚರಿಕೆ
ಈ ವಿಭಾಗದಲ್ಲಿ, ಕೆಲವು ಉದಾಹರಣೆಗಳಲ್ಲಿ ನಾವು ಬಹಳ ದೊಡ್ಡ ಮಾದರಿಗಳನ್ನು ತರಬೇತುಗೊಳಿಸುವೆವು.
* **GPU-ಸಕ್ರಿಯ ಕಂಪ್ಯೂಟರ್ ಬಳಸಿ**: ದೊಡ್ಡ ಮಾದರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಕಾಯುವ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ನಿಮ್ಮ ನೋಟ್ಬುಕ್‌ಗಳನ್ನು GPU-ಸಕ್ರಿಯ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ನಡೆಸುವುದು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.
* **GPU ಮೆಮೊರಿ ಮಿತಿಗಳು**: ದೊಡ್ಡ ಮಾದರಿಗಳನ್ನು ತರಬೇತುಗೊಳಿಸುವಾಗ GPU ಮೆಮೊರಿ ಮುಗಿಯುವ ಪರಿಸ್ಥಿತಿಗಳು ಸಂಭವಿಸಬಹುದು.
* **GPU ಮೆಮೊರಿ ಬಳಕೆ**: ತರಬೇತಿ ಸಮಯದಲ್ಲಿ ಬಳಕೆಯಾದ GPU ಮೆಮೊರಿ ಪ್ರಮಾಣವು ವಿವಿಧ ಅಂಶಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ, ಅದರಲ್ಲಿ ಮಿನಿಬ್ಯಾಚ್ ಗಾತ್ರವೂ ಸೇರಿದೆ.
* **ಮಿನಿಬ್ಯಾಚ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಿ**: GPU ಮೆಮೊರಿ ಸಮಸ್ಯೆ ಎದುರಾದರೆ, ನಿಮ್ಮ ಕೋಡ್‌ನಲ್ಲಿ ಮಿನಿಬ್ಯಾಚ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದನ್ನು ಪರಿಗಣಿಸಿ.
* **ಟೆನ್ಸರ್‌ಫ್ಲೋ GPU ಮೆಮೊರಿ ಬಿಡುಗಡೆ**: ಹಳೆಯ ಟೆನ್ಸರ್‌ಫ್ಲೋ ಆವೃತ್ತಿಗಳು ಒಂದೇ ಪೈಥಾನ್ ಕರ್ಣಲ್‌ನಲ್ಲಿ ಅನೇಕ ಮಾದರಿಗಳನ್ನು ತರಬೇತುಗೊಳಿಸುವಾಗ GPU ಮೆಮೊರಿಯನ್ನು ಸರಿಯಾಗಿ ಬಿಡುಗಡೆ ಮಾಡದಿರಬಹುದು. GPU ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸಲು, ಟೆನ್ಸರ್‌ಫ್ಲೋವನ್ನು ಅಗತ್ಯವಿರುವಷ್ಟೇ GPU ಮೆಮೊರಿ ಹಂಚಿಕೊಳ್ಳುವಂತೆ ಸಂರಚಿಸಬಹುದು.
* **ಕೋಡ್ ಸೇರಿಸುವಿಕೆ**: ಟೆನ್ಸರ್‌ಫ್ಲೋವನ್ನು ಅಗತ್ಯವಿರುವಾಗ ಮಾತ್ರ GPU ಮೆಮೊರಿ ಹಂಚಿಕೊಳ್ಳುವಂತೆ ಹೊಂದಿಸಲು, ನಿಮ್ಮ ನೋಟ್ಬುಕ್‌ಗಳಲ್ಲಿ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
ಈ ವಿಭಾಗದಲ್ಲಿ, ಕೆಲವು ಉದಾಹರಣೆಗಳಲ್ಲಿ ನಾವು ತುಂಬಾ ದೊಡ್ಡ ಮಾದರಿಗಳನ್ನು ತರಬೇತಿ ನೀಡಲಿದ್ದೇವೆ.
* **ಜಿಪಿಯು ಸಕ್ರೀಯ ಕಂಪ್ಯೂಟರ್ ಬಳಸಿ**: ದೊಡ್ಡ ಮಾದರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಕಾಯುವ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಜಿಪಿಯು ಸಕ್ರೀಯ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ನಿಮ್ಮ ನೋಟ್ಬುಕ್‌ಗಳನ್ನು ಚಾಲನೆಯಲ್ಲಿಡುವುದು ಸೂಕ್ತ.
* **ಜಿಪಿಯು ಸ್ಮೃತಿ ನಿರ್ಬಂಧಗಳು**: ದೊಡ್ಡ ಮಾದರಿಗಳನ್ನು ತರಬೇತಿ ನೀಡಬಹುದಾದಾಗ ಜಿಪಿಯು ಸ್ಮೃತಿಯನ್ನು ದಾಟಿ ಹೋಗುವ ಸ್ಥಿತಿಗಳು ಬರುವ ಸಾಧ್ಯತೆ ಇದೆ.
* **ಜಿಪಿಯು ಸ್ಮೃತಿ ಬಳಕೆ**: ತರಬೇತಿ ವೇಳೆ ಬಳಕೆಯಾಗುವ ಜಿಪಿಯು ಸ್ಮೃತಿ ಪ್ರಮಾಣವು ವಿಭಿನ್ನ ಅಂಶಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ, ತನಿಖಾ ಬ್ಯಾಚ್ ಗಾತ್ರ ಕೂಡ ಒಂದಾಗಿದೆ.
* **ತನಿಖಾ ಬ್ಯಾಚ್ ಗಾತ್ರ ಕಡಿಮೆ ಮಾಡಿ**: ನೀವು ಜಿಪಿಯು ಸ್ಮೃತಿ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಿದರೆ, ನಿಮ್ಮ ಕೋಡ್‌ನಲ್ಲಿ tiny ಬ್ಯಾಚ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದನ್ನು ಪರಿಗಣಿಸಿ.
* **ಟೆನ್ಸರ್‌ಫ್ಲೋ ಜಿಪಿಯು ಸ್ಮೃತಿ ಬಿಡುಗಡೆ**: ಹಳೆಯ ಟENSORFLOW ಆವೃತ್ತಿಗಳು ಒಂದು ಪೈಥಾನ್ ಕರ್ಣಲ್‌ನಲ್ಲಿ ಹಲವು ಮಾದರಿಗಳನ್ನು ತರಬೇತಿ ನೀಡುವಾಗ ಜಿಪಿಯು ಸ್ಮೃತಿಯನ್ನು ಸರಿಯಾಗಿ ಬಿಡುಗಡೆ ಮಾಡದೆ ಇರಬಹುದು. ಜಿಪಿಯು ಸ್ಮೃತಿ ಬಳಕೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸಲು, ಟೆನ್ಸರ್‌ಫ್ಲೋಯನ್ನು ಜಿಪಿಯು ಸ್ಮೃತಿ ಅಗತ್ಯವಿರುವಾಗ ಮಾತ್ರ ಹಂಚಿಕೊಂಡಂತೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.
* **ಕೋಡ್ ಸೇರಿಸೋದು**: ಟೆನ್ಸರ್‌ಫ್ಲೋಯನ್ನು ಜಿಪಿಯು ಸ್ಮೃತಿ ಅಗತ್ಯವಿರುವಾಗ ಮಾತ್ರ ವಿಸ್ತರಿಸುವಂತೆ ಸೆಟ್ಟು ಮಾಡಲು, ನಿಮ್ಮ ನೋಟ್ಬುಕ್‌ಗಳಲ್ಲಿ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
```python
physical_devices = tf.config.list_physical_devices('GPU')
@ -53,21 +53,21 @@ if len(physical_devices)>0:
tf.config.experimental.set_memory_growth(physical_devices[0], True)
```
ನೀವು ಶ್ರೇಷ್ಟ ML ದೃಷ್ಟಿಕೋನದಿಂದ NLP ಕಲಿಯಲು ಆಸಕ್ತರಾಗಿದ್ದರೆ, [ಈ ಪಾಠಗಳ ಸರಣಿಯನ್ನು](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP) ಭೇಟಿ ನೀಡಿ
ನೀವು ಶ್ರೇಷ್ಟ ML ದೃಷ್ಟಿಕೋನದಿಂದ NLP ಕಲಿಯಲು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, [ಈ ಪಾಠಗಳ ಸರಣಿಯನ್ನು](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP) ಭೇಟಿ ಮಾಡಿ
## ಈ ವಿಭಾಗದಲ್ಲಿ
ಈ ವಿಭಾಗದಲ್ಲಿ ನಾವು ಕಲಿಯುವ ವಿಷಯಗಳು:
ಈ ವಿಭಾಗದಲ್ಲಿ ನಾವು ಕಲಿಯಲಿರುವುದು:
* [ಪಠ್ಯವನ್ನು ಟೆನ್ಸರ್‌ಗಳಾಗಿ ಪ್ರತಿನಿಧಿಸುವುದು](13-TextRep/README.md)
* [ಪದ ನುಡಿಗಳು](14-Emdeddings/README.md)
* [ಭಾಷಾ ಮಾದರಕರಣ](15-LanguageModeling/README.md)
* [ಪುನರಾವರ್ತಿತ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು](16-RNN/README.md)
* [ಜನರೇಟಿವ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು](17-GenerativeNetworks/README.md)
* [ಟ್ರಾನ್ಸ್‌ಫಾರ್ಮರ್‌ಗಳು](18-Transformers/README.md)
* [ಪಠ್ಯವನ್ನು ಟೆನ್ಸರ್‌ಗಳಾಗಿ ಪ್ರತಿನಿಧಿಸುವಿಕೆ](13-TextRep/README.md)
* [ಪದ embeddings](14-Emdeddings/README.md)
* [ಭಾಷಾ ಮಾದರಿಕರಣ](15-LanguageModeling/README.md)
* [ಪುನರಾವೃತ್ತ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು](16-RNN/README.md)
* [ಸೃಜನಾತ್ಮಕ ಜಾಲಗಳು](17-GenerativeNetworks/README.md)
* [ರೂಪಾಂತರಕಗಳು](18-Transformers/README.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ಅಸ್ವೀಕರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.
**ಅಸ್ವೀಕರ**:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸಡ್ಡೆಗಳು ಇರಬಹುದು. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದವನ್ನು ಬಳಸುವ ಮೂಲಕ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಗಳ ಅಥವಾ ತಪ್ಪು ವ್ಯಾಖ್ಯಾನಗಳ ಬಗ್ಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,10 +1,16 @@
{
"AGENTS.md": {
"original_hash": "6b11a37115944252ab3ed04e358d830d",
"translation_date": "2025-11-25T19:53:59+00:00",
"translation_date": "2026-07-08T20:28:27+00:00",
"source_file": "AGENTS.md",
"language_code": "ml"
},
"CONTRIBUTING.md": {
"original_hash": "c6fd7e781b67111a90abd166d0ce4aa0",
"translation_date": "2026-07-08T20:51:15+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "ml"
},
"README.md": {
"original_hash": "12c8eb6bf0867d2f1c32daf613ac5b8b",
"translation_date": "2026-04-06T16:54:02+00:00",
@ -17,6 +23,19 @@
"source_file": "SECURITY.md",
"language_code": "ml"
},
"__translation_failures__": {
"lessons/sketchnotes/LICENSE.md": {
"original_hash": "45ab63a2cd8f5faef6c9b150618837a4",
"source_file": "lessons/sketchnotes/LICENSE.md",
"language_code": "ml",
"failure_date": "2026-07-08T20:34:14+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"failure_policy_version": 1
}
},
"etc/CODE_OF_CONDUCT.md": {
"original_hash": "c06b12caf3c901eb3156e3dd5b0aea56",
"translation_date": "2025-11-25T20:22:23+00:00",
@ -54,8 +73,8 @@
"language_code": "ml"
},
"examples/README.md": {
"original_hash": "0d1babfdcbeb46525f2db3fbaaa54cd7",
"translation_date": "2025-11-25T20:34:04+00:00",
"original_hash": "7883d52c2e2a221e0b07a7b112a149b9",
"translation_date": "2026-07-08T20:28:49+00:00",
"source_file": "examples/README.md",
"language_code": "ml"
},
@ -66,8 +85,8 @@
"language_code": "ml"
},
"lessons/0-course-setup/how-to-run.md": {
"original_hash": "a4717bd9103b9f6cd84d534b83534689",
"translation_date": "2026-01-17T02:14:15+00:00",
"original_hash": "7ad8c7d8604c53649b3d4d1e2f3a6fa1",
"translation_date": "2026-07-08T20:29:14+00:00",
"source_file": "lessons/0-course-setup/how-to-run.md",
"language_code": "ml"
},
@ -191,6 +210,12 @@
"source_file": "lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md",
"language_code": "ml"
},
"lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb": {
"original_hash": "99b816b6a4957ef4100cee4c4221dff9",
"translation_date": "2026-07-08T20:23:12+00:00",
"source_file": "lessons/4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb",
"language_code": "ml"
},
"lessons/4-ComputerVision/08-TransferLearning/lab/README.md": {
"original_hash": "7765935c35fcee69b9fe2d0cfd6963e2",
"translation_date": "2025-11-25T22:43:57+00:00",
@ -330,8 +355,8 @@
"language_code": "ml"
},
"lessons/5-NLP/README.md": {
"original_hash": "8ef02a9318257ea140ed3ed74442096d",
"translation_date": "2025-11-25T21:14:29+00:00",
"original_hash": "038df6f1a73e49f6430740da083bfd6d",
"translation_date": "2026-07-08T20:29:51+00:00",
"source_file": "lessons/5-NLP/README.md",
"language_code": "ml"
},

View File

@ -1,141 +1,136 @@
# AGENTS.md
## പ്രോജക്ട് അവലോകനം
## പദ്ധതിയുടെ അവലോകനം
AI for Beginners ഒരു സമഗ്രമായ 12 ആഴ്ച, 24 പാഠങ്ങളുള്ള പാഠ്യപദ്ധതിയാണ്, ഇത് കൃത്രിമ ബുദ്ധിമുട്ടിന്റെ അടിസ്ഥാനങ്ങൾ ഉൾക്കൊള്ളുന്നു. ഈ വിദ്യാഭ്യാസ സംഭരണം പ്രായോഗിക പാഠങ്ങൾ Jupyter Notebooks ഉപയോഗിച്ച്, ക്വിസുകൾ, ഹാൻഡ്‌സ്-ഓൺ ലാബുകൾ എന്നിവ ഉൾക്കൊള്ളുന്നു. പാഠ്യപദ്ധതി ഉൾക്കൊള്ളുന്നത്:
കൃത്രിമ ബുദ്ധിമുട്ടിന്റെ അടിസ്ഥാനതത്വങ്ങളെ ഉൾക്കൊള്ളുന്ന സമഗ്രമായ 12 ആഴ്ച, 24 പാഠപദ്ധതിയായ AI for Beginners. Jupyter നോട്ട്ബുക്കുകൾ, ക്വിസ്, ഹാൻഡ്‌സോൺ ലാബുകൾ എന്നിവ ഉപയോഗിച്ച് പ്രായോഗിക പാഠങ്ങൾ ഉൾക്കൊള്ളുന്ന ഈ വിദ്യാഭ്യാസ റീപ്പോസിറ്ററി. പാഠപദ്ധതി ഉൾക്കൊള്ളുന്നു:
- നിഘണ്ടു പ്രതിനിധാനം, വിദഗ്ധ സിസ്റ്റങ്ങൾ എന്നിവയുള്ള സിംബോളിക് AI
- TensorFlow, PyTorch ഉപയോഗിച്ചുള്ള ന്യൂറൽ നെറ്റ്‌വർക്കുകളും ഡീപ്പ് ലേണിംഗും
- കമ്പ്യൂട്ടർ വിഷൻ സാങ്കേതിക വിദ്യകളും ആർക്കിടെക്ചറുകളും
- ട്രാൻസ്ഫോർമറുകളും BERT ഉൾപ്പെടെയുള്ള നാചുറൽ ലാംഗ്വേജ് പ്രോസസ്സിംഗ് (NLP)
- പ്രത്യേക വിഷയങ്ങൾ: ജെനറ്റിക് ആൽഗോരിതങ്ങൾ, റീ ഇൻഫോഴ്‌സ്‌മെന്റ് ലേണിംഗ്, മൾട്ടി-ഏജന്റ് സിസ്റ്റങ്ങൾ
- AI നൈതികതയും ഉത്തരവാദിത്വമുള്ള AI സിദ്ധാന്തങ്ങളും
- കൃത്യമായ ബുദ്ധിമുട്ട് (Symbolic AI) ന知识 പ്രതിനിധീകരണവും വിദഗ്ധ സമ്പ്രദായങ്ങളും
- TensorFlow ഉം PyTorch ഉം ഉപയോഗിച്ച് നറുകപ്പെട്ട നെറ്റ്‌വർക്കുകളും ഡീപ് ലേർണിങ്ങും
- കമ്പ്യൂട്ടർ വിഷ്വൽ സാങ്കേതിക വിദ്യകളും ഘടനകളും
- ട്രാൻസ്ഫോർമറുകളും BERT ഉ ഉൾപ്പെടുന്ന പ്രകൃതി ഭാഷാ പ്രോസസ്സിംഗ് (NLP)
- പ്രത്യേക വിഷയങ്ങൾ: ജനിതക ആൽഗോരിതങ്ങൾ, ശക്തീകരണ പഠനം, മൾട്ടി-എജന്റ് സംവിധാനങ്ങൾ
- AI എഥിക്സ്, ഉത്തരവാദിത്വമുള്ള AI സിദ്ധാന്തങ്ങൾ
**പ്രധാന സാങ്കേതികവിദ്യകൾ:** Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (ക്വിസ് ആപ്പിനായി)
**പ്രധാന സാങ്കേതികവിദ്യകൾ:** Python 3, Jupyter നോട്ട്ബുക്കുകൾ, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (ക്വിസ് ആപ്പിന്)
**ആർക്കിടെക്ചർ:** വിഷയപ്രകാരം ക്രമീകരിച്ച Jupyter Notebooks ഉള്ള വിദ്യാഭ്യാസ ഉള്ളടക്ക സംഭരണം, Vue.js അടിസ്ഥാനമാക്കിയുള്ള ക്വിസ് ആപ്പ്, വ്യാപകമായ ബഹുഭാഷാ പിന്തുണ.
**ഘടന:** വിഷയംപ്രകാരം ക്രമീകരിച്ച Jupyter നോട്ട്ബുക്കുകളുള്ള വിദ്യാഭ്യാസ ഉള്ളടക്ക റീപ്പോസിറ്ററി, Vue.js അടിസ്ഥാനത്തിലുള്ള ക്വിസ് ആപ്പ്, വ്യാപകമായ ബഹുഭാഷാ പിന്തുണ.
## സെറ്റപ്പ് കമാൻഡുകൾ
## സജ്ജീകരണ കമാൻഡുകൾ
### പ്രാഥമിക ഡെവലപ്പ്മെന്റ് പരിസ്ഥിതി (Python/Jupyter)
### പ്രാഥമിക വികസന പരിപ്രേക്ഷ്യം (Python/Jupyter)
പാഠ്യപദ്ധതി Python, Jupyter Notebooks ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്തതാണ്. ശുപാർശ ചെയ്യുന്നത് miniconda ഉപയോഗിക്കുകയാണ്:
പാഠപദ്ധതി Python ഉം Jupyter നോട്ട്ബുക്കുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നതിനു രൂപകല്‍പ്പന ചെയ്‌തതാണ്. miniconda ഉപയോഗിക്കുക എന്നതാണ് ശിപാർശ ചെയ്യപ്പെട്ട രീതിയ۔
```bash
# റിപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുക
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# കോൺഡാ എൻവയോൺമെന്റ് സൃഷ്ടിച്ച് സജീവമാക്കുക
# കൊണ്ടാ എൻവയോൺമെന്റ് സൃഷ്ടിച്ച് സജീവമാക്കുക
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# ജൂപ്പിറ്റർ നോട്ട്‌ബുക്ക് ആരംഭിക്കുക
# Jupyter നോട്ട്‌ബുക്ക് തുടങ്ങുക
jupyter notebook
# അല്ലെങ്കിൽ
jupyter lab
```
### ബദൽ: devcontainer ഉപയോഗിക്കൽ
### विकल्प: devcontainer ഉപയോഗിക്കൽ
```bash
# VS കോഡിൽ തുറന്ന് പ്രോംപ്റ്റ് വന്നപ്പോൾ "കണ്ടെയ്‌നറിൽ വീണ്ടും തുറക്കുക" തിരഞ്ഞെടുക്കുക
# ഡെവ്കണ്ടെയ്‌നർ സ്വയം പരിസ്ഥിതി സജ്ജമാക്കും
# VS കോഡിൽ തുറന്ന് പ്രാപ്തനായപ്പോൾ "കൺറ്റെയിനറിൽ പുനർവിടുക" തെരഞ്ഞെടുക്കുക
# ഡെവ്കൺറ്റെയ്നർ സ്വയം പരിസ്ഥിതി സജ്ജമാക്കും
```
### ക്വിസ് ആപ്പ് സജ്ജീകരണം
### ക്വിസ് ആപ്പ് സെറ്റപ്പ്
ക്വിസ് ആപ്പ് ഒരു വേർതിരിച്ച Vue.js ആപ്പാണ്, സ്ഥിതിചെയ്യുന്നത് `etc/quiz-app/` എന്ന ഫോൾഡറിൽ:
ക്വിസ് ആപ്പ് സ്വതന്ത്രമായ Vue.js ആപ്പാണ്, `etc/quiz-app/` ൽ സ്ഥിതിചെയ്യുന്നു:
```bash
cd etc/quiz-app
npm install
npm run serve # വികസന സർവർ
npm run build # ഉത്പാദന ബിൽഡ്
npm run lint # ലിന്റ് ചെയ്ത് ഫയലുകൾ ശരിയാക്കുക
npm run serve # വികസന സർവർ
npm run build # ഉത്പാദന നിർമ്മാണം
npm run lint # ലിന്റും ഫയലുകൾ ശരിയാക്കുക
```
## വികസനം വർക്ക്‌ഫ്ലോ
## ഡെവലപ്പ്മെന്റ് പ്രവൃത്തി പ്രവാഹം
### Jupyter നോട്ട്ബുക്കുകളുമായി ജോലി ചെയ്യുക
### Jupyter Notebooks ഉപയോഗിച്ച് ജോലി ചെയ്യൽ
1. **ലോകൽ ഡെവലപ്പ്മെന്റ്:**
1. **ലോകൽ വികസനം:**
- conda പരിസ്ഥിതി സജീവമാക്കുക: `conda activate ai4beg`
- Jupyter ആരംഭിക്കുക: `jupyter notebook` അല്ലെങ്കിൽ `jupyter lab`
- പാഠ ഫോൾഡറുകളിലേക്ക് പോകുക, `.ipynb` ഫയലുകൾ തുറക്കുക
- പാഠ ഫോൾഡറുകളിലേക്ക് നീങ്ങുക, `.ipynb` ഫയലുകൾ തുറക്കുക
- പാഠങ്ങൾ പിന്തുടരാൻ സെല്ലുകൾ ഇന്ററാക്ടീവായി പ്രവർത്തിപ്പിക്കുക
2. **Python എക്സ്റ്റൻഷൻ ഉപയോഗിച്ച് VS Code:**
- റിപോസിറ്ററി VS Code-ൽ തുറക്കുക
2. **Python എക്സ്റ്റൻഷൻ ഉള്ള VS Code:**
- റീപ്പോസിറ്ററി VS Code ൽ തുറക്കുക
- Python എക്സ്റ്റൻഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക
- VS Code സ്വയം conda പരിസ്ഥിതിയെ കണ്ടെത്തി ഉപയോഗിക്കും
- `.ipynb` ഫയലുകൾ നേരിട്ട് VS Code-ൽ തുറക്കുക
- VS Code സ്വയം conda പരിസ്ഥിതിയെ കണ്ടെത്തുകയും ഉപയോഗിക്കുകയും ചെയ്യും
- `.ipynb` ഫയലുകൾ നേരിട്ട് VS Code ൽ തുറക്കുക
3. **ക്ലൗഡ് ഡെവലപ്പ്മെന്റ്:**
3. **ക്ലൗഡ് വികസനം:**
- **GitHub Codespaces:** "Code" → "Codespaces" → "Create codespace on main" ക്ലിക്ക് ചെയ്യുക
- **Binder:** README-യിലെ Binder ബാഡ്ജ് ഉപയോഗിച്ച് ബ്രൗസറിൽ ആരംഭിക്കുക
- ശ്രദ്ധിക്കുക: Binder-ന് പരിമിതമായ റിസോഴ്‌സുകളും ചില വെബ് ആക്‌സസ് നിയന്ത്രണങ്ങളുണ്ട്
- **Binder:** READMEയിൽ ഉള്ള Binder ബാഡ്ജ് ഉപയോഗിച്ച് ബ്രൗസറിൽ ആരംഭിക്കുക
- കുറിപ്പ്: Binder ലിമിറ്റഡ് റിസോഴ്‌സുകളുള്ളതാണ്, ചില വെബ് ആക്‌സസ് നിയന്ത്രണങ്ങളുണ്ട്
### പുരോഗമന പാഠങ്ങൾക്കുള്ള GPU പിന്തുണ
### ഉയർന്ന പാഠങ്ങൾക്ക് GPU പിന്തുണ
പിന്നീട് വരുന്ന പാഠങ്ങൾ GPU ആക്സിലറേഷൻ ഉപയോഗിച്ച് വളരെ പ്രയോജനപ്പെടും:
പിന്നീട് പാഠങ്ങൾ GPU അനുഗ്രഹനം വലിയ പിന്തുണയുള്ളതാണ്:
- **Azure Data Science VM:** GPU പിന്തുണയുള്ള NC-സീരീസ് VM-കൾ ഉപയോഗിക്കുക
- **Azure Machine Learning:** GPU കംപ്യൂട്ട് ഉപയോഗിച്ച് നോട്ട്‌ബുക്ക് ഫീച്ചറുകൾ ഉപയോഗിക്കുക
- **Google Colab:** നോട്ട്‌ബുക്കുകൾ വ്യക്തിഗതമായി അപ്‌ലോഡ് ചെയ്യുക (ഫ്രീ GPU പിന്തുണയുണ്ട്)
- **Azure Data Science VM:** GPU പിന്തുണയുള്ള NC-സീരീസ് VMകൾ ഉപയോഗിക്കുക
- **Azure Machine Learning:** GPU കംപ്യൂട്ടർ പിന്തുണയുള്ള നോട്ട്ബുക്ക് ഫീച്ചറുകൾ ഉപയോഗിക്കുക
- **Google Colab:** നോട്ട്ബുക്കുകൾ പ്രത്യേകം അപ്‌ലോഡ് ചെയ്യുക ( സൗജന്യ GPU പിന്തുണയുണ്ട് )
### ക്വിസ് ആപ്പ് ഡെവലപ്പ്മെന്റ്
### ക്വിസ് ആപ്പ് വികസനം
```bash
cd etc/quiz-app
npm run serve # http://localhost:8080 ൽ ഹോട്ട്-റീലോഡ് ഡെവലപ്പ്മെന്റ് സെർവർ
npm run serve # http://localhost:8080-ലുള്ള ഹോട്ട്-റിലോഡ് വികസന സർവർ
```
## പരിശോധനാനിർദ്ദേശങ്ങൾ
## ടെസ്റ്റിംഗ് നിർദ്ദേശങ്ങൾ
ഇത് സോഫ്റ്റ്‌വെയർ ടെസ്റ്റിംഗിനേക്കാൾ പഠന ഉള്ളടക്കത്തെ കേന്ദ്രീകരിച്ചുള്ള വിദ്യാഭ്യാസ സംഭരണമാണ്. പരമ്പരാഗത ടെസ്റ്റ് സ്യൂട്ട് ഇല്ല.
സോഫ്റ്റ്വെയർ പരിശോധന ചിലവുകൾക്കല്ല, ഇത് ഒരു വിദ്യാഭ്യാസ റീപ്പോസിറ്ററിയാണ്. പരമ്പരാഗത ടെസ്റ്റ് സ്യൂട്ട് ഇല്ല.
### സാധൂകരിക്കൽ സമീപനങ്ങൾ:
1. **Jupyter Notebooks:** കോഡ് ഉദാഹരണങ്ങൾ പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ സെല്ലുകൾ ക്രമത്തിൽ പ്രവർത്തിപ്പിക്കുക
2. **ക്വിസ് ആപ്പ് ടെസ്റ്റിംഗ്:** ഡെവലപ്പ്മെന്റ് സെർവറിലൂടെ മാനുവൽ ടെസ്റ്റിംഗ്
3. **പരിഭാഷാ സാധൂകരിക്കൽ:** `translations/` ഫോൾഡറിൽ പരിഭാഷാ ഉള്ളടക്കം പരിശോധിക്കുക
4. **ക്വിസ് ആപ്പ് ലിന്റിംഗ്:** `etc/quiz-app/`-ൽ `npm run lint` പ്രവർത്തിപ്പിക്കുക
1. **Jupyter നോട്ട്ബുക്കുകൾ:** കോഡ് ഉദാഹരണങ്ങൾ പാടുപെടാതെ പ്രവർത്തിക്കുന്നത് പരിശോധിക്കാൻ സെല്ലുകൾ നിരപരാധിത്വത്തിൽ പ്രവർത്തിപ്പിക്കുക
2. **ക്വിസ് ആപ്പ് പരിശോധന:** വികസന സർവറിലൂടെ കൈകാര്യം ചെയ്ത പരിശോധന
3. **മൂല്യനിർണയ പരിശോധന:** `translations/` ഫോൾഡറിലുള്ള പരിഭാഷകൾ പരിശോധിക്കുക
4. **ക്വിസ് ആപ്പ് ലിന്റിംഗ്:** `etc/quiz-app/``npm run lint` നടത്തുക
### കോഡ് ഉദാഹരണങ്ങൾ പ്രവർത്തിപ്പിക്കൽ:
```bash
# ആദ്യം പരിസ്ഥിതി സജീവമാക്കുക
# പരിസ്ഥിതി ആദ്യം പ്രാപ്തമാക്കുക
conda activate ai4beg
# പൈത്തൺ സ്ക്രിപ്റ്റുകൾ നേരിട്ട് പ്രവർത്തിപ്പിക്കുക
# പൈത്തൺ സ്ക്രിപ്റ്റുകൾ നേരിട്ട് 실행ിക്കുക
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# അല്ലെങ്കിൽ നോട്ട്‌ബുക്കുകൾ പ്രവർത്തിപ്പിക്കുക
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
```
## കോഡ് ശൈലി
### Python കോഡ് ശൈലി
- വിദ്യാഭ്യാസ കോഡിനായി സ്റ്റാൻഡേർഡ് Python കൺവെൻഷനുകൾ
- പഠനത്തിന് മുൻഗണന നൽകുന്ന വ്യക്തമായ, വായിക്കാൻ എളുപ്പമുള്ള കോഡ്
- പ്രധാന ആശയങ്ങൾ വിശദീകരിക്കുന്ന കമന്റുകൾ
- Jupyter Notebook-സൗഹൃദം: സെല്ലുകൾ സ്വയംപര്യാപ്തമായിരിക്കണം എത്രയും സാധ്യമായിടത്തോള
- പാഠ്യപദ്ധതിക്ക് കർശനമായ ലിന്റിംഗ് ആവശ്യകതയില്ല
- വിദ്യാഭ്യാസ കോഡിനുള്ള സ്റ്റാൻഡേർഡ് Python രീതികൾ പാലിക്കുക
- പഠനാനുകൂലമായി വ്യക്തമായി വായിക്കാവുന്ന കോഡ്, ഒപ്റ്റിമൈസേഷനിൽ മുൻഗണന നൽകാതെ
- പ്രധാന ആശയങ്ങൾ വിശദീകരിക്കുന്ന കുറിപ്പുകൾ
- Jupyter നോട്ട്ബുക്ക് സൗഹൃദം: സെല്ലുകൾ സ്വയംപര്യാപ്തവുമായ മുഖ്യങ്ങള്‍ ആയിരിക്കണ
- പാഠപദ്ധതി ഉള്ളടക്കത്തിന് കർശനമായ ലിന്റിംഗ് സ്വഭാവമില്ല
### JavaScript/Vue.js (ക്വിസ് ആപ്പ്)
- `etc/quiz-app/package.json`-ൽ ESLint കോൺഫിഗറേഷൻ
- `etc/quiz-app/package.json` ൽ ESLint ക്രമീകരണം
- പ്രശ്നങ്ങൾ പരിശോധിക്കാൻ, സ്വയം പരിഹരിക്കാൻ `npm run lint` പ്രവർത്തിപ്പിക്കുക
- Vue 2.x കൺവെൻഷനുകൾ
- ഘടക അടിസ്ഥാന ആർക്കിടെക്ചർ
- Vue 2.x പാരമ്പര്യം
- ഘടക ആധാരിത ഘടന
### ഫയൽ ക്രമീകരണം
@ -158,12 +153,11 @@ etc/
translations/ # Multi-language translations
```
## ബിൽഡ് & ഡിപ്ലോയ്മെന്റ്
## നിർമ്മാണം, വിന്യാസം
### Jupyter ഉള്ളടക്കം
ബിൽഡ് പ്രക്രിയ ആവശ്യമില്ല - Jupyter Notebooks നേരിട്ട് പ്രവർത്തിപ്പിക്കും.
നിർമാണ പ്രക്രിയ വേണ്ട - Jupyter നോട്ട്ബുക്കുകൾ നേരിട്ട് പ്രവർത്തിക്കുന്നു.
### ക്വിസ് ആപ്പ്
@ -174,55 +168,54 @@ cd etc/quiz-app
npm run serve
# ഉത്പാദന ബിൽഡ്
npm run build # etc/quiz-app/dist/ ലേക്ക് ഔട്ട്പുട്ട്
npm run build # etc/quiz-app/dist/ ലേക്ക് പുറത്തുവിടുന്നു
# Azure സ്റ്റാറ്റിക് വെബ് ആപ്പുകളിൽ വിന്യസിക്കുക
# Azure സ്വയം GitHub Actions വർക്ക്‌ഫ്ലോ സൃഷ്ടിക്കുന്നു
# വിശദമായ വിന്യാസ നിർദ്ദേശങ്ങൾക്കായി etc/quiz-app/README.md കാണുക
# Azure Static Web Apps-ലേക്ക് വിന്യസിക്കുക
# Azure സ്വയം GitHub Actions പ്രവൃത്തി പ്രക്രിയ സൃഷ്ടിക്കുന്നു
# വിന്യസന വിശദീകരണങ്ങൾക്ക് etc/quiz-app/README.md കാണുക
```
### ഡോക്യുമെന്റേഷൻ സൈറ്റ്
റിപ്പോസിറ്ററി ഡോക്സിഫൈ ഉപയോഗിക്കുന്നു:
- `index.html` പ്രവേശന പോയിന്റ്
- ബിൽഡ് ആവശ്യമില്ല - GitHub Pages വഴി നേരിട്ട് സർവ് ചെയ്യുന്നു
- ആക്‌സസ് ചെയ്യുക: https://microsoft.github.io/AI-For-Beginners/
ഡോക്സിഫൈ ഉപയോഗിച്ച് റീപ്പോസിറ്ററി ഡോക്യുമെന്റേഷൻ സേവനം ചെയ്യുന്നു:
- `index.html` എൻട്രി പോയിന്റ് ആയി പ്രവർത്തിക്കുന്നു
- നിർമ്മാണം ആവശ്യമില്ല - GitHub Pages വഴി നേരിട്ട് സേവനം ചെയ്യുന്നു
- ആക്‌സസ് ചെയ്യാം: https://microsoft.github.io/AI-For-Beginners/
## സംഭാവന മാർഗ്ഗനിർദ്ദേശങ്ങൾ
## സംഭാവന മാർഗ്ഗനിർദേശങ്ങൾ
### പുൾ റിക്വസ്റ്റ് പ്രക്രിയ
1. **ശീർഷകം ഫോർമാറ്റ്:** മാറ്റം വ്യക്തമാക്കുന്ന വ്യക്തമായ, വിവരണാത്മകമായ ശീർഷകങ്ങ
2. **CLA ആവശ്യകത:** Microsoft CLA ഒപ്പിടണം (സ്വയം പരിശോധന)
3. **ഉള്ളടക്ക മാർഗ്ഗനിർദ്ദേശങ്ങൾ:**
- വിദ്യാഭ്യാസ ലക്ഷ്യവും തുടക്കക്കാർക്ക് അനുയോജ്യമായ സമീപനവും പാലിക്കുക
- നോട്ട്‌ബുക്കിലെ എല്ലാ കോഡ് ഉദാഹരണങ്ങളും പരീക്ഷിക്കുക
- നോട്ട്‌ബുക്കുകൾ തുടർച്ചയായി പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക
- ഇംഗ്ലീഷ് ഉള്ളടക്കം മാറ്റിയാൽ പരിഭാഷകൾ അപ്ഡേറ്റ് ചെയ്യുക
4. **ക്വിസ് ആപ്പ് മാറ്റങ്ങൾ:** കമ്മിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് `npm run lint` പ്രവർത്തിപ്പിക്കുക
1. **തലക്കെട്ട് രൂപം:** മാറ്റം വ്യക്തമാക്കുന്ന വ്യക്തമായ, വിവരണാത്മക തലക്കെട്ടുക
2. **CLA ആവശ്യകത:** Microsoft CLA ഒപ്പിടൽ (സ്വയംകർത്തമായ പരിശോധന)
3. **ഉള്ളടക്ക മാർഗ്ഗരേഖകൾ:**
- വിദ്യാഭ്യാസ കേന്ദ്രീകരിക്കുകയും ആരഭക_mac_opt അടിയും നിലനിർത്തുക
- നോട്ട്ബുക്കുകളിൽ ഉള്ള കോഡ് ഉദാഹരണങ്ങൾ എല്ലാം ടെസ്റ്റ് ചെയ്യുക
- നോട്ട്ബുക്കുകൾ തുടങ്ങി അവസാനംവരെ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക
- ഇംഗ്ലീഷ് ഉള്ളടക്കം മാറ്റിയാൽ വിവർത്തനങ്ങൾ അപ്‌ഡേറ്റ് ചെയ്യുക
4. **ക്വിസ് ആപ്പ് മാറ്റങ്ങൾ:** കമ്മിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് `npm run lint` നടത്തുക
### പരിഭാഷാ സംഭാവനകൾ
### വിവർത്തന സംഭാവനകൾ
- GitHub Actions ഉപയോഗിച്ച് co-op-translator വഴി ഓട്ടോമാറ്റിക് പരിഭാഷക
- മാനുവൽ പരിഭാഷകൾ `translations/<language-code>/`-
- ക്വിസ് പരിഭാഷകൾ `etc/quiz-app/src/assets/translations/`-
- പിന്തുണയുള്ള ഭാഷകൾ: 40+ (പൂർണ്ണ പട്ടിക README-യിൽ കാണുക)
- GitHub Actions ഉപയോഗിച്ച് co-op-translator വഴി ആസ്വയിച്ച വിവർത്തനങ്ങ
- മാനുവൽ വിവർത്തനങ്ങൾ `translations/<language-code>/`
- ക്വിസ് വിവർത്തനങ്ങൾ `etc/quiz-app/src/assets/translations/`
- പിന്തുണയുള്ള ഭാഷകൾ: 40+ (പൂർണ്ണ പട്ടികക്ക് README നോക്കുക)
### സജീവ സംഭാവന മേഖലകൾ
നിലവിലെ ആവശ്യങ്ങൾക്കായി `etc/CONTRIBUTING.md` കാണുക:
- ഡീപ്പ് റീ ഇൻഫോഴ്‌സ്‌മെന്റ് ലേണിംഗ് വിഭാഗങ്ങൾ
- ഒബ്ജക്റ്റ് ഡിറ്റക്ഷൻ മെച്ചപ്പെടുത്തലുകൾ
- നെയിംഡ് എൻറ്റിറ്റി റെക്കഗ്നിഷൻ ഉദാഹരണങ്ങൾ
- കസ്റ്റം എംബെഡ്ഡിംഗ് ട്രെയിനിംഗ് സാമ്പിളുകൾ
ഇപ്പോഴത്തെ ആവശ്യമുകൾക്കായി `etc/CONTRIBUTING.md` കാണുക:
- ഡീപ് ശക്തീകരണ പഠനം എന്നിവ
- വസ്തു തിരിച്ചറിവ് മെച്ചപ്പെടുത്തലുകൾ
- നാമപ്പെടുത്തിയ സങ്കേത തിരിച്ചറിവ് ഉദാഹരണങ്ങൾ
- കസ്റ്റം എംബെഡ്ഡിംഗ് പരിശീലന സാമ്പിളുകൾ
## പരിസ്ഥിതി ക്രമീകരണം
## പരിസ്ഥിതി കോൺഫിഗറേഷൻ
### ആവശ്യമായ ആശ്രിതങ്ങ
### ആവശ്യമായ ഡിപ്പെൻഡൻസിക
```bash
# കോർ പൈത്തൺ പാക്കേജുകൾ (requirements.txt ൽ നിന്നുള്ള)
# മുകളിൽ ആവശ്യമായ പാക്കേജുകൾ (requirements.txt) നിന്നും കോർ പൈത്തൺ പാക്കേജുകൾ
tensorflow==2.17.0
torch (via conda)
torchvision (via conda)
@ -235,38 +228,36 @@ matplotlib==3.9
jupyter
```
### പരിസ്ഥിതി വേരിയബിൾസ്
### പരിസ്ഥിതി വേരിയബിളുക
അടിസ്ഥാന ഉപയോഗത്തിനായി പ്രത്യേക പരിസ്ഥിതി വേരിയബിൾസ് ആവശ്യമില്ല.
അടിസ്ഥാന ഉപയോഗത്തിന് പ്രത്യേക പരിസ്ഥിതി വേരിയബിളുകൾ ആവശ്യമില്ല.
Azure വിന്യാസങ്ങൾക്ക് (ക്വിസ് ആപ്പ്):
- `AZURE_STATIC_WEB_APPS_API_TOKEN` (Azure സ്വയം സജ്ജമാക്കുന്നു)
Azure ഡിപ്ലോയ്മെന്റുകൾക്കായി (ക്വിസ് ആപ്പ്):
- `AZURE_STATIC_WEB_APPS_API_TOKEN` (Azure സ്വയം സജ്ജമാക്കും)
## ഡീബഗ്ഗിംഗ്, പ്രശ്ന പരിഹാരം
## ഡീബഗ്ഗിംഗ് & പ്രശ്നപരിഹാരം
### പൊതു പ്രശ്നങ്ങൾ
### സാധാരണ പ്രശ്നങ്ങൾ
**പ്രശ്നം:** Conda പരിസ്ഥിതി സൃഷ്ടി പരാജയമാണ്
- **പരിഹാരം:** ആദ്യം conda അപ്‌ഡേറ്റ് ചെയ്യുക: `conda update conda -y`
- മതിയായ ഡ്രൈവ് സ്പേസ് ഉറപ്പാക്കുക (50GB ശുപാർശ)
**പ്രശ്നം:** Conda പരിസ്ഥിതി സൃഷ്ടിക്കൽ പരാജയപ്പെടുന്നു
- **പരിഹാരം:** ആദ്യം conda അപ്ഡേറ്റ് ചെയ്യുക: `conda update conda -y`
- മതിയായ ഡിസ്ക് സ്പേസ് ഉറപ്പാക്കുക (50GB ശുപാർശ)
**പ്രശ്നം:** Jupyter kernel കണ്ടെത്താനാകുന്നില്ല
- **പരിഹാരം:**
**പ്രശ്നം:** Jupyter കർണൽ കണ്ടെത്താനാകുന്നില്ല
- **പരിഹാരം:**
```bash
conda activate ai4beg
python -m ipykernel install --user --name ai4beg
```
**പ്രശ്നം:** നോട്ട്ബുക്കുകളിൽ GPU കണ്ടെത്താനാകുന്നില്ല
- **പരിഹാരം:**
- CUDA ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്നുവോ പരിശോധിക്കുക: `nvidia-smi`
- PyTorch GPU അഡപ്‌ട്ടർ പരിശോധന: `python -c "import torch; print(torch.cuda.is_available())"`
- TensorFlow GPU പരിശോധിക്കൽ: `python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"`
**പ്രശ്നം:** നോട്ട്‌ബുക്കുകളിൽ GPU കണ്ടെത്താനാകുന്നില്ല
- **പരിഹാരം:**
- CUDA ഇൻസ്റ്റലേഷൻ പരിശോധിക്കുക: `nvidia-smi`
- PyTorch GPU ലഭ്യത പരിശോധിക്കുക: `python -c "import torch; print(torch.cuda.is_available())"`
- TensorFlow GPU ലഭ്യത പരിശോധിക്കുക: `python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"`
**പ്രശ്നം:** ക്വിസ് ആപ്പ് ആരംഭിക്കുന്നില്ല
- **പരിഹാരം:**
**പ്രശ്നം:** ക്വിസ് ആപ്പ് ആരംഭിക്കുന്നില്ല
- **പരിഹാരം:**
```bash
cd etc/quiz-app
rm -rf node_modules package-lock.json
@ -274,56 +265,55 @@ Azure ഡിപ്ലോയ്മെന്റുകൾക്കായി (ക്
npm run serve
```
**പ്രശ്നം:** Binder ടൈംഔട്ട് അല്ലെങ്കിൽ ഡൗൺലോഡുകൾ തടയുന്നു
- **പരിഹാരം:** മികച്ച റിസോഴ്‌സ് ആക്‌സസിനായി GitHub Codespaces അല്ലെങ്കിൽ ലോകൽ സെറ്റപ്പ് ഉപയോഗിക്കുക
**പ്രശ്നം:** Binder സമയം പാർത്തുകൂടി അല്ലെങ്കിൽ ഡൗൺലോഡുകൾ തടയുന്നു
- **പരിഹാരം:** മികച്ച റിസോഴ്‌സ് ആക്‌സസിനായി GitHub Codespaces അല്ലെങ്കിൽ ലോകൽ സജ്ജീകരണം ഉപയോഗിക്കുക
### മെമ്മറി പ്രശ്നങ്ങൾ
ചില പാഠങ്ങൾ വലിയ RAM ആവശ്യപ്പെടുന്നു (8GB+ ശുപാർശ):
- റിസോഴ്‌സ്-ഇന്റൻസീവ് പാഠങ്ങൾക്കായി ക്ലൗഡ് VM-കൾ ഉപയോഗിക്കുക
- മോഡലുകൾ ട്രെയിൻ ചെയ്യുമ്പോൾ മറ്റ് ആപ്ലിക്കേഷനുകൾ അടയ്ക്കുക
- മെമ്മറി കുറയുമ്പോൾ നോട്ട്‌ബുക്കുകളിൽ ബാച്ച് സൈസ് കുറയ്ക്കുക
ചില പാഠങ്ങൾക്ക് വലിയ റാം ആവശ്യമുണ്ട് (കുറഞ്ഞത് 8GB ശുപാർശ ചെയ്യുന്നു):
- പ്രയാസമേറിയ പാഠങ്ങൾക്ക് ക്ലൗഡ് VMകൾ ഉപയോഗിക്കുക
- മോഡൽ ട്രെയ്‌നിംഗ് സമയത്ത് മറ്റ് ആപ്പുകൾ അടയ്ക്കുക
- മെമ്മറി പൂർണ്ണമായാൽ നോട്ട്ബുക്കുകളിൽ ബാച്ച് വലുപ്പം കുറക്കുക
## അധിക കുറിപ്പുകൾ
### കോഴ്‌സ് ഇൻസ്ട്രക്ടർമാർക്കായി
### പാഠം പകർന്നടുക്കുന്ന അധ്യാപകർക്ക്
- പഠന മാർഗ്ഗനിർദ്ദേശങ്ങൾക്ക് `lessons/0-course-setup/for-teachers.md` കാണുക
- പാഠങ്ങൾ സ്വയംപര്യാപ്തമാണ്, തുടർച്ചയായി അല്ലെങ്കിൽ തിരഞ്ഞെടുക്കി പഠിപ്പിക്കാം
- ഏകദേശം 12 ആഴ്ച, ആഴ്ചയിൽ 2 പാഠങ്ങൾ
- പഠന മാർഗ്ഗനിർദേശങ്ങൾക്ക് `lessons/0-course-setup/for-teachers.md` കാണുക
- പാഠങ്ങൾ സ്വയംപര്യാപ്തവായും പരമ്പരയായി പഠിപ്പിക്കാവുന്നതുമായും ആണ്
- കാൽപ്പനിക സമയം: 12 ആഴ്ച, ആഴ്ചയ്ക്ക് 2 പാഠങ്ങൾ
### ക്ലൗഡ് റിസോഴ്‌സുകൾ
- **Azure for Students:** വിദ്യാർത്ഥികൾക്ക് സൗജന്യ ക്രെഡിറ്റുകൾ
- **Microsoft Learn:** പാഠ്യപദ്ധതിയുമായി ബന്ധിപ്പിച്ച അനുബന്ധ പഠന പാതകൾ
- **Binder:** സൗജന്യമാണ്, പക്ഷേ പരിമിതമായ റിസോഴ്‌സുകളും ചില നെറ്റ്‌വർക്ക് നിയന്ത്രണങ്ങളും
- **വിദ്യാർത്ഥികൾക്കായി Azure:** ഫ്രീ ക്രെഡിറ്റുകൾ ലഭ്യമാണ്
- **Microsoft Learn:** ബഹുഭാഷാ പഠനപാതകളും ബന്ധിപ്പിച്ചിട്ടുള്ളത്
- **Binder:** സൗജന്യമാണ്, പക്ഷേ ചില സർക്കാർ നിയന്ത്രണങ്ങളിലും പരിധികളിലും
### കോഡ് പ്രവർത്തന ഓപ്ഷനുകൾ
### കോഡ് എക്സിക്യൂഷൻ ഓപ്ഷനുകൾ
1. **ലോകൽ (ശപാർശ):** പൂർണ്ണ നിയന്ത്രണം, മികച്ച പ്രകടനം, GPU പിന്തുണ
2. **GitHub Codespaces:** ക്ലൗഡ് അടിസ്ഥാനമാക്കിയ VS Code, വേഗത്തിലുള്ള ആക്‌സസിനായി
3. **Binder:** ബ്രൗസർ അടിസ്ഥാനമാക്കിയ Jupyter, സൗജന്യമാണ് പക്ഷേ പരിമിതം
4. **Azure ML Notebooks:** GPU പിന്തുണയുള്ള എന്റർപ്രൈസ് ഓപ്ഷൻ
5. **Google Colab:** നോട്ട്‌ബുക്കുകൾ വ്യക്തിഗതമായി അപ്‌ലോഡ് ചെയ്യുക, സൗജന്യ GPU ലെയർ ലഭ്യമാണ്
1. **ലോകൽ (ശിപാർശ):** പൂർണ്ണ നിയന്ത്രണം, മികച്ച പ്രകടനം, GPU പിന്തുണ
2. **GitHub Codespaces:** ക്ലൗഡ് അടിസ്ഥാനമാക്കിയുള്ള VS കോഡ്, പെട്ടെന്ന് ആക്‌സസിനായി നല്ലത്
3. **Binder:** ബ്രൗസർ അടിസ്ഥാനമാക്കി Jupyter, സൗജന്യമാണ്, പക്ഷേ പരിമിതിയായ
4. **Azure ML നോട്ട്ബുക്കുകൾ:** GPU പിന്തുണയോടെ എന്റർപ്രൈസ് ഓപ്ഷൻ
5. **Google Colab:** നോട്ട്ബുക്കുകൾ ഒറ്റത്തവണ അപ്‌ലോഡ് ചെയ്യുക, സൗജന്യ GPU തരം ലഭ്യമാണ്
### നോട്ട്ബുക്കുകളുമായി ജോലി ചെയ്യൽ
### നോട്ട്ബുക്കുകളുമായി ജോലി ചെയ്യൽ
- പഠനത്തിനായി സെൽ-ബൈ-സെൽ പ്രവർത്തിപ്പിക്കാൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു
- പല നോട്ട്ബുക്കുകളും ആദ്യ പ്രവർത്തനത്തിൽ ഡാറ്റാസെറ്റുകൾ ഡൗൺലോഡ് ചെയ്യു (സമയം എടുക്കാം)
- ചില മോഡലുകൾക്ക് യുക്തിസഹമായ ട്രെയിനിംഗിനായി GPU ആവശ്യമാണ്
- പഠനത്തിനായി സെല്ലിനടിയായി നോട്ട്ബുക്കുകൾ പ്രവർത്തിക്കാൻ രൂപകല്‍പ്പന ചെയ്‌തതാണ്
- ആദ്യ പ്രവർത്തനത്തിൽ പല നോട്ട്ബുക്കുകളും ഡാറ്റാസെറ്റുകൾ ഡൗൺലോഡ് ചെയ്യുന്നു (സമയം വേണ്ടാം)
- ചില മോഡലുകൾ യുക്തിപരമായ പരിശീലന സമയത്തിനായി GPU ആവശ്യമാണ്
- കംപ്യൂട്ട് ആവശ്യകത കുറയ്ക്കാൻ മുൻകൂട്ടി പരിശീലിച്ച മോഡലുകൾ ഉപയോഗിക്കുന്നു
### പ്രകടന പരിഗണനകൾ
- പിന്നീട് വരുന്ന കമ്പ്യൂട്ടർ വിഷൻ പാഠങ്ങൾ (CNNs, GANs) GPU-യിൽ നിന്ന് പ്രയോജനം നേടും
- NLP ട്രാൻസ്ഫോർമർ പാഠങ്ങൾ വലിയ RAM ആവശ്യപ്പെടാം
- തുടക്കം മുതൽ പരിശീലനം വിദ്യാഭ്യാസപരമാണ്, പക്ഷേ സമയം കൂടുതലെടുക്കും
- ട്രാൻസ്ഫർ ലേണിംഗ് ഉദാഹരണങ്ങൾ പരിശീലന സമയം കുറയ്ക്കുന്ന
- പിന്നീട് കമ്പ്യൂട്ടർ വിഷ്വൻ പാഠങ്ങൾ (CNN, GAN) GPU ഉപയോ​ഗിച്ച് മെച്ചപ്പെടുത്തുന്നു
- NLP ട്രാൻസ്ഫോർമർ പാഠങ്ങൾക്ക് വലിയ RAM ആവശ്യമാകും
- അടിസ്ഥാനത്തിൽ നിന്ന് പരിശീലനം സമയം കൂടുതലാണ്, എന്നാൽ പഠനപരമായതാണ്
- ട്രാൻസ്ഫർ പഠന ഉദാഹരണങ്ങൾ പരിശീലന സമയം കുറഞ്ഞ
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസൂയാ**:
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരപരമായ ഉറവിടമായി കണക്കാക്കണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.
**അറിയിപ്പ്**:
ഈ രേഖ AI പരിഭാഷാ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. ഞങ്ങൾ കൃത്യതയ്ക്കായി ശ്രമിക്കുന്നുവെങ്കിലും, ഓട്ടോമേറ്റഡ് പരിഭാഷകളിൽ പിഴവുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ട്. അതിന്റെ സ്വാഭാവിക ഭാഷയിലുള്ള അസൽ രേഖയാണ് പ്രാമാണികമായ ഉറവിടമായി പരിഗണിക്കേണ്ടത്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ച് ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾ അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കായി ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -0,0 +1,29 @@
# AI-For-Beginners-ലേക്ക് സംഭാവന നൽകൽ
AI-For-Beginners-ലേക്ക് സംഭാവന നൽകുന്നതിൽ നിങ്ങളുടെ താൽപര്യത്തിന് നന്ദി! വിവർത്തനങ്ങൾ, പാഠം ശരിയാക്കലുകൾ, ഫോർമാറ്റ് ശരിയാക്കലുകൾ എന്നിവ ഞങ്ങൾ സ്വാഗതം ചെയ്യുന്നു.
## Microsoft സംഭാവനാ ലൈസൻസ് കരാർ (CLA)
ഈ പ്രോജക്റ്റ് സംഭാവനകളും നിർദേശങ്ങളും സ്വാഗതം ചെയ്യുന്നു. ഭൂരിഭാഗം സംഭാവനകൾക്ക് Contributor License Agreement (CLA)ക്ക് സമ്മതിക്കേണ്ടതാണ്, നിങ്ങൾക്ക് നിങ്ങളുടെ സംഭാവന ഉപയോഗിക്കാൻ അവകാശം ഉള്ളതായി പ്രകടിപ്പിക്കുന്നതിന്. വിശദമായി അറിയാൻ, സന്ദർശിക്കുക [https://cla.microsoft.com](https://cla.microsoft.com).
നിങ്ങൾ ഒരു പുൾ റിക്വസ്റ്റ് സമർപ്പിക്കുമ്പോൾ, CLA-ബോട്ട് സ്വയം തീരുമാനിക്കും നിങ്ങൾക്ക് CLA നൽകേണ്ടതുണ്ടോയെന്ന്, അതിനനുസരിച്ച് പുൾ റിക്വസ്റ്റ് ലേബൽ, കമന്റ് എന്നിവ ചേർക്കും. ബോട്ടിന്റെ നിർദ്ദേശങ്ങൾ പാലിക്കുക. ഇത് ഒരു തവണ മാത്രമേ ഞങ്ങളുടെ CLA ഉപയോഗിക്കുന്ന എല്ലാ റിപ്പോസിറ്ററികളിലും ചെയ്യേണ്ടതുള്ളു.
## സംഭാവന നൽകുന്ന വിധം
### 1. ടൈപ്പോസ് / കോഡ് പിഴവുകൾ തിരുത്തൽ
Jupyter നോട്ട്‌ബുക്ക് അല്ലെങ്കിൽ പാഠം മാർക്ക്‌ഡൗൺ ഫയലിൽ നിങ്ങൾക്ക് ഒരു ടൈപ്പോ അല്ലെങ്കിൽ പിഴവ് കണ്ടെത്തിയാൽ:
1. റിപ്പോസിറ്ററി ഫോർക്കുചെയ്യുക.
2. ടൈപ്പോ അല്ലെങ്കിൽ തകർന്ന ലിങ്ക് തിരുത്തുക.
3. തിരുത്തലിന്റെ വ്യക്തമാക്കിയ വിവരണവുമായി ഒരു പുൾ റിക്വസ്റ്റ് സമർപ്പിക്കുക.
### 2. വിവർത്തനങ്ങൾ സമർപ്പിക്കൽ
പാഠങ്ങളുടെ മറ്റു ഭാഷകളിലെ വിവർത്തനങ്ങൾ ഞങ്ങൾ സ്വാഗതം ചെയ്യുന്നു! ഇതിനായി `translations/` ഡയറക്ടറിയിൽ നിലവിലുള്ള ഫോൾഡർ പേരുകൾ ഉപയോഗിച്ച്(ഉദാഹരണത്തിന് `translations/es/`, `translations/pt-BR/`, `translations/zh-CN/`) വിവർത്തനങ്ങൾ ഇടുക.
കൂടുതൽ വിവരങ്ങൾക്ക്, കാണുക [etc/CONTRIBUTING.md](etc/CONTRIBUTING.md).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അറിയിപ്പ്**:
ഈ രേഖ AI പരിഭാഷാ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. ഞങ്ങൾ കൃത്യതയ്ക്കായി ശ്രമിക്കുന്നുവെങ്കിലും, ഓട്ടോമേറ്റഡ് പരിഭാഷകളിൽ പിഴവുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ട്. അതിന്റെ സ്വാഭാവിക ഭാഷയിലുള്ള അസൽ രേഖയാണ് പ്രാമാണികമായ ഉറവിടമായി പരിഗണിക്കേണ്ടത്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ച് ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾ അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കായി ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,31 +1,31 @@
# തുടക്കക്കാർക്ക് അനുയോജ്യമായ AI ഉദാഹരണങ്ങൾ
# തുടക്കക്കാരോട് സൗഹൃദം പുലർത്തുന്ന AI ഉദാഹരണങ്ങൾ
സ്വാഗതം! ഈ ഡയറക്ടറിയിൽ AI-യും മെഷീൻ ലേണിംഗും ആരംഭിക്കാൻ സഹായിക്കുന്ന ലളിതവും സ്വതന്ത്രവുമായ ഉദാഹരണങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഓരോ ഉദാഹരണവും വിശദമായ കമന്റുകളും ഘട്ടം ഘട്ടമായ വിശദീകരണങ്ങളും ഉൾപ്പെടുത്തി തുടക്കക്കാർക്ക് സൗകര്യമാക്കിയാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
സ്വാഗതം! ഈ ഡയറക്ടറിയിൽ AIയും മെഷീൻ ലേണിങ്ങും ആരംഭിക്കാൻ സഹായിക്കുന്ന ലളിതവും സ്വതന്ത്രവുമായ ഉദാഹരണങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഓരോ ഉദാഹരണവും വിശദമായി കമന്റുകളും ഘട്ടം ഘട്ടമായ വ്യാഖ്യാനങ്ങളോടെയും തുടക്കക്കാരെ സഹായിക്കുന്ന വിധത്തിലാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
## 📚 ഉദാഹരണങ്ങളുടെ അവലോകനം
| ഉദാഹരണം | വിവരണം | ബുദ്ധിമുട്ട് | മുൻപരിചയം |
| ഉദാഹരണം | വിശദീകരണം | പ്രാരംഭത | ആധാരങ്ങൾ |
|---------|-------------|------------|---------------|
| [Hello AI World](../../../examples/01-hello-ai-world.py) | നിങ്ങളുടെ ആദ്യ AI പ്രോഗ്രാം - ലളിതമായ പാറ്റേൺ തിരിച്ചറിയൽ | ⭐ തുടക്കക്കാർ | Python അടിസ്ഥാനങ്ങൾ |
| [Simple Neural Network](../../../examples/02-simple-neural-network.py) | ഒരു ന്യൂറൽ നെറ്റ്‌വർക്ക് തൊട്ടുതുടങ്ങി നിർമ്മിക്കുക | ⭐⭐ തുടക്കക്കാർ+ | Python, അടിസ്ഥാന ഗണിതം |
| [Image Classifier](./03-image-classifier.ipynb) | മുൻകൂട്ടി പരിശീലിപ്പിച്ച മോഡലിലൂടെ ചിത്രങ്ങൾ വർഗ്ഗീകരിക്കുക | ⭐⭐ തുടക്കക്കാർ+ | Python, numpy |
| [Text Sentiment](../../../examples/04-text-sentiment.py) | ടെക്സ്റ്റിന്റെ മനോഭാവം (സ pozitive/negative) വിശകലനം ചെയ്യുക | ⭐⭐ തുടക്കക്കാർ+ | Python |
| [Hello AI World](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/01-hello-ai-world.py) | നിങ്ങളുടെ ആദ്യ AI പ്രോഗ്രാം - ലളിതമായ പാറ്റേൺ തിരിച്ചറിവ് | ⭐ തുടക്കക്കാരൻ | പൈതൺ അടിസ്ഥാനങ്ങൾ |
| [Simple Neural Network](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/02-simple-neural-network.py) | തലച്ചോറ് ശൃംഖല തുടങ്ങുക | ⭐⭐ തുടക്കക്കാരൻ+ | പൈതൺ, അടിസ്ഥാന ഗണിതം |
| [Image Classifier](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/03-image-classifier.ipynb) | പ്രീ-ട്രെയ്നു ചെയ്ത മോഡലിൽ ചിത്രങ്ങൾ ജനിതീകരിക്കുക | ⭐⭐ തുടക്കക്കാരൻ+ | പൈതൺ, നംപൈ |
| [Text Sentiment](https://github.com/microsoft/AI-For-Beginners/blob/main/examples/04-text-sentiment.py) | വാചകത്തിന്റെ സംഭവം വിശകലനം ചെയ്യുക (സഖാത്മക/നിഷേധാത്മക) | ⭐⭐ തുടക്കക്കാരൻ+ | പൈതൺ |
## 🚀 ആരംഭിക്കുന്നത്
## 🚀 തുടക്കം കുറിക്കുക
### മുൻപരിചയം
### ആവശ്യമായ മുൻപരിചയം
Python ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക (3.8 അല്ലെങ്കിൽ അതിനുമുകളിൽ ശുപാർശ ചെയ്യുന്നു). ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക:
നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് പൈതൺ ഇൻസ്റ്റാൾ ചെയ്തുള്ള വിവരം ഉറപ്പാക്കുക (3.8 അല്ലെങ്കിൽ അതിനുമുമ്പ് ശുപാർശ ചെയ്യപ്പെടുന്നു). ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക:
```bash
# പൈത്തൺ സ്ക്രിപ്റ്റുകൾക്കായി
# പൈൺ സ്ക്രിപ്റ്റുകൾക്കായി
pip install numpy
# ജൂപ്പിറ്റർ നോട്ട്‌ബുക്കുകൾക്കായി (ഇമേജ് ക്ലാസിഫയർ)
pip install jupyter numpy pillow tensorflow
```
അല്ലെങ്കിൽ പ്രധാന പാഠ്യപദ്ധതിയിൽ നിന്നുള്ള conda പരിസ്ഥിതി ഉപയോഗിക്കുക:
അല്ലെങ്കിൽ പ്രധാന കോഴ്‌സിൽ നിന്നും കോണ്ടാ എൻവയോൺമെന്റ് ഉപയോഗിക്കുക:
```bash
conda env create --name ai4beg --file ../environment.yml
@ -34,54 +34,54 @@ conda activate ai4beg
### ഉദാഹരണങ്ങൾ പ്രവർത്തിപ്പിക്കൽ
**Python സ്ക്രിപ്റ്റുകൾക്കായി (.py ഫയലുകൾ):**
**പൈതൺ സ്‌ക്രിപ്റ്റുകൾക്കായി (.py ഫയലുകൾ):**
```bash
python 01-hello-ai-world.py
```
**Jupyter നോട്ട്‌ബുക്കുകൾക്കായി (.ipynb ഫയലുകൾ):**
**ജൂപ്പിറ്റർ നോട്ട്ബുക്കുകൾക്കായി (.ipynb ഫയലുകൾ):**
```bash
jupyter notebook 03-image-classifier.ipynb
```
## 📖 പഠന മാർഗ്ഗ
## 📖 പഠന മാർഗ്ഗരേഖ
ഉദാഹരണങ്ങൾ ക്രമത്തിൽ പിന്തുടരാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു:
നിർദേശിച്ചിരിക്കുന്ന ക്രമത്തിലും മാർഗ്ഗരേഖയിൽ ഉൾപ്പെടുന്ന ഉദാഹരണങ്ങൾ അനുഗമിക്കുക:
1. **"Hello AI World" -ൽ തുടങ്ങുക** - പാറ്റേൺ തിരിച്ചറിയലിന്റെ അടിസ്ഥാനങ്ങൾ പഠിക്കുക
2. **ഒരു ലളിതമായ ന്യൂറൽ നെറ്റ്‌വർക്ക് നിർമ്മിക്കുക** - ന്യൂറൽ നെറ്റ്‌വർക്ക് എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്ന് മനസിലാക്കുക
3. **ചിത്ര വർഗ്ഗീകരണം പരീക്ഷിക്കുക** - യഥാർത്ഥ ചിത്രങ്ങളുമായി AI പ്രവർത്തനം കാണുക
4. **ടെക്സ്റ്റ് മനോഭാവം വിശകലനം ചെയ്യുക** - സ്വാഭാവിക ഭാഷാ പ്രോസസ്സിംഗ് അന്വേഷിക്കുക
1. **"Hello AI World"-ൽ തുടങ്ങുക** - പാറ്റേൺ തിരിച്ചറിിന്റെ അടിസ്ഥാനങ്ങൾ പഠിക്കുക
2. **ലളിതമായ തലച്ചോറ് ശൃംഖല നിർമ്മിക്കുക** - Neural Network എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് മനസിലാക്കുക
3. **ചിത്ര ജനിതീകരണം ശ്രമിക്കുക** - യാഥാർത്ഥ്യ ചിത്രങ്ങളോടെ AI കാണുക
4. **വാചകത്തിന്റെ സംഭവം വിശകലനം ചെയ്യുക** - സ്വാഭാവിക ഭാഷാ പ്രോസസിംഗിനെ ആഴത്തിൽ പഠിക്കുക
## 💡 തുടക്കക്കാർക്ക് ഉപദേശങ്ങൾ
## 💡 തുടക്കക്കാരുടെ ശ്രദ്ധയ്ക്ക്
- **കോഡ് കമന്റുകൾ ശ്രദ്ധാപൂർവ്വം വായിക്കുക** - ഓരോ വരിയും എന്ത് ചെയ്യുന്നു എന്ന് വിശദീകരിക്കുന്നു
- **പരീക്ഷണം നടത്തുക!** - മൂല്യങ്ങൾ മാറ്റി നോക്കൂ, എന്ത് സംഭവിക്കുന്നു എന്ന് കാണൂ
- **എല്ലാം മനസിലാക്കാൻ പാടില്ലെന്ന് ഭയപ്പെടേണ്ട** - പഠനം സമയം എടുക്കും
- **ചോദ്യങ്ങൾ ചോദിക്കുക** - [ചർച്ചാ ബോർഡ്](https://github.com/microsoft/AI-For-Beginners/discussions) ഉപയോഗിക്കുക
- **കോഡിലെ കുറിപ്പുകൾ ശ്രദ്ധാപൂർവ്വം വായിക്കുക** - ഓരോ വരിയും എന്ത് ചെയ്യുന്നതാണെന്നും അവർ വിശദീകരിക്കുന്നു
- **പ്രയോജനപ്പെടുത്തുക!** - മൂല്യങ്ങൾ മാറ്റി നോക്കുക, എന്ത് സംഭവിക്കുന്നുവെന്ന് കാണുക
- **എല്ലാം ഉടനടി മനസിലാക്കാൻ പാടില്ല** - പഠിക്കാൻ സമയം ആവശ്യമാണ്
- **ചോദ്യങ്ങൾ ചോദിക്കുക** - [Discussion board](https://github.com/microsoft/AI-For-Beginners/discussions) ഉപയോഗിക്കുക
## 🔗 അടുത്ത ഘട്ടങ്ങ
## 🔗 അടുത്ത പടിക
ഈ ഉദാഹരണങ്ങൾ പൂർത്തിയാക്കിയ ശേഷം, പൂർണ്ണ പാഠ്യപദ്ധതി പരിശോധിക്കുക:
ഈ ഉദാഹരണങ്ങൾ പൂർത്തിയാക്കിയതിനു ശേഷം, സമഗ്ര കോഴ്‌സ് പരിശോധിക്കുക:
- [AI-യിലേക്ക് പരിചയം](../lessons/1-Intro/README.md)
- [ന്യൂറൽ നെറ്റ്‌വർക്ക്](../lessons/3-NeuralNetworks/README.md)
- [കമ്പ്യൂട്ടർ വിൻ](../lessons/4-ComputerVision/README.md)
- [സ്വാഭാവിക ഭാഷാ പ്രോസസ്സിംഗ്](../lessons/5-NLP/README.md)
- [തലച്ചോറ് ശൃംഖലകൾ](../lessons/3-NeuralNetworks/README.md)
- [കമ്പ്യൂട്ടർ വിൻ](../lessons/4-ComputerVision/README.md)
- [സ്വാഭാവിക ഭാഷാ പ്രോസസിംഗ്](../lessons/5-NLP/README.md)
## 🤝 സംഭാവനക
## 🤝 സംഭാവന ചെയ്യു
ഈ ഉദാഹരണങ്ങൾ സഹായകമാണെന്ന് തോന്നുന്നുവോ? അവ മെച്ചപ്പെടുത്താൻ സഹായിക്കുക:
ഈ ഉദാഹരണങ്ങൾ നിങ്ങൾക്ക് സഹായകരമായോയെന്ന് തോന്നുന്നുവെങ്കിൽ, അവ മെച്ചപ്പെടുത്താൻ സഹായിക്കൂ:
- പ്രശ്നങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക അല്ലെങ്കിൽ മെച്ചപ്പെടുത്തലുകൾ നിർദ്ദേശിക്കുക
- തുടക്കക്കാർക്കായി കൂടുതൽ ഉദാഹരണങ്ങൾ ചേർക്കുക
- ഡോക്യുമെന്റേഷൻ, കമന്റുകൾ മെച്ചപ്പെടുത്തുക
- തുടക്കക്കാർക്ക കൂടുതൽ ഉദാഹരണങ്ങൾ ചേർക്കുക
- ഡോക്യുമെന്റേഷൻ, കുറിപ്പുകൾ മെച്ചപ്പെടുത്തുക
---
*ഓർക്കുക: ഓരോ വിദഗ്ധനും ഒരിക്കൽ തുടക്കക്കാരനായിരുന്നു. സന്തോഷകരമായ പഠനം! 🎓*
*ഓർക്കുക: mỗi വിദഗ്ധനും ഒരുപാട് മുമ്പായി തുടക്കക്കാരനായിരുന്നു. സന്തോഷകരമായ പഠനം! 🎓*
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസൂയാ**:
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരമുള്ള ഉറവിടമായി കണക്കാക്കണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.
**അറിയിപ്പ്**:
ഈ രേഖ AI പരിഭാഷാ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. ഞങ്ങൾ കൃത്യതയ്ക്കായി ശ്രമിക്കുന്നുവെങ്കിലും, ഓട്ടോമേറ്റഡ് പരിഭാഷകളിൽ പിഴവുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ട്. അതിന്റെ സ്വാഭാവിക ഭാഷയിലുള്ള അസൽ രേഖയാണ് പ്രാമാണികമായ ഉറവിടമായി പരിഗണിക്കേണ്ടത്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ച് ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾ അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കായി ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -1,12 +1,12 @@
# കോഡ് എങ്ങനെ പ്രവർത്തിപ്പിക്കാം
# കോഡ് എങ്ങനെ ഓടിക്കാം
പാഠ്യപദ്ധതിയിൽ നിങ്ങൾ പ്രവർത്തിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന അനേകം പ്രവർത്തനക്ഷമമായ ഉദാഹരണങ്ങളും ലാബുകളും ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഇത് ചെയ്യാൻ, ഈ പാഠ്യപദ്ധതിയുടെ ഭാഗമായിട്ടുള്ള Jupyter നോട്ട്ബുക്കുകളിൽ Python കോഡ് പ്രവർത്തിപ്പിക്കുന്ന හැකിയുള്ളത് ആവശ്യമാണ്. കോഡ് പ്രവർത്തിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് വിവിധ വഴികൾ ലഭ്യമാണ്:
സെഷനിൽ നിരവധി പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന ഉദാഹരണങ്ങളും ലബ്ബുകളും ഉൾപ്പെടുന്നു, നിങ്ങൾ ഓടിക്കാൻ ആഗ്രഹിക്കുന്നതുമുണ്ട്. ഇതു ചെയ്യാൻ, ഈ സെഷന്റെ ഭാഗമാണ് എന്ന് നൽകിയിരിക്കുന്ന Jupyter നോട്ട്‌ബുക്കുകളിൽ Python കോഡ് 실행 ചെയ്യാൻ കഴിവ് വേണം. കോഡ് ഓടിക്കാൻ നിങ്ങൾക്കുള്ള ചില ഓപ്ഷനുകൾ:
## നിങ്ങളുടെ കംപ്യൂട്ടറിൽ പ്രാദേശികമായി പ്രവർത്തിപ്പിക്കുക
## നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഫലപ്രദമായി ഓടിക്കുക
നിങ്ങളുടെ കംപ്യൂട്ടറിൽ കോഡ് പ്രവർത്തിപ്പിക്കാനായി Python ഇൻസ്റ്റലേഷൻ ആവശ്യമുണ്ട്. ഒരു ശുപാർശയാണ് **[miniconda](https://conda.io/en/latest/miniconda.html)** ഇൻസ്റ്റാൾ ചെയ്യുക - ഇത് ഭാരം കുറഞ്ഞ ഒരു ഇൻസ്റ്റലേഷൻ ആണ്, വിവിധ Python **വെർച്വൽ എൻവയോൺമെന്റുകൾ**ക്കായി `conda` പാക്കേജ് മാനേജറെ പിന്തുണയ്ക്കുന്നു.
നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ കോഡ് ഫലപ്രദമായി ഓടിക്കാൻ, Python ഇൻസ്റ്റളേഷൻ ആവശ്യമാണ്. ഒരു ശിപാർശ **[miniconda](https://conda.io/en/latest/miniconda.html)** ഇൻസ്റ്റാൾ ചെയ്യുകയാണ് - ഇത് വ്യത്യസ്ത Python **വിചിത്ര ചുറ്റുപാടുകൾ**ക്കായി `conda` പാക്കേജ് മാനേജർ പിന്തുണയ്ക്കുന്ന തണുത്ത ഇൻസ്റ്റലേഷൻ ആണു.
miniconda ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, റെപ്പോസിറ്ററി ക്ലോൺ ചെയ്ത് ഈ കോഴ്‌സിനു ഉപയോഗിക്കുന്ന ഒരു വെർച്വൽ എൻവയോൺമെന്റ് സൃഷ്ടിക്കുക:
miniconda ഇൻസ്റ്റാൾ ചെയ്ത பிறகு, റിപോസിറ്ററി ക്ലോൺ ചെയ്ത് ഈ കോഴ്സിനു വേണ്ടി ഉപയോഗിക്കാനായി ഒരു വിചിത്ര ചുറ്റുപാട് സൃഷ്ടിക്കുക:
```bash
git clone http://github.com/microsoft/ai-for-beginners
@ -15,58 +15,57 @@ conda env create --name ai4beg --file .devcontainer/environment.yml
conda activate ai4beg
```
### Python എക്സ്റ്റൻഷനോടെ Visual Studio Code ഉപയോഗിക്കൽ
### Python Extension ഉപയോഗിച്ച് Visual Studio Code ഉപയോഗിക്കൽ
പാഠ്യപദ്ധതിയിൽ ഉൾപ്പെടുന്ന ഫയലുകൾ [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste) ൽ [Python എക്സ്റ്റൻഷൻ](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste) ഉപയോഗിച്ച് തുറന്നപ്പോൾ മികച്ച അനുഭവം നൽകുന്നു.
സെഷൻ ഏറ്റവും നല്ല രീതിയിൽ ഉപയോഗിക്കാനാണ് [Visual Studio Code](http://code.visualstudio.com/?WT.mc_id=academic-77998-cacaste) ൽ [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python&WT.mc_id=academic-77998-cacaste) ഉപയോഗിച്ച് തുറക്കുന്നത്.
> **കുറിപ്പ്**: ഇൻസ്റ്റാൾ ചെയ്ത് റെപ്പോസിറ്ററി VS Code-ൽ തുറന്നാൽ, Python എക്സ്റ്റൻഷനുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ സ്വയ നിർദേശിക്കും. മുകളിൽ പറഞ്ഞതുപോലെ miniconda യും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതാണ്.
> **കുറിപ്പ്**: ഒരിക്കൽ നിങ്ങൾ ക്ലോൺ ചെയ്ത് VS Code ൽ ഡയറക്ടറി തുറന്നാൽ, അത് Python എക്സ്റ്റൻഷനുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ സ്വയമേവ നിർദ്ദേശിക്കും. മുകളിൽ വിവരിച്ചതുപോലെ miniconda ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതും വരും.
> **കുറിപ്പ്**: VS Code നിങ്ങൾക്ക് കോണ്ടൈനറിൽ റെപ്പോസിറ്ററി വീണ്ടും തുറക്കാൻ നിർദേശം നൽകുന്നത് നിങ്ങൾ തള്ളുക, ലൊക്കൽ Python ഇൻസ്റ്റലേഷൻ ഉപയോഗിക്കുന്നതിനായി.
> **കുറിപ്പ്**: VS Code റിപോസിറ്ററി ഒരു കണ്ടെയ്‌നറിൽ വീണ്ടും തുറക്കാൻ നിർദ്ദേശിച്ചാൽ, ലോക്കൽ Python ഇൻസ്റ്റളേഷൻ ഉപയോഗിക്കാൻ നിങ്ങൾ അത് നിരാകരിക്കണം.
### ബ്രൗസറിൽ Jupyter ഉപയോഗിക്കൽ
നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ബ്രൗസർ വഴി Jupyter പരിതസ്ഥിതിയും ഉപയോഗിക്കാൻ കഴിയും. ക്ലാസിക്കൽ Jupyter-നും JupyterHub-ക്കും ഓട്ടോ-കമ്പ്ലീഷനും, കോഡ് ഹൈലൈറ്റിംഗും ഉൾപ്പെടെയുള്ള സൗകര്യപ്രദമായ വികസന പരിതസ്ഥിതി ലഭ്യമാണ്.
നിങ്ങളുടെ സ്വന്തം കമ്പ്യൂട്ടറിലെ ബ്രൗസറിൽ Jupyter പരിതസ്ഥിതി ഉപയോഗിക്കാം. ജനംപ്രിയ Jupyter ഉം JupyterHub ഉം ഓട്ടോ-കമ്പ്ലിഷൻ, കോഡ് ഹൈലൈറ്റിംഗ് തുടങ്ങിയ സുഖകരമായ വികസന പരിതസ്ഥിതി സൃഷ്ടിക്കുന്നു.
പ്രാദേശികമായി Jupyter ആരംഭിക്കാൻ, കോഴ്‌സ് ഡയറക്ടറിയിൽ പോയി പ്രവർത്തിപ്പിക്കുക:
Jupyter ലോക്കലായി ആരംഭിക്കാൻ, കോഴ്സ് ഡയറക്ടറിയിലേക്ക് പോകൂ, തുടർന്ന് 실행ചെയ്യൂ:
```bash
jupyter notebook
```
അല്ലെങ്കിൽ
അല്ലെങ്കിൽ
```bash
jupyterhub
```
എന്റെ `.ipynb` ഫയലുകളിലേതെങ്കിലും തിരഞ്ഞെടുക്കാവുന്നതായി തുറന്ന് ജോലി ആരംഭിക്കാം.
നിങ്ങൾ പിന്നീട് `.ipynb` ഫയലുകളിൽ എവിടെയെങ്കിലും പോകാം, അവ തുറക്കാം, പ്രവർത്തനം തുടങ്ങിയ്ക്കാം.
### കോണ്ടൈനറിൽ പ്രവർത്തിപ്പിക്കൽ
### കണ്ടെയ്‌നറിൽ ഓടിക്കൽ
Python ഇൻസ്റ്റലേഷൻക്കു بدലെ ഒരു മാർഗം, കോഡ് കോണ്ടൈനറിൽ പ്രവർത്തിപ്പിക്കുകയാണ്. ഞങ്ങളുടെ റെപ്പോസിറ്ററിയിൽ `.devcontainer` എന്ന പ്രത്യേക ഫോൾഡർ കോണ്ടെയ്‌നർ നിർമ്മിക്കാൻ നിർദ്ദേശങ്ങൾ നൽകിയിട്ടുള്ളതിനാൽ, VS Code കോഡ് വീണ്ടും ഒരു കോണ്ടെയ്‌നറിൽ തുറക്കാനുള്ള അവസരം നൽകുന്നു. ഇത് Docker ഇൻസ്റ്റലേഷൻ ആവശ്യമാണ്, കൂടാതെ കൂടുതൽ സങ്കീർണമാണ്, അതുകൊണ്ടു് ഇത് കൂടുതൽ പരിചയസമ്പന്നരായ ഉപയോക്താക്കൾക്കായി ശിപാർശ ചെയ്യുന്നു.
Python ഇൻസ്റ്റാളേഷൻക്കുമൊപ്പം ഒരു വൈകര്യം കോഡ് കണ്ടെയ്‌നറിൽ ഓടിക്കുക ആകുന്നു. നമ്മുടെ റിപോസിറ്ററിയിൽ ഈ റീപോയ്ക്ക് കണ്ടെയ്‌നർ നിർമ്മിക്കാൻ നിശ്ചയിക്കുന്ന പ്രത്യേക `.devcontainer` ഫോൾഡർ ഉണ്ട്, അതിനാൽ VS Code കോഡ് വീണ്ടും കണ്ടെയ്‌നറിൽ തുറക്കാനുള്ള അവസരം നൽകുന്നു. ഇത് Docker ഇൻസ്റ്റലേഷൻ ആവശ്യമാണ്, കൂടാതെ കൂടുതൽ സങ്കീർണ്ണമാണ്, അതിനാൽ അനുഭവസമ്പന്നർക്ക് നിർദ്ദേശിക്കുന്നു.
## ക്ലൗഡിൽ പ്രവർത്തിപ്പിക്കൽ
## ക്ലൗഡിൽ ഓടിക്കൽ
Python പ്രാദേശികമായി ഇൻസ്റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കാത്തവർക്കും, ഏതെങ്കിലും ക്ലൗഡ് വിഭവങ്ങൾ ലഭ്യമെങ്കിൽ - കോഡ് ക്ലൗഡിൽ പ്രവർത്തിപ്പിക്കാനുള്ള നല്ല മാർഗ്ഗമാണ്. നിങ്ങൾക്ക് ഇത് നടത്താൻ ചില മാർഗ്ഗങ്ങൾ ഉണ്ട്:
Python ലോക്കലായി ഇൻസ്റ്റാൾ ചെയ്യാൻ താൽപര്യമില്ലെങ്കിൽ, ചില ക്ലൗഡ് റിസോഴ്‌സുകൾക്കുള്ള ആക്സസ് ഉള്ള ആളുകൾക്ക്, കോഡ് ക്ലൗഡിൽ ഓടിക്കുക നല്ല ഒരു ഓപ്ഷൻ ആകും. ഇതു ചെയ്യാനുള്ള ചില വഴികൾ:
* **[GitHub Codespaces](https://github.com/features/codespaces)** ഉപയോഗിക്കൽ - GitHub-ൽ നിങ്ങൾക്കായി സൃഷ്ടിച്ച വെർച്വൽ എൻവയോൺമെന്റ്, VS Code ബ്രൗസർ ഇന്റർഫേസ് വഴി ലഭ്യമാണ്. Codespaces ലഭ്യമെങ്കിൽ, റെപ്പോസിറ്ററിയിൽ **Code** ബട്ടൺ ക്ലിക്കുചെയ്ത് കോഡ്സ്പേസ് ആരംഭിപ്പിച്ച് വൈകാതെ പ്രവർത്തനക്ഷമമാക്കാം.
* **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)** ഉപയോഗിക്കുക. [Binder](https://mybinder.org) GitHub-ൽ ചില കോഡ് പരീക്ഷിക്കാൻ സൗജന്യ ക്ലൗഡ് കംപ്യൂട്ടിംഗ് വിഭവങ്ങൾ നൽകുന്നു. ഫ്രണ്ട് പേജിൽ റെപ്പോസിറ്ററി Binder-ൽ തുറക്കാനുള്ള ബട്ടൺ ഉണ്ട് - അത് നിങ്ങളെ നേരിട്ട് ബൈണ്ടർ സൈറ്റിലേക്കു കൊണ്ടുപോകും, അടിസ്ഥാനം കോണ്ടെയ്‌നർ നിർമിച്ച് Jupyter വെബ് ഇന്റർഫേസ് സജ്ജമാക്കും.
* GitHub ൽ നിങ്ങക്കായി സൃഷ്ടിച്ച ഒരു വിചിത്ര പരിതസ്ഥിതിയായ **[GitHub Codespaces](https://github.com/features/codespaces)** ഉപയോഗിക്കുക, ഇത് VS Code ബ്രൗസർ ഇന്റർഫെയ്സിലൂടെ ആക്സസ്സ് ചെയ്യാം. Codespaces ആക്സസ് ഉണ്ടെങ്കിൽ, റീപോയിലെ **Code** ബട്ടൺ ക്ലിക്ക് ചെയ്ത് കോഡ്സ്പേസ് ആരംഭിച്ച് ഉടൻ പ്രവർത്തനം തുടങ്ങാം.
* **[Binder](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)** ഉപയോഗിക്കുക. [Binder](https://mybinder.org) പബ്ലിക് GitHub കോഡ് പരീക്ഷിക്കാൻ സൗജന്യ ക്ലൗഡ് കമ്പ്യൂട്ടിംഗ് റിസോഴ്‌സുകൾ നൽകുന്നു. മുൻപത്തെ പേജിൽ റിപോസിറ്ററി Binder ൽ തുറക്കാൻ ഒരു ബട്ടൺ ഉണ്ട് - ഇത് ഉടൻ ബൈൻഡർ സൈറ്റിലേക്ക് നിങ്ങളെ കൊണ്ടുപോകും, ആ കീഴ്‌ത്തുള്ള കണ്ടെയ്‌നർ നിർമ്മിച്ച് Jupyter വെബ് ഇന്റർഫെയ്സ് ആരംഭിക്കും.
> **കുറിപ്പ്**: തെറ്റായി ഉപയോഗം തടയാൻ Binder ചില വെബ് വിഭവങ്ങളിൽ പ്രവേശനം തടയുന്നു. ഇത് പൊതുജന ഇന്റർനെറ്റിൽ നിന്ന് മോഡലുകളും/ഡാറ്റാസെറ്റുകളും കൊണ്ടുവരുന്ന ചില കോഡുകൾ പ്രവർത്തിക്കാൻ തടസ്സം സൃഷ്ടിക്കാം. നിങ്ങൾക്ക് പ്രവർത്തന മാർഗ്ഗങ്ങൾ കണ്ടെത്തേണ്ടിവരും. കൂടാതെ, Binder നൽകുന്ന കംപ്യൂട്ടിംഗ് വിഭവങ്ങൾ അടിസ്ഥാനപരമാണെന്ന്, പ്രത്യേകിച്ച് ബുദ്ധിമുട്ടുള്ള, തുടർന്ന് വരുന്ന പാഠങ്ങളിൽ പരിശീലനം നാൾപ്പലമാണ്.
> **കുറിപ്പ്**: ഉപയോഗമാറ്റം തടയാൻ, Binder ചില വെബ് റിസോഴ്‌സുകളിലേക്ക് ആക്സസ് തടഞ്ഞിട്ടുണ്ട്. ഇത് ചില കോഡുകൾ പ്രവർത്തിക്കാൻ തടസ്സം വരുത്താം, പ്രത്യേകിച്ച് മോഡലുകളും/അഥവാ ഡാറ്റാസെറ്റുകളും പബ്ലിക് ഇന്റർനെറ്റിൽ നിന്നുമെത്തുന്ന കോഡുകൾക്ക്. നിങ്ങൾക്ക് ചില ഉപായങ്ങൾ കണ്ടെത്തേണ്ടി വരും. കൂടാതെ Binder നൽകുന്ന കംപ്യൂട്ടിങ്ങ് ശേഷി വളരെ അടിസ്ഥാനപരമാണ്, അതുകൊണ്ട് പരിശീലനം മന്ദഗതിയാകും, പ്രത്യേകിച്ചും പിന്നീട് കൂടുതൽ സങ്കീർണ്ണ പാഠങ്ങളിലായി.
## GPU ഉപയോഗിച്ച് ക്ലൗഡിൽ പ്രവർത്തിപ്പിക്കൽ
##GPU യുമായി ക്ലൗഡിൽ ഓടിക്കൽ
പാഠ്യപദ്ധതിയിലെ ചില പിന്നീട് വരുന്ന പാഠങ്ങൾ GPU പിന്തുണയാൽ വളരെ പ്രയോജനവും. മോഡൽ പരിശീലനം, ഉദാഹരണത്തിന്, അല്ലാത്തപ്പോൾ വേദനകരമായി സ്ലോ ആയേക്കാം. ചില മാർഗ്ഗങ്ങൾ നിങ്ങൾ പിന്തുടരാം, പ്രത്യേകിച്ച് നിങ്ങളുടെ സ്ഥാപനത്തിലൂടെയോ അല്ലെങ്കിൽ [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) വഴിയോ ക്ലൗഡിൽ പ്രവേശനമുണ്ടെങ്കിൽ:
സെഷനിലെ ചില பின்னണി പാഠങ്ങൾ GPU പിന്തുണ പ്രധാനമാണ്. ഉദാഹരണത്തിന്, മോഡൽ പരിശീലനം അത്രമേൽ മന്ദഗതിയുള്ളതാണ് പുരാതന രീതികളിൽ. നിങ്ങൾക്ക് ക്ലൗഡ് ആക്സസ് ഉണ്ടെങ്കിൽ, പ്രത്യേകിച്ച് [Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-77998-cacaste) വഴി അല്ലെങ്കിൽ നിങ്ങളുടെ സ്ഥാപനത്തിലൂടെ, നിങ്ങൾക്ക് പാലിക്കാവുന്ന ചില ഓപ്ഷനുകൾ:
* [Data Science Virtual Machine](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) സൃഷ്ടിച്ച് Jupyter വഴിയേ അതുമായി കണക്ട് ചെയ്യുക. പിന്നീട് Maschine-ല്‌ റെപ്പോ ക്ലോൺ ചെയ്ത് പഠനം ആരംഭിക്കാം. NC-സീരിസ് VMs GPU പിന്തുണ നൽകുന്നു.
* [Data Science Virtual Machine](https://docs.microsoft.com/learn/modules/intro-to-azure-data-science-virtual-machine/?WT.mc_id=academic-77998-cacaste) സൃഷ്ടിച്ച് Jupyter വഴി അതിൽ കോൺക്റ്റ് ചെയ്യുക. തുടർന്ന് റിപോയെ മെഷീനിൽ ക്ലോൺ ചെയ്ത് പഠനം തുടങ്ങാം. NC-സീരീസ് VM-കൾ GPU പിന്തുണയുള്ളവയാണ്.
> **കുറിപ്പ്**: ചില സബ്‌സ്‌ക്രിപ്ഷനുകൾ, Azure for Students ഉൾപ്പെടെ, GPU പിന്തുണ ആദ്യസ്ഥിതിയിൽ നൽകിയിട്ടില്ല. GPU കോറുകൾ അധികമായി ആവശ്യപ്പെടേണ്ടി വരാം ടെക്നിക്കൽ സഹായ അഭ്യർത്ഥനയിലൂടെ.
> **കുറിപ്പ്**: Azure for Students അടക്കമുള്ള ചില സബ്സ്ക്രിപ്ഷനുകൾ ബോക്സിന്റെ പുറത്തുനിന്നു GPU പിന്തുണ നൽകാറില്ല. കൂടത്ത GPU കോറുകൾ ആവശ്യമായാൽ ടെക്നിക്കൽ പിന്തുണ അഭ്യർത്ഥിക്കേണ്ടി വരും.
* [Azure Machine Learning Workspace](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) സൃഷ്ടിച്ച് അവിടെ നോട്ട്ബുക്ക് ഫീച്ചർ ഉപയോഗിക്കുക. [ഈ വീഡിയോ](https://azure-for-academics.github.io/quickstart/azureml-papers/) Azure ML നോട്ട്ബുക്കിൽ റെപ്പോസിറ്ററി ക്ലോൺ ചെയ്ത് ഉപയോഗിക്കുന്ന വിധം കാണിക്കുന്നു.
* [Azure Machine Learning Workspace](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-cacaste) സൃഷ്ടിച്ച് പിന്നീട് അവിടെ നോട്ട്ബുക്ക് ഫീച്ചർ ഉപയോഗിക്കുക. [ഈ വീഡിയോ](https://azure-for-academics.github.io/quickstart/azureml-papers/) കാണിക്കുന്നത് Azure ML നോട്ട്‌ബുക്ക്-ൽ രിപോസിറ്ററി ക്ലോൺ ചെയ്ത് ഇതുപോലെ പ്രവർത്തിപ്പിക്കുന്ന വിധമാണ്.
Google Colab-യും ഉപയോഗിക്കാം, അത് ചില സൗജന്യ GPU പിന്തുണയോടെ വരുന്നു, Jupyter നോട്ട്ബുക്കുകൾ അഥവാ ഒന്ന് ഒന്ന് അപ്ലോഡ് ചെയ്തു പ്രവർത്തിപ്പിക്കാം.
Google Colab-ഉം നിങ്ങൾക്ക് ഉപയോഗിക്കാം, അത് സൗജന്യ GPU പിന്തുണ നൽകുന്നു, Jupyter നോട്ട്‌ബുക്കുകൾ അവിടെ അപ്‌ലോഡ് ചെയ്ത് ഒരൊറ്റത്തെയും പ്രവർത്തിപ്പിക്കാം.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസാദ്ധ്യതാ പ്രസ്താവനം**:
ഈ രേഖ [Co-op Translator](https://github.com/Azure/co-op-translator) എന്ന എഐ വിവർത്തന സേവനം ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തമാണ്. ഞങ്ങൾ ശരിശുദ്ധതയിൽ ശ്രമിച്ചിരുന്നെങ്കിലും, സ്വയമേവ ഉള്ള വിവർത്തനങ്ങളിൽ പിഴവുകൾ അല്ലെങ്കിൽ അശുദ്ധികളുണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ ഭാഷയിൽ ഉള്ള മൗലിക രേഖ പ്രാധാന്യവാനായ ഉറവിടമായി മാറ്റി കണ്ടിരിക്കണം. പ്രധാന വിവരങ്ങൾക്ക് പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം നിർദ്ദേശിക്കുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുള്ള എല്ലാ തെറ്റുകൾക്കും അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദിത്തം വഹിക്കുന്നില്ല.
**അറിയിപ്പ്**:
ഈ രേഖ AI പരിഭാഷാ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. ഞങ്ങൾ കൃത്യതയ്ക്കായി ശ്രമിക്കുന്നുവെങ്കിലും, ഓട്ടോമേറ്റഡ് പരിഭാഷകളിൽ പിഴവുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ട്. അതിന്റെ സ്വാഭാവിക ഭാഷയിലുള്ള അസൽ രേഖയാണ് പ്രാമാണികമായ ഉറവിടമായി പരിഗണിക്കേണ്ടത്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ച് ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾ അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കായി ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

File diff suppressed because one or more lines are too long

View File

@ -1,51 +1,51 @@
# സ്വാഭാവിക ഭാഷ പ്രോസസ്സിംഗ
# സ്വാഭാവിക ഭാഷ പ്രോസസ്സ് (Natural Language Processing)
![NLP ടാസ്കുകളുടെ സംഗ്രഹം ഒരു ഡ്രോയിങ്ങിൽ](../../../../translated_images/ml/ai-nlp.b22dcb8ca4707cea.webp)
![NLP ടാസ്കുകളുടെ ഒരു ചുരുക്കം ഡൂഡിൽ](../../../../translated_images/ml/ai-nlp.b22dcb8ca4707cea.webp)
ഈ ഭാഗത്തിൽ, നാം **സ്വാഭാവിക ഭാഷ പ്രോസസ്സിംഗ് (NLP)** സംബന്ധിച്ച ടാസ്കുകൾ കൈകാര്യം ചെയ്യാൻ ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കും. കമ്പ്യൂട്ടറുകൾക്ക് പരിഹരിക്കാൻ കഴിയേണ്ട നിരവധി NLP പ്രശ്നങ്ങൾ ഉണ്ട്:
വിഭാഗത്തിൽ, നാം **സ്വാഭാവിക ഭാഷ പ്രോസസ്സിംഗ് (NLP)** קש്ചങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിന് ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നത് ശ്രദ്ധിക്കാം. കമ്പ്യൂട്ടറുകളെ നമുക്ക് പല NLP പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ ആഗ്രഹിക്കുന്നു:
* **ടെക്സ്റ്റ് ക്ലാസിഫിക്കേഷൻ** എന്നത് ടെക്സ്റ്റ് സീകവൻസുകളുമായി ബന്ധപ്പെട്ട ഒരു സാധാരണ ക്ലാസിഫിക്കേഷൻ പ്രശ്നമാണ്. ഉദാഹരണങ്ങൾ: ഇമെയിൽ സന്ദേശങ്ങളെ സ്പാം അല്ലെങ്കിൽ നോൺ-സ്പാം ആയി വേർതിരിക്കുക, അല്ലെങ്കിൽ ലേഖനങ്ങളെ സ്പോർട്, ബിസിനസ്, രാഷ്ട്രീയ തുടങ്ങിയ വിഭാഗങ്ങളായി വർഗ്ഗീകരിക്കുക. ചാറ്റ് ബോട്ടുകൾ വികസിപ്പിക്കുമ്പോൾ, ഉപയോക്താവ് പറയാൻ ഉദ്ദേശിച്ച കാര്യം മനസിലാക്കേണ്ടതുണ്ടാകാം — ഈ സാഹചര്യത്തിൽ നാം **ഇന്റന്റ് ക്ലാസിഫിക്കേഷൻ** കൈകാര്യം ചെയ്യുകയാണ്. പലപ്പോഴും, ഇന്റന്റ് ക്ലാസിഫിക്കേഷനിൽ നിരവധി വിഭാഗങ്ങൾ കൈകാര്യം ചെയ്യേണ്ടി വരും.
* **സെന്റിമെന്റ് അനാലിസിസ്** ഒരു സാധാരണ റെഗ്രഷൻ പ്രശ്നമാണ്, ഇവിടെ ഒരു വാചകത്തിന്റെ അർത്ഥം എത്രത്തോളം പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ആണെന്ന് സൂചിപ്പിക്കുന്ന ഒരു സംഖ്യ (സെന്റിമെന്റ്) നമുക്ക് നൽകേണ്ടതുണ്ട്. സെന്റിമെന്റ് അനാലിസിസിന്റെ കൂടുതൽ പുരോഗമിച്ച രൂപമാണ് **അസ്പെക്ട്-ബേസ്ഡ് സെന്റിമെന്റ് അനാലിസിസ്** (ABSA), ഇവിടെ മുഴുവൻ വാചകത്തിന് പകരം അതിന്റെ വ്യത്യസ്ത ഭാഗങ്ങൾ (അസ്പെക്ടുകൾ) അനുസരിച്ച് സെന്റിമെന്റ് നൽകുന്നു, ഉദാ: *ഈ റസ്റ്റോറന്റിൽ, എനിക്ക് ഭക്ഷണം ഇഷ്ടമായി, പക്ഷേ അന്തരീക്ഷം ഭയങ്കരമായിരുന്നു*.
* **നെയിംഡ് എന്റിറ്റി റെക്കഗ്നിഷൻ** (NER) എന്നത് ടെക്സ്റ്റിൽ നിന്നുള്ള പ്രത്യേക എന്റിറ്റികൾ കണ്ടെത്താനുള്ള പ്രശ്നമാണ്. ഉദാഹരണത്തിന്, *ഞാൻ നാളെ പാരിസിലേക്ക് പറക്കണം* എന്ന വാചകത്തിൽ *നാളെ* എന്നത് DATE (തീയതി) എന്നെ സൂചിപ്പിക്കുന്നു, *പാരിസ്* LOCATION (സ്ഥലം) ആണ്.
* **കീവേഡ് എക്സ്ട്രാക്ഷൻ** NER പോലെയാണ്, പക്ഷേ നമുക്ക് പ്രത്യേക എന്റിറ്റി തരം മുൻപരിചയം ഇല്ലാതെ വാചകത്തിന്റെ അർത്ഥത്തിന് പ്രധാനപ്പെട്ട വാക്കുകൾ സ്വയം കണ്ടെത്തേണ്ടതുണ്ട്.
* **ടെക്സ്റ്റ് ക്ലസ്റ്ററിംഗ്**മാനമായ വാചകങ്ങൾ കൂട്ടമായി ഗ്രൂപ്പ് ചെയ്യാൻ ഉപകാരപ്പെടും, ഉദാഹരണത്തിന്, ടെക്നിക്കൽ സപ്പോർട്ട് സംഭാഷണങ്ങളിൽ സമാനമായ അഭ്യർത്ഥനകൾ.
* **ക്വഷൻ ആൻസറിംഗ്** ഒരു മോഡലിന് ഒരു പ്രത്യേക ചോദ്യത്തിന് ഉത്തരം നൽകാനുള്ള കഴിവാണ്. മോഡൽ ഒരു ടെക്സ്റ്റ് പാസേജ്, ഒരു ചോദ്യവും ഇൻപുട്ടായി സ്വീകരിച്ച്, ചോദ്യത്തിന് ഉത്തരം ഉള്ള ടെക്സ്റ്റിലെ സ്ഥലം കണ്ടെത്തണം (അല്ലെങ്കിൽ ചിലപ്പോൾ ഉത്തരം സ്വയം സൃഷ്ടിക്കണം).
* **ടെക്സ്റ്റ് ജനറേഷൻ** ഒരു മോഡലിന് പുതിയ ടെക്സ്റ്റ് സൃഷ്ടിക്കാനുള്ള കഴിവാണ്. ഇത് ഒരു ക്ലാസിഫിക്കേഷൻ ടാസ്കായി കണക്കാക്കാം, ഒരു *ടെക്സ്റ്റ് പ്രോംപ്റ്റ്* അടിസ്ഥാനമാക്കി അടുത്ത അക്ഷര/വാക്ക് പ്രവചിക്കുന്നത്. GPT-3 പോലുള്ള പുരോഗമിച്ച ടെക്സ്റ്റ് ജനറേഷൻ മോഡലുകൾ [prompt programming](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) അല്ലെങ്കിൽ [prompt engineering](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29) എന്ന സാങ്കേതിക വിദ്യ ഉപയോഗിച്ച് മറ്റ് NLP ടാസ്കുകളും പരിഹരിക്കാൻ കഴിയും.
* **ടെക്സ്റ്റ് സംഗ്രഹണം** കമ്പ്യൂട്ടർ ഒരു നീണ്ട ടെക്സ്റ്റ് "വായിച്ച്" അതിന്റെ പ്രധാനപ്പെട്ട ഭാഗങ്ങൾ കുറച്ച് വാചകങ്ങളായി സംഗ്രഹിക്കുന്ന സാങ്കേതിക വിദ്യയാണ്.
* **മെഷീൻ ട്രാൻസ്ലേഷൻ** ഒരു ഭാഷയിൽ ടെക്സ്റ്റ് മനസിലാക്കലും മറ്റൊരു ഭാഷയിൽ ടെക്സ്റ്റ് സൃഷ്ടിക്കലും ചേർന്ന ഒരു പ്രക്രിയയായി കാണാം.
* **ടെക്സ്റ്റ് ക്ലാസിഫിക്കേഷൻ** എന്നത് ടെക്സ്റ്റ് സീകവൻസുകളുമായി ബന്ധപ്പെട്ട ഒരു സാധാരണ ക്ലാസിഫിക്കേഷൻ പ്രശ്നമാണ്. ഉദാഹരണങ്ങൾക്ക് ഇമെയിൽ സന്ദേശങ്ങളെ സ്പാം vs. നോ-സ്പാം ആയി തിരിച്ചറിയുക, അല്ലെങ്കിൽ ലേഖനങ്ങളെ സ്പോർട്ട്, ബിസിനസ്, പോളിറ്റിക്സ് തുടങ്ങിയ വിഭാഗങ്ങളാക്കി സെഗ്മെന്റ് ചെയ്യുക. ചാറ്റ്ബോട്ടുകൾ വികസിപ്പിക്കുമ്പോൾ, ഒരു ഉപയോക്താവ് എന്ത് പറയാൻ ആഗ്രഹിച്ചിട്ടുണ്ടെന്ന് മനസിലാക്കേണ്ടതായി വരും -- ഈ സാഹചര്യത്തിൽ നാം **ഇന്റന്റ് ക്ലാസിഫിക്കേഷൻ** കൈകാര്യം ചെയ്യുന്നു. പലപ്പോഴും, ഇന്റന്റ് ക്ലാസിഫിക്കേഷനിൽ നമുക്ക് നിരവധി വിഭാഗങ്ങൾ കൈകാര്യം ചെയ്യേണ്ടി വരും.
* **സെന്റിമെന്റ് അനാലിസിസ്** എന്നത് ഒരു സാധാരണ റിഗ്രഷൻ പ്രശ്നമാണ്, ഇവിടെ നമുക്ക് ഒരു സംവേദനത്തിന് എന്താണത്രെ പോസിറ്റീവ് / നെഗറ്റീവ് അർത്ഥമുള്ളെന്ന് സൂചിപ്പിക്കുന്ന സംഖ്യ (സെന്റിമെന്റ്) നൽകിയിരിക്കുന്നു. സെന്റിമെന്റ് അനാലിസിസിന്റെ കൂടുതൽ പുരോഗമനമായ പതിപ്പ് **അസ്പെക്റ്റ്-ബേസ്ഡ് സെന്റിമെന്റ് അനാലിസിസ്** (ABSA) ആണ്, ഇവിടെ നമുക്ക് സെന്റിമെന്റ് മുഴുവൻ വാക്യത്തിനല്ല, വാക്യത്തിലെ വ്യത്യസ്ത ഭാഗങ്ങൾക്കു (അസ്പെക്റ്റുകൾ) തന്നെ നൽകേണ്ടിവരുന്നു, ഉദാ. *ഈ റെസ്റ്റോറന്റിൽ എനിക്ക് ഭക്ഷണം ഇഷ്ടപ്പെട്ടെങ്കിലും അന്തരീക്ഷം ഭയങ്കരമായിരുന്നു*.
* **നെയിംഡ് എന്റിറ്റി റികഗ്നിഷൻ** (NER) എന്നത് ടെക്സ്റ്റിൽ നിന്നു ചില പ്രത്യേക എന്റിറ്റികൾ കണ്ടെത്തുക എന്ന പ്രശ്നമാണ്. ഉദാഹരണത്തിന്, *ഞാൻ നാളെ പാരിസിലേക്ക് പറക്കണം* എന്ന വാചകത്തിൽ *നാളെ* DATE-നെയാണ് സൂചിപ്പിക്കുന്നത്, കൂടാതെ *പാരിസ്* ഒരു LOCATION ആണ്.
* **കീവേഡ് എക്സ്ട്രാക്ഷൻ** NER-നെ പോലെയാണ്, എന്നാൽ നമുക്ക് നിർദ്ദിഷ്ട എന്റിറ്റി ടൈപ്പുകൾക്ക് പ്രീരക്ഷലക്ഷ്യമായി പരിശീലനം ലഭ്യമാക്കാതെ തന്നെ വാക്യത്തിന്റെ അർത്ഥത്തിന് പ്രധാനപ്പെട്ട വാക്കുകൾ സ്വയം തിരിച്ചെടുക്കേണ്ടിവരുന്നതാണ്.
* **ടെക്സ്റ്റ് ക്ലസ്റ്ററിംഗ്**ാധാരണയായി സമാനമായ വാക്യങ്ങളെ കൂട്ടത്തിൽ കൂട്ടാനായി ഉപയോഗിക്കുന്നു, ഉദാഹരണത്തിന് സാങ്കേതിക പിന്തുണ സംഭാഷണങ്ങളിൽ സമാനമായ അഭ്യർത്ഥനകൾ.
* **ചോദ്യം-ഉത്തരം** എന്ന് പറയുന്നത് ഒരു മോഡലിനു ഒരു പ്രത്യേക ചോദ്യത്തിന് ഉത്തരം നൽകാനുള്ള കഴിവ് ആണ്. മോഡൽ ഒരു ടെക്സ്റ്റ് ഭാഗവും ഒരു ചോദ്യവും ഇൻപുട്ട് ആയി സ്വീകരിച്ച്, ചോദ്യത്തിനു ഉത്തരം ഉണ്ടാകുന്ന ടെക്സ്റ്റിൽ സ്ഥലം കണ്ടെത്തണം (അല്ലെങ്കിൽ ചിലപ്പോൾ ഉത്തരം തന്നെ സൃഷ്ടിക്കണം).
* **ടെക്സ്റ്റ് ജനറേഷൻ** എന്നത് ഒരു മോഡൽ പുതിയ ടെക്സ്റ്റ് സൃഷ്ടിക്കുന്ന കഴിവാണ്. ഇത് ഒരു ക്ലാസിഫിക്കേഷൻ ടാസ്കായി പരിഗണിക്കാം, എന്തെന്നാൽ ചില *ടെക്സ്റ്റ് പ്രോംപ്* അടിസ്ഥാനമാക്കി അടുത്ത അക്ഷരത്തെ/വാക്കിനെ പ്രവചിക്കുന്നത്. ജിപിടി-3 പോലുള്ള ആധുനിക ടെക്സ്റ്റ് ജനറേഷൻ മോഡലുകൾ [prompt programming](https://towardsdatascience.com/software-3-0-how-prompting-will-change-the-rules-of-the-game-a982fbfe1e0) അല്ലെങ്കിൽ [prompt engineering](https://medium.com/swlh/openai-gpt-3-and-prompt-engineering-dcdc2c5fcd29) എന്ന സാങ്കേതികവിദ്യകൾ ഉപയോഗിച്ച് ക്ലാസിഫിക്കേഷൻ പോലുള്ള മറ്റു NLP ടാസ്കുകളും പരിഹരിക്കാൻ കഴിവുണ്ട്.
* **ടെക്സ്റ്റ് സംഗ്രഹീകരണം** എന്നത് കമ്പ്യൂട്ടർ ഒരു നീണ്ട് കടുത്ത ടെക്സ്റ്റ് "വായിച്ച്" അത് കുറച്ചുപേരെ വാക്യങ്ങളായി ചുരുക്കിക്കൊടുക്കുന്ന സാങ്കേതികവിദ്യയാണ്.
* **മെഷീൻ വിവർത്തനം** എന്ന് പറയുന്നത് ഒരു ഭാഷയിൽ ടെക്സ്റ്റ് മനസ്സിലാക്കലും മറ്റൊരു ഭാഷയിൽ ടെക്സ്റ്റ് സൃഷ്ടിക്കലും ചേരുന്ന പ്രശ്നമായി കാണാം.
ആദ്യകാലത്ത്, NLP ടാസ്കുകൾ പ്രധാനമായും വ്യാകരണങ്ങൾ പോലുള്ള പരമ്പരാഗത രീതികൾ ഉപയോഗിച്ച് പരിഹരിക്കപ്പെട്ടിരുന്നു. ഉദാഹരണത്തിന്, മെഷീൻ ട്രാൻസ്ലേഷനിൽ പാഴ്സറുകൾ ഉപയോഗിച്ച് പ്രാരംഭ വാചകം സിന്റാക്സ് ട്രീയിലേക്ക് മാറ്റി, പിന്നീട് വാചകത്തിന്റെ അർത്ഥം പ്രതിനിധീകരിക്കുന്ന ഉയർന്ന തലത്തിലുള്ള സെമാന്റിക് ഘടനകൾ കണ്ടെത്തി, ആ അർത്ഥവും ലക്ഷ്യഭാഷയുടെ വ്യാകരണവും അടിസ്ഥാനമാക്കി ഫലം സൃഷ്ടിച്ചിരുന്നു. ഇന്നത്തെ കാലത്ത്, പല NLP ടാസ്കുകളും ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിച്ച് കൂടുതൽ ഫലപ്രദമായി പരിഹരിക്കപ്പെടുന്നു.
ആദ്യ, അധികം NLP ടാസ്കുകൾ പരമ്പരാഗത രീതികളായ വ്യാകരണങ്ങൾ ഉപയോഗിച്ച് പരിഹരിച്ചിരുന്നു. ഉദാഹരണത്തിന്, മെഷീൻ വിവർത്തനത്തിൽ ആരംഭത്തെ വാക്യം സിന്റാക്സ് ട്രീയെ മാറ്റാൻ പാർസറുകൾ ഉപയോഗിച്ചു, തുടർന്ന് വാക്യത്തിന്റെ അർത്ഥം പ്രതിനിധാനം ചെയ്യാൻ ഉയർന്ന തലത്തിലുള്ളസെമാന്റിക് ഘടകങ്ങൾ എടുക്കപ്പെട്ടു, പിന്നീട് ഈ അർത്ഥവും ലക്ഷ്യഭാഷയുടെ വ്യാകരണവും അടിസ്ഥാനമാക്കി ഫലം സൃഷ്ടിച്ചു. ഇക്കാലത്ത്, പല NLP ടാസ്കുകളും ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിച്ച് കൂടുതൽ ഫലപ്രദമായി പരിഹരിക്കപ്പെടുന്നു.
> പല ക്ലാസിക്കൽ NLP രീതികളും [Natural Language Processing Toolkit (NLTK)](https://www.nltk.org) പൈതൺ ലൈബ്രറിയിൽ നടപ്പിലാക്കിയിട്ടുണ്ട്. വിവിധ NLP ടാസ്കുകൾ NLTK ഉപയോഗിച്ച് എങ്ങനെ പരിഹരിക്കാമെന്ന് വിശദീകരിക്കുന്ന മികച്ച [NLTK ബുക്ക്](https://www.nltk.org/book/) ഓൺലൈനിൽ ലഭ്യമാണ്.
> അനേകം ക്ലാസിക്കൽ NLP രീതികൾ [Natural Language Processing Toolkit (NLTK)](https://www.nltk.org) പൈത്തൺ ലൈബ്രറിയിൽ നടപ്പിലാക്കപ്പെട്ടിരിക്കുന്നു. വിവിധ NLP ടാസ്കുകൾ NLTK ഉപയോഗിച്ച് എങ്ങനെ പരിഹരിക്കാമെന്ന് പൂർണ്ണമായും വിശദീകരിക്കുന്ന [NLTK പുസ്തകം](https://www.nltk.org/book/) ഓൺലൈനിൽ ലഭ്യമാണ്.
നമ്മുടെ കോഴ്സിൽ, നാം പ്രധാനമായും NLP-ക്കായി ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കും, ആവശ്യമായിടത്ത് NLTK ഉപയോഗിക്കും.
നമ്മുടെ കോഴ്സിൽ, നാം പ്രധാനമായും NLP-ക്ക ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നതിൽ ശ്രദ്ധിക്കും, ആവശ്യമായിടത്ത് NLTK-യും ഉപയോഗിക്കും.
നാം ഇതിനകം ടാബുലർ ഡാറ്റയും ചിത്രങ്ങളു കൈകാര്യം ചെയ്യാൻ ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് പഠിച്ചിട്ടുണ്ട്. ആ ഡാറ്റാ തരം들과 ടെക്സ്റ്റ് തമ്മിലുള്ള പ്രധാന വ്യത്യാസം, ടെക്സ്റ്റ് ഒരു വ്യത്യസ്ത നീളമുള്ള സീക്വൻസാണ്, എന്നാൽ ചിത്രങ്ങളുടെ ഇൻപുട്ട് വലുപ്പം മുൻകൂട്ടി അറിയപ്പെടുന്നു. കോൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകൾ ഇൻപുട്ടിൽ നിന്നുള്ള പാറ്റേണുകൾ കണ്ടെത്താൻ കഴിയു, പക്ഷേ ടെക്സ്റ്റിലെ പാറ്റേണുകൾ കൂടുതൽ സങ്കീർണ്ണമാണ്. ഉദാ: നിഷേധം വിഷയം മുതൽ അകലെ പല വാക്കുകൾക്കായി വേർതിരിക്കപ്പെട്ടാലും (ഉദാ: *I do not like oranges* vs. *I do not like those big colorful tasty oranges*), അത് ഒരേ പാറ്റേണായി വ്യാഖ്യാനിക്കണം. അതിനാൽ, ഭാഷ കൈകാര്യം ചെയ്യാൻ നാം പുതിയ ന്യൂറൽ നെറ്റ്‌വർക്ക് തരംകൾ, ഉദാ: *റികറന്റ് നെറ്റ്‌വർക്കുകൾ* (RNN)യും *ട്രാൻസ്ഫോർമറുകളും* പരിചയപ്പെടുത്തേണ്ടതുണ്ട്.
നാം ഇതിനകം തന്നെ ടാബുലർ ഡാറ്റയും ചിത്രങ്ങളുമായുള്ള പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് പഠിച്ചിട്ടുണ്ട്. ആ ഡാറ്റാ തരംകാളും ടെക്സ്റ്റിന്റെ പ്രധാന വ്യത്യാസം അത് സൂചിപ്പിക്കുന്നത് ടെക്സ്റ്റ് വ്യത്യസ്ത നീളമുള്ള ശ്രേണി ആയിരിക്കുകയാണ്, ചിത്രങ്ങളിൽ മുൻകൂട്ടി ഇൻ‌പുട്ട് വലിപ്പം അറിയാവുന്നതാണ്. കോൺവല്യൂഷണൽ നെറ്റ്‌വർക്കുകൾ ഇൻപുട്ടിൽ നിന്നുള്ള പാറ്റേണുകൾ കണ്ടെത്താൻ കഴിയുന്നിട്ടും, ടെക്സ്റ്റിന്റെ പാറ്റേണുകൾ കൂടുതൽ സങ്കീർണ്ണമാണ്. ഉദാ., നിങ്ങൾക്ക് നിഷേധം സബ്ജക്റ്റിൽ നിന്ന് വേർതിരിച്ചിട്ടുണ്ടാകാവുന്നതും വിശാലമായി പല വാക്കുകളേക്കൂടി നീണ്ടു പോകുന്നതിനാലും (ഉദാ., *എനിക്ക് ഓറഞ്ചുകൾ ഇഷ്ടമല്ല*, vs. *എനിക്ക് ആ വലിയ, നിറം നിറഞ്ഞ, രുചികരമായ ഓറഞ്ചുകൾ ഇഷ്ടമല്ല*) അത് എങ്കിലും ഒന്നായി വ്യാഖ്യാനിക്കണം. അതിനാൽ, ഭാഷ കൈകാര്യം ചെയ്യാൻ നമുക്ക് പുതിയ ന്യൂറൽ നെറ്റ്‌വർക് തരം, ഉദാഹരണത്തിന് *റികറന്റ് നെറ്റ്‌വർക്കുകൾ* വരുത്തേണ്ടിവരും, കൂടാതെ *ട്രാൻസ്ഫോർമറുകൾ*.
## ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യുക
നിങ്ങൾ ഈ കോഴ്സ് റൺ ചെയ്യാൻ ലോക്കൽ പൈതൺ ഇൻസ്റ്റലേഷൻ ഉപയോഗിക്കുന്നുവെങ്കിൽ, താഴെ കാണുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് NLP-ക്കായി ആവശ്യമായ എല്ലാ ലൈബ്രറികളും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ടാകു:
നിങ്ങൾ ഈ കോഴ്സ് പ്രവർത്തിപ്പിക്കാൻ നിങ്ങളുടെ ലൊക്കൽ പൈത്തൺ ഇൻസ്റ്റലേഷൻ ഉപയോഗിക്കുന്നുവെങ്കിൽ, താഴെയുള്ള കമാൻഡുകൾ ഉപയോഗിച്ച് NLP-ക്ക് ആവശ്യമായ എല്ലാ ലൈബ്രറികളും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതാകാ:
**PyTorch-ക്കായി**
**പൈടോർച്ചിനായി**
```bash
pip install -r requirements-torch.txt
pip install -r requirements-pytorch.txt
```
**TensorFlow-ക്കായി**
**ടെൻസർഫ്ലോയ്ക്ക്**
```bash
pip install -r requirements-tf.txt
```
> TensorFlow ഉപയോഗിച്ച് NLP പരീക്ഷിക്കാൻ [Microsoft Learn](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-77998-cacaste) സന്ദർശിക്കാം
> [Microsoft Learn](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-77998-cacaste)ൽ ടെൻസർഫ്ലോ ഉപയോഗിച്ച് NLP പരീക്ഷിക്കാം
## GPU മുന്നറിയിപ്പ്
ഈ ഭാഗത്തിൽ, ചില ഉദാഹരണങ്ങളിൽ നാം വളരെ വലിയ മോഡലുകൾ പരിശീലിപ്പിക്കും.
* **GPU-സഹായമുള്ള കമ്പ്യൂട്ടർ ഉപയോഗിക്കുക**: വലിയ മോഡലുകളുമായി ജോലി ചെയ്യുമ്പോൾ കാത്തിരിപ്പു കുറയ്ക്കാൻ GPU-സഹായമുള്ള കമ്പ്യൂട്ടറിൽ നിങ്ങളുടെ നോട്ട്ബുക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നത് ഉചിതമാണ്.
* **GPU മെമ്മറി പരിമിതികൾ**: വലിയ മോഡലുകൾ പരിശീലിപ്പിക്കുമ്പോൾ GPU മെമ്മറി തീരാൻ സാധ്യതയുണ്ട്.
* **GPU മെമ്മറി ഉപയോഗം**: പരിശീലന സമയത്ത് GPU മെമ്മറി ഉപയോഗം മിനിബാച്ച് വലുപ്പം പോലുള്ള പല ഘടകങ്ങളിൽ ആശ്രയിച്ചിരിക്കും.
* **മിനിബാച്ച് വലുപ്പം കുറയ്ക്കുക**: GPU മെമ്മറി പ്രശ്നങ്ങൾ നേരിടുമ്പോൾ, കോഡിൽ മിനിബാച്ച് വലുപ്പം കുറയ്ക്കുന്നത് പരിഹാരമായി പരിഗണിക്കാം.
* **TensorFlow GPU മെമ്മറി റിലീസ്**: പഴയ TensorFlow പതിപ്പുകൾ ഒരേ പൈതൺ കർണലിൽ പല മോഡലുകളും പരിശീലിപ്പിക്കുമ്പോൾ GPU മെമ്മറി ശരിയായി റിലീസ് ചെയ്യാതെ പോകാം. GPU മെമ്മറി ഉപയോഗം കാര്യക്ഷമമായി നിയന്ത്രിക്കാൻ TensorFlow-നെ ആവശ്യത്തിന് മാത്രമേ GPU മെമ്മറി അനുവദിക്കൂവാൻ ക്രമീകരിക്കാം.
* **കോഡ് ഉൾപ്പെടുത്തൽ**: TensorFlow GPU മെമ്മറി ആവശ്യത്തിന് മാത്രമേ വർദ്ധിപ്പിക്കൂവാൻ താഴെ കാണുന്ന കോഡ് നിങ്ങളുടെ നോട്ട്‌ബുക്കുകളിൽ ഉൾപ്പെടുത്തുക:
വിഭാഗത്തിൽ ചില ഉദാഹരണങ്ങളിൽ നാം വളരെ വലിയ മോഡലുകൾ പരിശീലിപ്പിക്കും.
* **GPU-സംയോജിത കമ്പ്യൂട്ടർ ഉപയോഗിക്കുക**: വലിയ മോഡലുകളോടൊപ്പം പ്രവർത്തിക്കുമ്പോൾ കാത്തിരിപ്പ് സമയം കുറയ്ക്കാൻ GPU-സംയോജിത കമ്പ്യൂട്ടറിൽ നിങ്ങളുടെ നോട്ട്ബുക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നത് ശുപാർശ ചെയ്യപ്പെടുന്നു.
* **GPU ഓർമ്മാ പരിമിതികൾ**: വലിയ മോഡലുകൾ പരിശീലിപ്പിക്കുമ്പോൾ GPU ഓർമ്മ കാണാൻ കഴിയുന്ന പ്രശ്നങ്ങൾ ഉണ്ടാകാം.
* **GPU ഓർമ്മ ഉപയോഗം**: പരിശീലന സമയത്ത് ഉപയോഗിക്കുന്ന GPU ഓർമ്മയുടെ അളവ് മിനിബാച്ച് വലിപ്പം പോലുള്ള നിരവധി ഘടകങ്ങളിൽ ആശ്രയിച്ചിരിക്കുന്നു.
* **മിനിബാച്ച് വലിപ്പം കുറഞ്ഞു**: GPU ഓർമ്മ പ്രശ്നങ്ങൾ അനുഭവപ്പെട്ടാൽ, നിങ്ങളുടെ കോഡിൽ മിനിബാച്ച് വലിപ്പം കുറയ്ക്കുക.
* **ടെൻസർഫ്ലോ GPU ഓർമ്മ റിലീസ്**: പഴയ പതിപ്പുകളുടെ ടെൻസർഫ്ലോ പൈത്തൺ കർണലിൽ ഒരേ സമയത്ത് നിരവധി മോഡലുകൾ പരിശീലിപ്പിക്കുമ്പോൾ GPU ഓർമ്മ ശരിയായി വിടുന്നില്ല. GPU ഓർമ്മ ഉപയോഗം കാര്യക്ഷമമായി നിയന്ത്രിക്കാൻ, ആവശ്യപ്പെടുമ്പോൾ മാത്രമേ GPU ഓർമ്മ അലോക്കേറ്റ് ചെയ്യുന്നതായി ടെൻസർഫ്ലോ ക്രമീകരിക്കാം.
* **കോഡ് ഉൾക്കൊള്ളിക്കൽ**: ടെൻസർഫ്ലോ GPU ഓർമ്മ അലോക്കേഷൻ വെറും ആവശ്യത്തിനു മാത്രമേ വർദ്ധിപ്പിക്കൂ എന്ന് ക്രമീകരിക്കുന്നതിന്, നിങ്ങളുടെ നോട്ട്ബുക്കുകളിൽ താഴെയുള്ള കോഡ് ഉൾപ്പെടുത്തുക:
```python
physical_devices = tf.config.list_physical_devices('GPU')
@ -53,21 +53,21 @@ if len(physical_devices)>0:
tf.config.experimental.set_memory_growth(physical_devices[0], True)
```
ക്ലാസിക്കൽ മെഷീൻ ലേണിംഗ് ദൃഷ്ടികോണത്തിൽ നിന്ന് NLP പഠിക്കാൻ താൽപര്യമുണ്ടെങ്കിൽ, [ഈ പാഠമാല](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP) സന്ദർശിക്കുക
ക്ലാസിക്കൽ ML വീക്ഷണത്തിൽ നിന്നുള്ള NLP പഠിക്കാൻ ആഗ്രഹിക്കുന്നവർക്ക് [ഇവിടെ ചില പാഠങ്ങൾ](https://github.com/microsoft/ML-For-Beginners/tree/main/6-NLP) സന്ദർശിക്കുക
## ഈ ഭാഗത്തിൽ
ഈ ഭാഗത്തിൽ നാം പഠിക്കേണ്ടത്:
## ഈ വിഭാഗത്തിൽ
വിഭാഗത്തിൽ നാം പഠിക്കാനിരിക്കുന്നത്:
* [ടെക്സ്റ്റ് ടെൻസറുകളായി പ്രതിനിധീകരിക്കൽ](13-TextRep/README.md)
* [വാക്ക് എംബെഡ്ഡിംഗുകൾ](14-Emdeddings/README.md)
* [ടെക്സ്റ്റ് ടെൻസറുകളായി പ്രതിപാദിക്കൽ](13-TextRep/README.md)
* [വാക്ക് എംബെഡ്ഡിംഗ്സ്](14-Emdeddings/README.md)
* [ഭാഷാ മോഡലിംഗ്](15-LanguageModeling/README.md)
* [റികറന്റ് ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ](16-RNN/README.md)
* [റികറന്റ് ന്യൂറൽ നെറ്റ്വർക്‌സ്](16-RNN/README.md)
* [ജനറേറ്റീവ് നെറ്റ്‌വർക്കുകൾ](17-GenerativeNetworks/README.md)
* [ട്രാൻസ്ഫോർമറുകൾ](18-Transformers/README.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസൂയാ**:
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖ അധികാരപരമായ ഉറവിടമായി കണക്കാക്കണം. നിർണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.
**അറിയിപ്പ്**:
ഈ രേഖ AI പരിഭാഷാ സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. ഞങ്ങൾ കൃത്യതയ്ക്കായി ശ്രമിക്കുന്നുവെങ്കിലും, ഓട്ടോമേറ്റഡ് പരിഭാഷകളിൽ പിഴവുകൾ അല്ലെങ്കിൽ തെറ്റായ വിവരങ്ങൾ ഉണ്ടാകാൻ സാധ്യതയുണ്ട്. അതിന്റെ സ്വാഭാവിക ഭാഷയിലുള്ള അസൽ രേഖയാണ് പ്രാമാണികമായ ഉറവിടമായി പരിഗണിക്കേണ്ടത്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ പരിഭാഷ ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ച് ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾ അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കായി ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->