1.0. System
What are the system requirements for this course?
This course is compatible with Linux, macOS, and Windows. While there are no strict hardware requirements to start, a modern computer with sufficient CPU and RAM is necessary for efficient data processing. This ensures you can follow along with all course activities without performance bottlenecks. For Windows users, we recommend using the Windows Subsystem for Linux (WSL) to create a more seamless development experience.
Should I use VS Code, JupyterLab, or Google Colab?
This course is optimized for Visual Studio Code (VS Code), which is a powerful Integrated Development Environment (IDE). While you can use JupyterLab or Google Colab for initial prototyping, the later sections of this course require direct access to a terminal, version control, and file system navigation. These capabilities are seamlessly integrated into VS Code, making it the most effective tool for completing the course.
What software needs to be installed?
Yes. To complete this course, you must install a few essential tools that form the foundation of a modern development workflow:
- Python: The primary programming language for all coding exercises.
- uv: A fast and efficient tool for managing Python packages and virtual environments.
- Git: The standard for version control, essential for tracking changes and collaborating.
- VS Code: The recommended IDE for its powerful, integrated features.
Each of these tools has a dedicated section with detailed installation instructions.
What are the hardware requirements for a typical MLOps project?
Hardware requirements scale with model complexity and data size. Here’s a general guide:
- Basic Projects (e.g., Tabular Data): For models using libraries like Scikit-learn or XGBoost, a standard laptop or desktop is sufficient. A GPU is generally not required.
- Intermediate Projects (e.g., Computer Vision): When working with images or videos using frameworks like TensorFlow or PyTorch, a dedicated GPU becomes highly beneficial for timely model training.
- Advanced Projects (e.g., Large Language Models): Training large models like transformers or processing massive datasets often requires multiple GPUs, potentially distributed across a cluster of machines.
We recommend starting with a simple local setup and scaling to cloud resources as your project's demands grow.
Can I use a cloud-based development environment?
Absolutely. This course fully supports cloud-based development environments. Cloud platforms like GitHub Codespaces or Google Cloud Workstations provide powerful advantages, including:
- Standardization: Ensures every team member works in an identical, pre-configured environment.
- Scalability: Provides on-demand access to powerful computational resources, including GPUs.
- Collaboration: Simplifies sharing work and collaborating on code.
When using cloud services, be mindful of resource management and usage quotas, particularly within free tiers.