深度学习代写｜Assignment 1: Cat Pose Estimation with MMPose
In this assignment, you are going to develop a 2D cat pose estimation system based on
MMPose. The system will detect all the body keypoints (or joints) of pet cats with state-of-the
art deep learning techniques.
2D animal keypoint detection (animal pose estimation) aims to detect the key-point of different
species, including horses, dogs, macaques, and cheetah. It provides detailed behavioral
analysis for neuroscience, medical and ecology applications.
In this assignment, we mainly focus on predicting the poses of pet cats. We predict 17 keypoints
for each pet cat, e.g. eyes, ears, paws. The detailed description of these 17 keypoints can be
found in Section 3.2.
MMPose is an open-source toolbox for pose estimation based on PyTorch. It is a part of the
OpenMMLab project. MMPose is one of the most popular pose estimation frameworks. It
supports a wide spectrum of mainstream pose analysis tasks, and various state-of-the-art pose
Learn more about MMPose at
https://github.com/open-mmlab/mmpose (https://github.com/open-mmlab/mmpose) and
The goals of this assignment are as follows:
N. Understand the basics of deep learning based pose estimation.
O. Gain experience with a major deep learning framework (PyTorch) and a powerful open
source library for pose-related tasks (MMPose).
P. Develop a deep learning system from scratch, including model design, model training and
You can work on the assignment in one of two ways: on a virtual machine on HKU GPU Farm, or
locally on your own machine.
Note: after following these instructions, make sure you go to Working on the assignment below
(i.e., you can skip the Working locally section).
As part of this course, you can use HKU GPU Farm for your assignments. We recomment you to
follow the quickstart provided by the official website (https://www.cs.hku.hk/gpu-farm/quickstart) to get
familiar with HKU GPU Farm.
After checking the quickstart document, make sure you have gained the following skills:
N. Knowing how to access the GPU Farm and use GPUs in interactive mode. We recommend
using GPU support for this assignment, since your training will go much, much faster.
O. Geting familar with running Jupyter Lab without starting a web browser.
P. Knowing how to use tmux for unstable networks connections.
# Prepare basic environments
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
conda install ipykernel
ipython kernel install –user –name=kernel_for_mmpose
pip install jupyterlab
pip install ipywidgets widgetsnbextension pandas-profiling
If you have the GPU resources on your own PC/laptop. Hereʼs how you install the necessary
(Recommend) Installing GPU drivers: If you choose to work locally, you are at no disadvantage
for the first parts of the assignment. Still, having a GPU will be a significant advantage. If you
have your own NVIDIA GPU, however, and wish to use that, thatʼs fine – youʼll need to install the
drivers for your GPU, install CUDA, install cuDNN, and then install PyTorch. You could
theoretically do the entire assignment with no GPUs, though this will make training much slower.
Installing Python 3.6+: To use python3, make sure to install version 3.6+ on your local