https://github.com/lromul/argus-alaska
Kaggle | Part of 25th place solution for ALASKA2 Image Steganalysis kaggle competition.
https://github.com/lromul/argus-alaska
computer-vision deep-learning kaggle kaggle-competition pytorch steganalysis
Last synced: 18 days ago
JSON representation
Kaggle | Part of 25th place solution for ALASKA2 Image Steganalysis kaggle competition.
- Host: GitHub
- URL: https://github.com/lromul/argus-alaska
- Owner: lRomul
- License: mit
- Created: 2020-05-05T13:24:36.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-23T15:07:48.000Z (almost 2 years ago)
- Last Synced: 2025-04-04T23:30:08.948Z (20 days ago)
- Topics: computer-vision, deep-learning, kaggle, kaggle-competition, pytorch, steganalysis
- Language: Python
- Homepage: https://www.kaggle.com/c/alaska2-image-steganalysis
- Size: 94.7 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ALASKA2 Image Steganalysis
Source code of solution for [ALASKA2 Image Steganalysis](https://www.kaggle.com/c/alaska2-image-steganalysis) competition.
## Solution
Key points:
* Efficientnets
* DDP training with SyncBN and Apex mixed precision
* AdamW with cosine annealing
* EMA Model
* Bitmix## Quick setup and start
### Requirements
* Nvidia drivers, CUDA >= 10.2, cuDNN >= 7
* [Docker](https://www.docker.com/), [nvidia-docker](https://github.com/NVIDIA/nvidia-docker)The provided dockerfile is supplied to build image with cuda support and cudnn.
### Preparations
* Clone the repo, build docker image.
```bash
git clone https://github.com/lRomul/argus-alaska.git
cd argus-alaska
make build
```* Download and extract [dataset](https://www.kaggle.com/c/alaska2-image-steganalysis/data) to `data` folder.
### Run
* Run docker container
```bash
make
```* Create folds split and extract quality of images
```bash
python make_folds.py
python make_quality_json.py
```* Train model
```bash
python train.py --experiment train_001
```* Predict test and make submission
```bash
python predict.py --experiment train_001
```* Train on 4 GPUs with distributed data parallel
```bash
./distributed_train.sh 4 --experiment ddp_train_001
```