AI-For-Beginners
Tutorialmicrosoft/AI-For-Beginners
12-week AI curriculum for beginners with lessons, quizzes, and labs.
Overview
A comprehensive 12-week, 24-lesson curriculum covering AI fundamentals including neural networks, computer vision, NLP, and ethics. Uses TensorFlow and PyTorch with practical labs and quizzes. Multi-language support.
README Preview
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)\n[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)\n[](http://makeapullrequest.com)\n\n[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/network/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)\n[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)\n[](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\n[](https://discord.gg/nTYy5BXMWG)\n\n# Artificial Intelligence for Beginners - A Curriculum\n\n||\n|:---:|\n| AI For Beginners - _Sketchnote by [@girlie_mac](https://twitter.com/girlie_mac)_ |\n\nExplore the world of **Artificial Intelligence** (AI) with our 12-week, 24-lesson curriculum! It includes practical lessons, quizzes, and labs. The curriculum is beginner-friendly and covers tools like TensorFlow and PyTorch, as well as ethics in AI\n\n\n### 🌐 Multi-Language Support\n\n#### Supported via GitHub Action (Automated & Always Up-to-Date)\n\n\n[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [H
FAQ (5)
TroubleshootingHow to fix matplotlib "TypeError: Axes.plot() got an unexpected keyword argument 's'" when plotting positive and negative examples?
plot() does not support the scatter-size parameter s. Replace ax.plot() with ax.scatter() and specify colors with c:
ax1.scatter(pos_examples[:, 0], pos_examples[:, 1],
c='blue', marker='o', label='Positive', s=100, alpha=0.6)
ax1.scatter(neg_examples[:, 0], neg_examples[:, 1],
c='red', marker='o', label='Negative', s=100, alpha=0.6)
Do not use the 'bo'/'ro' format strings with scatter(); use c='blue' and c='red' instead.
TroubleshootingWhy is the Tamil translation showing Hindi words, and how do I fix it?
This is caused by residual machine-translated Hindi (Devanagari) text committed under the Tamil locale. Audit the Tamil files with rg '[\x{0900}-\x{097F}]' translations/ta/, replace every Hindi span with the correct Tamil equivalent based on the English source, and restore translations/ta/README.md if it contains Hindi sections. The fix is covered by the PRs "fix(translations): replace residual Hindi words in Tamil lessons" and "fix: restore Tamil README translation" (Fixes #734). As a temporary workaround, use the English version or manually remove the Devanagari text from the affected Tamil Markdown files.
TroubleshootingHow do I fix bare except clauses that catch SystemExit and KeyboardInterrupt in Python image validation?
Replace every bare except: with except Exception: so only normal application exceptions are caught while system-level exceptions propagate. Update these four files:
- lessons/4-ComputerVision/07-ConvNets/tfcv.py (line 51)
- lessons/4-ComputerVision/07-ConvNets/pytorchcv.py (line 137)
- lessons/4-ComputerVision/08-TransferLearning/tfcv.py (line 51)
- lessons/4-ComputerVision/08-TransferLearning/pytorchcv.py (line 137)
Example fix:
def check_image(fn):
try:
im = Image.open(fn)
im.verify()
return True
except Exception:
return False
This follows PEP 8 and prevents KeyboardInterrupt, SystemExit, and other critical exceptions from being silently masked.
TroubleshootingHow do you fix the incorrect delta p formula in the OwnFramework backpropagation lesson?
The formula should use the chain rule with partial derivatives, not a finite change in the loss. If p is a parameter, z the layer output, and L the loss, use:
∂L/∂p = ∂L/∂z · ∂z/∂p
Here, ∂L/∂z is the upstream gradient from the next layer and ∂z/∂p is the local gradient. Do not multiply by ΔL, the actual change in loss, or treat a finite-loss change as a gradient.
For a linear layer z = Wx + b, the gradients are:
∂L/∂W = ∂L/∂z · xᵀ
∂L/∂b = ∂L/∂z
∂L/∂x = Wᵀ · ∂L/∂z
Keep the optimizer update separate:
p_new = p - learning_rate · ∂L/∂p
Pull the latest version of OwnFramework.ipynb or replace the erroneous δp equation with the chain-rule expression above. The corrected notebook also fixes the obtanes typo and uses consistent p and z partial-derivative notation.
TroubleshootingHow to fix the Tamil translation showing Hindi text in the README?
The issue was caused by the Tamil (ta) README containing Hindi/Devanagari content. It was fixed by restoring the Tamil-language README at translations/ta/README.md. After updating, verify the file contains Tamil script and no Devanagari characters; the fix reported 102 Tamil-script lines and 0 Devanagari lines. Pull the latest changes or apply PR fix(ta): restore Tamil translation in README. Report remaining translation issues at https://github.com/Azure/co-op-translator.