Identification of Cichlid Fishes from Lake Malawi Using Deep Learning
# Identification of Cichlid Fishes from Lake Malawi Using Deep Learning
This repository is a renewal for the research named
"Identification of Cichlid Fishes from Lake Malawi Using Computer Vision",
by Deokjin Joo, Ye-seul Kwan, Jongwoo Song, Catarina Pinho, Jody Hey and Yong-Jin Won.
(doi.org)
This project introduces recent deep learning methods for
more accuracy with less human inputs and feature engineering.
Here, we apply only some of the most basic techniques as a tutorial for other researchers.
* The code for our old work is located here: github.com
* The photo (raw) of cichlids is available here: Lake Malawi Cichlid image d…
## Environment Setup
This project is tested on Arch Linux, as of 2021-10,
with Python 3.9 (3.7 on Docker) + PyTorch 1.9.1.
Here, we assume that you are familiar with the Python programming language.
We recommend you setup the environment on a Linux machine since on Windows,
WSL2's GPU support and Docker's GPU support are still experimental, as of 2021.
Should you work on Windows, we recommend using Anaconda (anaconda.com).
With Anaconda's Python, PyTorch should work on Windows with GPU acceleration.
Practically, we recommend that you separate the deep learning machine from your working machine,
as the deep learning workload is likely to slow your machine down,
which in turn will slow your IDE and/or other paper writing programs.
### Virtual Environment Setup
For Python, it is a custom to setup a virtual environment for each project
to avoid *dependency hell*.
To create a new one, use the following commands:
```
$ python --version
Python 3.9.6
$ mkdir -p ~/usr
$ python -m venv --system-site-packages ~/usr/venv-tf39
$ source ~/usr/venv-tf39/bin/activate
```
You need to activate your environment every time you launch a new *shell*,
unless you add the activate command into *.bashrc* or alike.
### Installing the Requirements
Now we can install PyTorch a …