Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tools

Placeholder content - original file not found in upstream repository.

Getting Started

This guide will help you set up your environment and understand the tools we’ll be using throughout the course.

Required Tools and Accounts

Core Tools

Required Accounts

Working Environments

Google Colab provides a free, cloud-based Jupyter notebook environment with GPU support. To use, this is the simplist way to work in the website oceancv.org, especially when displaying resources to large classes:

  1. Navigate to any .ipynb file in the course

  2. Click the “Open in Colab” button at the top of the notebook

  3. Save a copy to your Google Drive to preserve your work

Option 2: Local Setup

To run the course materials locally:

  1. Clone the repository:

git clone https://github.com/atticus-carter/cv.git
cd cv
  1. Create and activate a conda environment:

conda env create -f environment.yml
conda activate cv
  1. Launch Jupyter Lab:

jupyter lab

Option 3: Local Book Build

To build and view the complete book locally:

  1. Install the required dependencies:

pip install -r requirements.txt
  1. Build the book:

jupyter-book build .
  1. View the book by opening _build/html/index.html in your browser

Self-Teaching Guide

If you’re using this book for self-study rather than as part of a formal class, here’s how to make the most of it:

Lesson Structure

Most lessons in this book follow a consistent structure:

  1. Overview: A brief introduction to the topic and its relevance to marine computer vision

  2. Learning Objectives: Clear statements of what you should be able to do after completing the lesson

  3. Content: Core concepts and explanations, often with visual examples

  4. Code Examples: Practical implementations demonstrating the concepts

  5. Exercises: Mini challenges to test your understanding

  6. Additional Resources: Links to further reading and related topics

Types of Lessons

The book contains several types of content:

  1. Markdown (.md) files: Conceptual lessons focused on explaining principles and ideas

  2. Jupyter Notebooks (.ipynb): Interactive lessons with executable code that you can run and modify

  3. Project Files: Complete workflows demonstrating real-world applications

Progressive Learning Path

The book is organized into chapters that build upon each other:

Working Through Mini Exercises

Each lesson includes mini exercises that reinforce learning. For most effective self-teaching:

  1. Read through the lesson: Understand the concepts before attempting exercises

  2. Try exercises independently: Attempt to solve problems before looking at solutions

  3. Experiment with code: Modify examples to deepen understanding

  4. Complete end-of-lesson challenges: These consolidate what you’ve learned

Implementation and Practice

For most beneficial self-learning:

  1. Maintain a personal project: Apply techniques to your own marine imagery dataset

  2. Create implementation notebooks: Document your experiments and findings

  3. Build incrementally: Start with simpler techniques before attempting advanced ones

  4. Review and troubleshoot: Debug issues to build problem-solving skills

Using External Resources

Supplement your learning with:

  1. Documentation: Refer to official libraries documentation (PyTorch, Tensorflow, etc.)

  2. Academic Papers: Many lessons reference original research papers

  3. Community Forums: Sites like Stack Overflow for troubleshooting

  4. Video Tutorials: For visual explanations of complex concepts

Remember that computer vision is a hands-on field - the more you practice implementing these techniques, the better you’ll understand them.

Development Tools

Hugging Face Integration

We’ll be using Hugging Face for model sharing and deployment. Key components:

Jupyter Notebooks

How to Get Help

  1. Course Issues: Use the GitHub repository’s Issues page

  2. Direct Contact: Email attcart@uw.edu for any help or questions related to the course

  3. GitHub Discussions: Ask questions on the GitHub repository’s Discussions tab for community support

  4. Technical Problems:

    • Check the Tools Troubleshooting section in the book

    • Ask questions in the GitHub Discussions

    • Open an issue with detailed error information

Contributing

We welcome contributions to improve the course materials! Here’s how:

  1. Report Issues

    • Use the GitHub Issues page

    • Include detailed description and steps to reproduce

    • Add relevant labels (bug, enhancement, documentation, etc.)

  2. Suggest Improvements

    • Open a discussion on GitHub

    • Describe your proposed changes

    • Link to relevant issues or materials

  3. Submit Changes

    • Fork the repository

    • Create a new branch for your changes

    • Make your changes following our style guidelines

    • Submit a Pull Request with a clear description

    • Link relevant issues