# What Are the Dependencies for AI For Beginners? Complete Setup Guide

> Master AI For Beginners setup. Learn essential dependencies including Conda and PyPI packages for TensorFlow PyTorch Jupyter ML computer vision and NLP.

- Repository: [Microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
- Tags: getting-started
- Published: 2026-08-02

---

**The AI For Beginners curriculum depends on two primary specification files—[`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) for Conda packages and [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) for PyPI libraries—to provide TensorFlow, PyTorch, Jupyter, and domain-specific tools for machine learning, computer vision, and NLP.**

The Microsoft **AI For Beginners** repository requires a carefully curated Python environment to run its educational notebooks covering symbolic AI through modern transformers. According to the source code, the project uses a dual-layer dependency system that separates base environment configuration from specific package versions. Understanding these dependencies ensures reproducible execution across local workstations, cloud instances, and containerized development environments.

## Core Dependency Specification Files

The repository root contains two canonical files that define the entire software stack:

### Conda Environment Definition

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file establishes the base Anaconda environment with core scientific computing packages and channels. This file specifies the Python interpreter version and Conda-forge packages for system-level dependencies like OpenCV.

Key entries in [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) include:
- **python** – Core interpreter targeting the latest stable release
- **numpy** `1.26` – Fundamental numerical arrays for all tensor operations
- **matplotlib** `3.9` – Visualization of training curves and data distributions
- **scipy** `1.13` – Scientific computing utilities complementing NumPy
- **scikit-learn** – Classical machine learning algorithms and evaluation metrics
- **opencv** (conda-forge channel) – Image preprocessing for computer vision lessons
- **jupyter**, **ipykernel**, **ipywidgets** – Notebook runtime and interactive widgets
- **pytorch**, **torchvision**, **torchtext**, **torchdata** (pytorch channel) – Deep learning framework and domain libraries
- **requests** `2.32` – HTTP client for downloading datasets
- **pip** – Enables installation of the secondary requirements file

### Python Package Requirements

The [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) file enumerates exact PyPI versions for deep learning frameworks and specialized AI libraries used across the curriculum:

- **tensorflow** `2.17.0` – Core deep learning framework
- **keras** `3.13.2` – High-level neural network API
- **tensorboard** `2.17.1` – Experiment tracking and visualization
- **torchinfo** `1.8.0` – PyTorch model architecture summaries
- **pandas** `2.2.2` – Tabular data manipulation
- **nltk** `3.10.0` – Natural language processing utilities
- **gensim** `4.3.3` – Word embeddings and topic modeling
- **huggingface** `0.0.1` – Wrapper for Hugging Face Hub access
- **tokenizers** `0.20.0` – Fast text tokenization for transformers
- **gym** `0.26.2` – Reinforcement learning environments
- **pygame** `2.6.0` – Interactive graphics for RL demos
- **scikit-image** `0.24.0` – Advanced image processing
- **pillow** `12.2.0` – Image manipulation alongside OpenCV
- **seaborn** `0.13.2` – Statistical visualization enhancements
- **tqdm** `4.66.5` – Progress bars for training loops
- **smart-open** `7.0.4` – Streaming remote datasets from cloud storage

## Domain-Specific Dependency Groups

The curriculum organizes dependencies by AI discipline to support modular learning paths.

### Deep Learning Frameworks

The repository uniquely supports both major frameworks side-by-side:
- **PyTorch ecosystem** (`torch`, `torchvision`, `torchtext`, `torchdata`) powers the neural network fundamentals, CNN, and RNN lessons
- **TensorFlow ecosystem** (`tensorflow`, `keras`, `tensorflow-datasets`, `tensorflow-hub`) supports alternative implementations and production-oriented examples

### Computer Vision Libraries

Vision lessons require image I/O and processing capabilities:
- **opencv** – High-performance image loading and transformation
- **imageio** `2.35.0` – Simple image I/O for dataset loading
- **scikit-image** `0.24.0` – Morphological operations and filters
- **pillow** `12.2.0` – Format conversion and basic manipulation

### Natural Language Processing Tools

Text processing dependencies enable transformer and classical NLP examples:
- **nltk** `3.10.0` – Tokenization, stemming, and corpora access
- **gensim** `4.3.3` – Word2Vec and LDA topic models
- **tokenizers** `0.20.0` – Byte-Pair Encoding for modern LLMs
- **huggingface** `0.0.1` – Model hub integration for pretrained transformers

### Reinforcement Learning Environment

RL-specific modules provide interactive training environments:
- **gym** `0.26.2` – Standardized environment interface (OpenAI Gym)
- **pygame** `2.6.0` – Rendering engine for custom environment visualization

## Installation and Environment Setup

To reproduce the exact environment specified in the Microsoft repository, execute these commands from the repository root:

Create the base Conda environment:

```bash
conda env create -f environment.yml
conda activate ai4beg

```

Install the PyPI-specific dependencies:

```bash
pip install -r requirements.txt

```

Verify the installation by importing core libraries in a Python interpreter or notebook cell:

```python
import numpy as np
import torch
import tensorflow as tf
import matplotlib.pyplot as plt

print(f"NumPy: {np.__version__}")
print(f"PyTorch: {torch.__version__}")
print(f"TensorFlow: {tf.__version__}")
print("All core dependencies loaded successfully!")

```

## Alternative Environment Configurations

The repository provides variant specifications for different deployment targets:

- **[`binder/environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/binder/environment.yml)** – Trimmed version optimized for Binder cloud notebooks, removing heavy local-only dependencies
- **[`binder/requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/binder/requirements.txt)** – Mirrors the root requirements for Binder's isolated execution environment
- **[`.devcontainer/environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/.devcontainer/environment.yml)** – Identical to the root Conda specification, enabling VS Code Dev Containers for reproducible development without local environment conflicts

These variants ensure consistent execution whether running locally, on GitHub Codespaces, or through mybinder.org.

## Summary

- The **AI For Beginners** dependencies are split between [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) (Conda packages) and [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) (PyPI libraries).
- Core scientific stack includes **NumPy** `1.26`, **SciPy** `1.13`, **Pandas** `2.2.2`, and **Matplotlib** `3.9`.
- Deep learning support requires both **TensorFlow** `2.17.0`/**Keras** `3.13.2` and **PyTorch** with companion libraries.
- Domain-specific tools cover computer vision (**OpenCV**, **scikit-image**), NLP (**NLTK**, **Gensim**, **tokenizers**), and reinforcement learning (**Gym**).
- Alternative configurations exist for Binder (`binder/`) and VS Code Dev Containers (`.devcontainer/`).

## Frequently Asked Questions

### What Python version does AI For Beginners require?

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) specifies the latest stable Python release available in the Conda channels at environment creation time. The curriculum targets Python 3.10+ compatibility to support modern type hints and TensorFlow 2.17 requirements.

### Can I use pip instead of Conda to install all dependencies?

While the [`requirements.txt`](https://github.com/microsoft/AI-For-Beginners/blob/main/requirements.txt) contains most Python packages, system-level dependencies like **OpenCV** and the specific **PyTorch** CUDA builds are best managed through Conda. The recommended workflow uses `conda env create` first, then `pip install -r requirements.txt` for the remaining packages.

### Why does the repository include both TensorFlow and PyTorch?

The curriculum demonstrates concepts using both frameworks to provide pedagogical flexibility. Early neural network lessons often use **PyTorch** for clarity, while production-deployment examples leverage **TensorFlow** and **Keras**. Having both installed allows students to compare implementations directly.

### How do I verify that all dependencies installed correctly?

After activating the `ai4beg` environment, run the import verification script provided in the repository README or execute `jupyter notebook` and open any lesson notebook. Successful kernel startup without `ModuleNotFoundError` indicates proper installation. For comprehensive validation, run the notebook cells in `lessons/0-Setup/dependency_check.ipynb` if available.