Git Product home page Git Product logo

cv-course-py's Introduction

CS-E4850 Computer Vision Course 2023 - Python assignments

This repository contains the Jupyter notebooks and related files used in the Python programming exercises for the CS-E4850 - Computer Vision course 2023 at Aalto University, including (1) the actual weekly homework assignments and (2) all test images. Please, see the notebooks for more details on, e.g., submission guideline. If you need to clone this repository read the instructions in option 2 (personal Docker container) on how to clone and update a repository containing Git submodules.

For more information, or bug reporting, feel free to contact Iaroslav Melekhov at the standard Aalto email.

Instructions on how to work on the assignments

1. Aalto JupyterHub (Recommended option)

We have added the course to Aalto JupyterHub which you can access here: Aalto JupyterHub. JupyterHub detailed instructions:

  1. Select the Computer Vision course and click Spawn.
  2. Select the Assignments tab and click Fetch on the visible assignments. Once new assignments are released, you have to fetch them here.
  3. The assignments are now visible under your Files tab (you might have to wait a moment for them to appear and/or click refresh). You can start working on the assignments by opening a Jupyter Notebook by clicking the .ipynb file inside the exercise folder.
  4. JupyterLab is also available and we have added a useful variable inspector extension to help you out. You can switch to JupyterLab by adding "lab/" option to your URL:
  • change ...jupyter.cs.aalto.fi/user/your_username/tree/notebooks?
  • to ...jupyter.cs.aalto.fi/user/your_username/lab/tree/notebooks?.
  • Activate the variable inspector extension by opening a Notebook, right-click with your mouse and choose "Open Variable Inspector." You can then drag the inspector to one side of the screen. NB: The extension is still experimental and might not work perfectly. If you experience serious problems, for example, performance issues, kindly report them through MyCourses Forums or at the exercise sessions.
  1. More information on, for example, how to access your JupyterHub data and JupyterHub, in general, can be found here.
  2. When you're ready to submit your solution, export the assignment to pdf and Jupyter Notebook format (.ipynb) and submit them both, the pdf and the Notebook, through MyCourses.
  3. If you accidentally select a wrong environment or if you use JupyterHub for another course and the wrong environment persists, click "Control Panel" in the upper right corner, select "Stop My Server" and start from the beginning.

Your JupyterLab environment should look approximately like this:

JupyterLab environment image

2. Docker

This option will result in the same environment as option 1 above, but you'll now also be able to work on the assignments offline. If you have a basic understanding of Git and Docker, this is an option.

  1. Download Docker.
  2. Clone this repo and update the submodules using the following commands:
  • git clone --recurse-submodules https://github.com/AaltoVision/CV-course-py
  • cd CV-course-py
  • git submodule update --remote
  1. Once new assignments are released, you can pull them using:
  • git submodule update --remote
  1. NB: Remember to use the above commands and not, for example, git pull. This repo uses Git submodules that collect the separated repositories, notebooks and data, into this single repository, so you don't have to update and clone two repositories. They are separated because it's more convenient for managing JupyterHub.
  2. Download the Docker image. Note: the compressed filesize is about 4GB.
  • docker pull apparvi/cv2020
  1. Inside the folder CV-course-py that you cloned create a Docker container by running this bit of a monster command. The command is explained here:
  • docker run -it --name cvcourse --user $(id -u):$(id -g) --group-add users -v "$(pwd)":/home/jovyan/work -p 8888:8888 apparvi/cv2020 start.sh jupyter lab --NotebookApp.custom_display_url='http://127.0.0.1:8888' --notebook-dir=/home/jovyan/work
  1. To start JupyterLab copy & paste the created URL to your browser.
  2. In the future start the container with a more simple command by calling its name:
  • docker start -i cvcourse
  1. When you're ready to submit your solution, export the assignment to pdf and Jupyter Notebook format (.ipynb) and submit them both, the pdf and the Notebook, through MyCourses.

cv-course-py's People

Contributors

apparvi avatar llxxttt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.