317 lines
22 KiB
Markdown
317 lines
22 KiB
Markdown
# AGENTS.md
|
|
|
|
## திட்டத்தின் மேற்பார்வை
|
|
|
|
AI for Beginners என்பது செயற்கை நுண்ணறிவு அடிப்படைகளை உள்ளடக்கிய 12 வாரங்கள், 24 பாடங்கள் கொண்ட விரிவான பாடத்திட்டமாகும். இந்த கல்வி தொகுப்பு Jupyter Notebooks, வினாடி வினா மற்றும் நடைமுறை ஆய்வகங்களை பயன்படுத்தி செயல்பாடுகளை உள்ளடக்கியது. பாடத்திட்டம் கீழ்கண்டவற்றை உள்ளடக்கியது:
|
|
|
|
- சின்னவியல் AI: அறிவு பிரதிநிதித்துவம் மற்றும் நிபுணர் அமைப்புகள்
|
|
- நரம்பியல் வலைகள் மற்றும் டீப் லெர்னிங்: TensorFlow மற்றும் PyTorch
|
|
- கணினி பார்வை தொழில்நுட்பங்கள் மற்றும் கட்டமைப்புகள்
|
|
- இயற்கை மொழி செயலாக்கம் (NLP): Transformers மற்றும் BERT
|
|
- சிறப்பு தலைப்புகள்: ஜெனடிக் ஆல்காரிதங்கள், ரீன்போர்ஸ்மென்ட் லெர்னிங், மல்டி-ஏஜென்ட் அமைப்புகள்
|
|
- AI நெறிமுறைகள் மற்றும் பொறுப்பான AI கொள்கைகள்
|
|
|
|
**முக்கிய தொழில்நுட்பங்கள்:** Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (வினாடி வினா பயன்பாட்டிற்காக)
|
|
|
|
**கட்டமைப்பு:** Jupyter Notebooks மூலம் தலைப்புகளின் அடிப்படையில் ஒழுங்கமைக்கப்பட்ட கல்வி உள்ளடக்க தொகுப்பு, Vue.js அடிப்படையிலான வினாடி வினா பயன்பாட்டுடன் மற்றும் பல மொழி ஆதரவு.
|
|
|
|
## அமைப்பு கட்டளைகள்
|
|
|
|
### முதன்மை மேம்பாட்டு சூழல் (Python/Jupyter)
|
|
|
|
பாடத்திட்டம் Python மற்றும் Jupyter Notebooks உடன் இயக்கப்படுவதற்காக வடிவமைக்கப்பட்டுள்ளது. பரிந்துரைக்கப்படும் அணுகுமுறை miniconda பயன்படுத்துவது:
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://github.com/microsoft/ai-for-beginners
|
|
cd ai-for-beginners
|
|
|
|
# Create and activate conda environment
|
|
conda env create --name ai4beg --file environment.yml
|
|
conda activate ai4beg
|
|
|
|
# Start Jupyter Notebook
|
|
jupyter notebook
|
|
# OR
|
|
jupyter lab
|
|
```
|
|
|
|
### மாற்று: devcontainer பயன்படுத்துதல்
|
|
|
|
```bash
|
|
# Open in VS Code and select "Reopen in Container" when prompted
|
|
# The devcontainer will automatically set up the environment
|
|
```
|
|
|
|
### வினாடி வினா பயன்பாட்டின் அமைப்பு
|
|
|
|
வினாடி வினா பயன்பாடு `etc/quiz-app/` இல் தனி Vue.js பயன்பாடாக அமைக்கப்பட்டுள்ளது:
|
|
|
|
```bash
|
|
cd etc/quiz-app
|
|
npm install
|
|
npm run serve # Development server
|
|
npm run build # Production build
|
|
npm run lint # Lint and fix files
|
|
```
|
|
|
|
## மேம்பாட்டு பணியியல்
|
|
|
|
### Jupyter Notebooks உடன் வேலை செய்வது
|
|
|
|
1. **உள்ளூர் மேம்பாடு:**
|
|
- conda சூழலை செயல்படுத்தவும்: `conda activate ai4beg`
|
|
- Jupyter தொடங்கவும்: `jupyter notebook` அல்லது `jupyter lab`
|
|
- பாடம் கோப்புறைகளுக்கு செல்லவும் மற்றும் `.ipynb` கோப்புகளை திறக்கவும்
|
|
- பாடங்களை பின்பற்ற செல்களை இடைமறித்து இயக்கவும்
|
|
|
|
2. **VS Code Python நீட்டிப்புடன்:**
|
|
- VS Code இல் தொகுப்பை திறக்கவும்
|
|
- Python நீட்டிப்பை நிறுவவும்
|
|
- VS Code தானாகவே conda சூழலை கண்டறிந்து பயன்படுத்தும்
|
|
- `.ipynb` கோப்புகளை நேரடியாக VS Code இல் திறக்கவும்
|
|
|
|
3. **கிளவுட் மேம்பாடு:**
|
|
- **GitHub Codespaces:** "Code" → "Codespaces" → "Create codespace on main" கிளிக் செய்யவும்
|
|
- **Binder:** README இல் உள்ள Binder பதக்கத்தை பயன்படுத்தி உலாவியில் தொடங்கவும்
|
|
- குறிப்பு: Binder இல் வரையறுக்கப்பட்ட வளங்கள் மற்றும் சில வலை அணுகல் கட்டுப்பாடுகள் உள்ளன
|
|
|
|
### மேம்பட்ட பாடங்களுக்கு GPU ஆதரவு
|
|
|
|
கடைசி பாடங்கள் GPU வேகத்தைப் பெரிதும் பயன்படுதும்:
|
|
|
|
- **Azure Data Science VM:** GPU ஆதரவு கொண்ட NC-சீரிஸ் VMகளைப் பயன்படுத்தவும்
|
|
- **Azure Machine Learning:** GPU கணினி கொண்ட நோட்புக் அம்சங்களைப் பயன்படுத்தவும்
|
|
- **Google Colab:** தனித்தனியாக நோட்புக் கோப்புகளைப் பதிவேற்றவும் (இலவச GPU ஆதரவு உள்ளது)
|
|
|
|
### வினாடி வினா பயன்பாட்டின் மேம்பாடு
|
|
|
|
```bash
|
|
cd etc/quiz-app
|
|
npm run serve # Hot-reload development server at http://localhost:8080
|
|
```
|
|
|
|
## சோதனை வழிமுறைகள்
|
|
|
|
இது கல்வி உள்ளடக்கத்தை மையமாகக் கொண்ட தொகுப்பு, மென்பொருள் சோதனைக்கு அல்ல. பாரம்பரிய சோதனை தொகுப்பு இல்லை.
|
|
|
|
### சரிபார்ப்பு அணுகுமுறைகள்:
|
|
|
|
1. **Jupyter Notebooks:** செல்களை தொடர்ச்சியாக இயக்கி குறியீடு உதாரணங்கள் செயல்படுவதை உறுதிப்படுத்தவும்
|
|
2. **வினாடி வினா பயன்பாட்டின் சோதனை:** மேம்பாட்டு சேவையகத்தின் மூலம் கையேடு சோதனை
|
|
3. **மொழிபெயர்ப்பு சரிபார்ப்பு:** `translations/` கோப்புறையில் மொழிபெயர்க்கப்பட்ட உள்ளடக்கத்தைச் சரிபார்க்கவும்
|
|
4. **வினாடி வினா பயன்பாட்டின் லின்டிங்:** `npm run lint` ஐ `etc/quiz-app/` இல் இயக்கவும்
|
|
|
|
### குறியீடு உதாரணங்களை இயக்குதல்:
|
|
|
|
```bash
|
|
# Activate environment first
|
|
conda activate ai4beg
|
|
|
|
# Run Python scripts directly
|
|
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
|
|
|
|
# Or execute notebooks
|
|
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
|
|
```
|
|
|
|
## குறியீட்டு பாணி
|
|
|
|
### Python குறியீட்டு பாணி
|
|
|
|
- கல்வி குறியீட்டுக்கான நிலையான Python ஒழுங்குகள்
|
|
- தெளிவான, படிக்க எளிதான குறியீடு, மேம்படுத்தலுக்கு மாறாக கற்றலுக்கு முன்னுரிமை
|
|
- முக்கிய கருத்துகளை விளக்கும் கருத்துரைகள்
|
|
- Jupyter Notebook-க்கு உகந்தது: செல்கள் சுயாதீனமாக இருக்க வேண்டும்
|
|
- பாட உள்ளடக்கத்திற்கான கடுமையான லின்டிங் தேவைகள் இல்லை
|
|
|
|
### JavaScript/Vue.js (வினாடி வினா பயன்பாடு)
|
|
|
|
- `etc/quiz-app/package.json` இல் ESLint கட்டமைப்பு
|
|
- `npm run lint` ஐ இயக்கி சிக்கல்களைச் சரிசெய்யவும்
|
|
- Vue 2.x ஒழுங்குகள்
|
|
- கூறு அடிப்படையிலான கட்டமைப்பு
|
|
|
|
### கோப்பு அமைப்பு
|
|
|
|
```
|
|
lessons/
|
|
├── 0-course-setup/ # Setup instructions
|
|
├── 1-Intro/ # Introduction to AI
|
|
├── 2-Symbolic/ # Symbolic AI
|
|
├── 3-NeuralNetworks/ # Neural Networks basics
|
|
├── 4-ComputerVision/ # Computer Vision
|
|
├── 5-NLP/ # Natural Language Processing
|
|
├── 6-Other/ # Other AI techniques
|
|
├── 7-Ethics/ # AI Ethics
|
|
└── X-Extras/ # Additional content
|
|
|
|
etc/
|
|
├── quiz-app/ # Vue.js quiz application
|
|
└── quiz-src/ # Quiz source files
|
|
|
|
translations/ # Multi-language translations
|
|
```
|
|
|
|
## கட்டமைப்பு மற்றும் வெளியீடு
|
|
|
|
### Jupyter உள்ளடக்கம்
|
|
|
|
கட்டமைப்பு செயல்முறை தேவையில்லை - Jupyter Notebooks நேரடியாக இயக்கப்படும்.
|
|
|
|
### வினாடி வினா பயன்பாடு
|
|
|
|
```bash
|
|
cd etc/quiz-app
|
|
|
|
# Development
|
|
npm run serve
|
|
|
|
# Production build
|
|
npm run build # Outputs to etc/quiz-app/dist/
|
|
|
|
# Deploy to Azure Static Web Apps
|
|
# Azure automatically creates GitHub Actions workflow
|
|
# See etc/quiz-app/README.md for detailed deployment instructions
|
|
```
|
|
|
|
### ஆவணத்தள
|
|
|
|
Docsify ஆவணத்திற்காக தொகுப்பைப் பயன்படுத்துகிறது:
|
|
- `index.html` நுழைவு புள்ளியாக செயல்படுகிறது
|
|
- கட்டமைப்பு தேவையில்லை - GitHub Pages மூலம் நேரடியாக வழங்கப்படும்
|
|
- அணுகல்: https://microsoft.github.io/AI-For-Beginners/
|
|
|
|
## பங்களிப்பு வழிமுறைகள்
|
|
|
|
### Pull Request செயல்முறை
|
|
|
|
1. **தலைப்பு வடிவம்:** மாற்றத்தை விளக்கும் தெளிவான, விவரமான தலைப்புகள்
|
|
2. **CLA தேவைகள்:** Microsoft CLA கையொப்பமிட வேண்டும் (தானியங்கி சரிபார்ப்பு)
|
|
3. **உள்ளடக்க வழிமுறைகள்:**
|
|
- கல்வி மையம் மற்றும் தொடக்கநிலை அணுகுமுறை பராமரிக்கவும்
|
|
- நோட்புக் குறியீடு உதாரணங்களைச் சோதிக்கவும்
|
|
- நோட்புக் கோப்புகள் முடிவுக்கு முடிவு இயக்கப்படுவதை உறுதிப்படுத்தவும்
|
|
- ஆங்கில உள்ளடக்கத்தை மாற்றினால் மொழிபெயர்ப்புகளைப் புதுப்பிக்கவும்
|
|
4. **வினாடி வினா பயன்பாட்டின் மாற்றங்கள்:** Commit செய்யும் முன் `npm run lint` ஐ இயக்கவும்
|
|
|
|
### மொழிபெயர்ப்பு பங்களிப்புகள்
|
|
|
|
- மொழிபெயர்ப்புகள் GitHub Actions மூலம் co-op-translator பயன்படுத்தி தானியங்கி செய்யப்படும்
|
|
- கையேடு மொழிபெயர்ப்புகள் `translations/<language-code>/` இல் செல்லும்
|
|
- வினாடி வினா மொழிபெயர்ப்புகள் `etc/quiz-app/src/assets/translations/` இல்
|
|
- ஆதரவு மொழிகள்: 40+ மொழிகள் (முழு பட்டியலுக்கு README ஐப் பார்க்கவும்)
|
|
|
|
### செயலில் உள்ள பங்களிப்பு பகுதிகள்
|
|
|
|
தற்போதைய தேவைகளுக்கு `etc/CONTRIBUTING.md` ஐப் பார்க்கவும்:
|
|
- டீப் ரீன்போர்ஸ்மென்ட் லெர்னிங் பிரிவுகள்
|
|
- பொருள் கண்டறிதல் மேம்பாடுகள்
|
|
- பெயரிடப்பட்ட பொருள் அடையாள உதாரணங்கள்
|
|
- தனிப்பயன் எம்பெட்டிங் பயிற்சி மாதிரிகள்
|
|
|
|
## சூழல் கட்டமைப்பு
|
|
|
|
### தேவையான சார்புகள்
|
|
|
|
```bash
|
|
# Core Python packages (from requirements.txt)
|
|
tensorflow==2.17.0
|
|
torch (via conda)
|
|
torchvision (via conda)
|
|
keras==3.5.0
|
|
opencv (via conda)
|
|
scikit-learn
|
|
numpy==1.26
|
|
pandas==2.2.2
|
|
matplotlib==3.9
|
|
jupyter
|
|
```
|
|
|
|
### சூழல் மாறிகள்
|
|
|
|
அடிப்படை பயன்பாட்டிற்கு சிறப்பு சூழல் மாறிகள் தேவையில்லை.
|
|
|
|
Azure வெளியீடுகளுக்கு (வினாடி வினா பயன்பாடு):
|
|
- `AZURE_STATIC_WEB_APPS_API_TOKEN` (Azure மூலம் தானாக அமைக்கப்படும்)
|
|
|
|
## பிழைதிருத்தம் மற்றும் சிக்கல் தீர்வு
|
|
|
|
### பொதுவான சிக்கல்கள்
|
|
|
|
**சிக்கல்:** Conda சூழல் உருவாக்கம் தோல்வியடைகிறது
|
|
- **தீர்வு:** முதலில் conda ஐப் புதுப்பிக்கவும்: `conda update conda -y`
|
|
- போதுமான டிஸ்க் இடம் உறுதிப்படுத்தவும் (50GB பரிந்துரைக்கப்படுகிறது)
|
|
|
|
**சிக்கல்:** Jupyter kernel காணப்படவில்லை
|
|
- **தீர்வு:**
|
|
```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'))"`
|
|
|
|
**சிக்கல்:** வினாடி வினா பயன்பாடு தொடங்கவில்லை
|
|
- **தீர்வு:**
|
|
```bash
|
|
cd etc/quiz-app
|
|
rm -rf node_modules package-lock.json
|
|
npm install
|
|
npm run serve
|
|
```
|
|
|
|
**சிக்கல்:** Binder நேரம் முடிகிறது அல்லது பதிவிறக்கங்களைத் தடை செய்கிறது
|
|
- **தீர்வு:** GitHub Codespaces அல்லது உள்ளூர் அமைப்பைப் பயன்படுத்தி சிறந்த வள அணுகலைப் பெறவும்
|
|
|
|
### நினைவக சிக்கல்கள்
|
|
|
|
சில பாடங்கள் அதிக RAM (8GB+ பரிந்துரைக்கப்படுகிறது) தேவைப்படும்:
|
|
- வளமிகுந்த பாடங்களுக்கு கிளவுட் VMகளைப் பயன்படுத்தவும்
|
|
- மாதிரிகளைப் பயிற்றுவிக்கும் போது பிற பயன்பாடுகளை மூடவும்
|
|
- நினைவக குறைவாக இருந்தால் நோட்புக்குகளில் தொகுதிகளின் அளவுகளை குறைக்கவும்
|
|
|
|
## கூடுதல் குறிப்புகள்
|
|
|
|
### பாடநெறி ஆசிரியர்களுக்காக
|
|
|
|
- கற்பித்தல் வழிகாட்டலுக்காக `lessons/0-course-setup/for-teachers.md` ஐப் பார்க்கவும்
|
|
- பாடங்கள் சுயாதீனமாகவும் தொடர்ச்சியாகவும் கற்பிக்கப்படலாம்
|
|
- மதிப்பீடு நேரம்: வாரத்திற்கு 2 பாடங்கள் என 12 வாரங்கள்
|
|
|
|
### கிளவுட் வளங்கள்
|
|
|
|
- **Azure for Students:** மாணவர்களுக்கு இலவச கிரெடிட்கள் கிடைக்கின்றன
|
|
- **Microsoft Learn:** இணைக்கப்பட்ட கூடுதல் கற்றல் பாதைகள்
|
|
- **Binder:** இலவச ஆனால் வரையறுக்கப்பட்ட வளங்கள் மற்றும் சில நெட்வொர்க் கட்டுப்பாடுகள்
|
|
|
|
### குறியீடு இயக்க விருப்பங்கள்
|
|
|
|
1. **உள்ளூர் (பரிந்துரைக்கப்படுகிறது):** முழு கட்டுப்பாடு, சிறந்த செயல்திறன், GPU ஆதரவு
|
|
2. **GitHub Codespaces:** கிளவுட் அடிப்படையிலான VS Code, விரைவான அணுகலுக்கு சிறந்தது
|
|
3. **Binder:** உலாவி அடிப்படையிலான Jupyter, இலவச ஆனால் வரையறுக்கப்பட்டது
|
|
4. **Azure ML Notebooks:** GPU ஆதரவு கொண்ட நிறுவன விருப்பம்
|
|
5. **Google Colab:** தனித்தனியாக நோட்புக் கோப்புகளைப் பதிவேற்றவும், இலவச GPU நிலை கிடைக்கிறது
|
|
|
|
### நோட்புக்குகளுடன் வேலை செய்வது
|
|
|
|
- நோட்புக்குகள் கற்றலுக்காக செல்கள் மூலம் இயக்கப்படுவதற்காக வடிவமைக்கப்பட்டுள்ளன
|
|
- பல நோட்புக்குகள் முதல் இயக்கத்தில் தரவுத்தொகுப்புகளைப் பதிவிறக்குகின்றன (சில நேரம் ஆகலாம்)
|
|
- சில மாதிரிகள் GPU தேவைப்படும், பயிற்சி நேரத்தை குறைக்க
|
|
- முன்பயிற்சியளிக்கப்பட்ட மாதிரிகள் கணினி தேவைகளை குறைக்க பயன்படுத்தப்படுகின்றன
|
|
|
|
### செயல்திறன் கருத்துகள்
|
|
|
|
- கணினி பார்வை பாடங்கள் (CNNs, GANs) GPU மூலம் அதிக நன்மை பெறுகின்றன
|
|
- NLP transformer பாடங்கள் அதிக RAM தேவைப்படலாம்
|
|
- அடிப்படையில் பயிற்சி பெறுவது கல்வி நோக்கத்திற்காக, ஆனால் நேரம் அதிகமாகும்
|
|
- மாற்று கற்றல் உதாரணங்கள் பயிற்சி நேரத்தை குறைக்கின்றன
|
|
|
|
---
|
|
|
|
**குறிப்பு**:
|
|
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கின்றோம், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல. |