Table of contents generated with markdown-toc
POC stands for Proof of Concept: a small, focused implementation whose goal is to demonstrate that an idea is technically feasible, rather than to deliver a production-ready product.
You need to classify a collection of clothes in each category they belong to.
You will need to use PyTorch to classify the FashionMNIST dataset.
FashionMNIST is based on the MNIST dataset but for clothing.
Some caveats:
Fashion-MNIST is a dataset of Zalando's article images—consisting of
- a training set of 60,000 examples
- a test set of 10,000 examples.
Each example is a 28x28 grayscale image, associated with a label from 10 classes.
Zalando intends Fashion-MNIST to serve as a direct drop-in replacement for the original MNIST dataset for benchmarking machine learning algorithms.
It shares the same image size and structure of training and testing splits.
For the construction of the model, you must use PyTorch.
On the architecture of your neural network (number and type of layers, activation functions, optimizer, ...) you are completely free!
You need to evaluate your model results.
We are looking for candidates with the ability to dive deep in a question, with the goal of solving a problem, and then share their findings in a comprehensive manner.
As such, we want you to document your thought and research process.
There is a lot of different choices that you have to make to solve this problem.
- What model to use ?
- Which parameters to give him ?
- How to evaluate your results ?
- ...
We want you to be aware of these choices, by specifying them in a markdown cell before your code blocks, and sourcing what motivated your choice.
It can be:
- as simple as a link to an online tutorial found from a google search like
PyTorch FashionMNIST classification tutorial - as complex as a citation from a relevant research paper
- as adventurous as a conclusion from your own benchmark
It should be easy for someone discovering your notebook to read and understand your work.
We recommend using uv, a modern and fast Python package manager. If you don't have it yet:
curl -LsSf https://astral.sh/uv/install.sh | shThen, at the root of the project, create an environment and install the dependencies:
uv init
uv add jupyter notebook ipykernel torch torchvision numpy matplotlibThis creates a .venv/ folder at the root of the project containing all the dependencies. You can now open Subject.ipynb in one of the following ways.
- Open the project folder in VS Code (make sure the Python and Jupyter extensions are installed).
- Open
Subject.ipynb. - Click Select Kernel at the top-right of the notebook, choose Python Environments, and pick the interpreter located at
./.venv(at the root of the project). - Run the cells. Because the kernel points to
./.venv, all the dependencies installed withuv addare available — no extra installation needed.
Launch the Jupyter web app directly from the uv environment:
uv run jupyter notebookuv run executes Jupyter inside the project's .venv, so the Python 3 (.venv) kernel is selected automatically and all dependencies are available. Then open Subject.ipynb from the web interface.
If you have any problems with your local setup, you can use Google Colab: upload Subject.ipynb, and Colab will provide a ready-to-use Python environment (you may need to install missing packages with !pip install ... directly in a cell, since uv is not used there).
Fill the notebook Subject.ipynb, making sure to include your explanations and notes (in the markdown cells) alongside your code — they are as important as the code itself.
You can submit your work in one of two ways:
- Send us the
Subject.ipynbfile directly, with all your explanations and notes included. - Or create a Git repository (e.g. on GitHub) containing your notebook and send us the link.
Before submitting, verify that we will be able to run the notebook without errors if we do it from the first cell to the last one.
If you have any questions, please contact Diego Agudelo, Director of the AI Lab (diego.agudelo@42ai.fr), and/or Allan Debert (allan.debert@42ai.fr).