RANZCR-CLiP 7th Place Solution

Overview

RANZCR-CLiP 7th Place Solution

This repository is WIP. (18 Mar 2021)

pipeline

Installation

git clone https://github.com/analokmaus/kaggle-ranzcr-clip-public.git 
cd kaggle-ranzcr-clip-public
git clone https://github.com/analokmaus/kuma_utils.git 

kuma_utils is a toolbox I use for competitions and work. Check it out!

conda

conda env create -n {NEW NAME} -f environment.yaml

docker

WIP

IMPORTANT: timm version
Since segmentation_models_pytorch requires timm=0.3.2 which does not include ResNet200D.
I added latest timm=0.3.4 as timm_latest in the root directory.
In case you need ResNet200D, you must use import timm_latest.

Download datasets

┣ data
┃   ┣ ranzcr-clip
┃       ┣ (competition files)
┃       ┣ nih_chestxray
┃       ┃   ┣ (nih dataset)
┃       ┣ padchest
┃       ┃   ┣ (padchest dataset)
┃       ┣ mimic
┃           ┣ (mimic dataset)
┃
┣ kaggle-ranzcr-clip-public
    ┣ scripts

competition files

kaggle competitions download ranzcr-clip-catheter-line-classification

nih dataset

kaggle datasets download nih-chest-xrays/data

padchest dataset

kaggle datasets download raddar/padchest-tubes

mimic dataset

Due to the license, we cannot host MIMIC CXR dataset.
Please go to MIMIC CXR official website and download by yourself.

Benchmark

UNet-CNN (R1)

CV: 0.9661
Public LB: 0.970
Private LB: 0.973

python train.py --config Segmentation13
python train.py --config SegAndCls12
python inference.py --config SegAndCls12 # generate pseudo labels
python train_external.py --config PretrainStudent08l
python train.py --config SegAndCls12external6

UNet-CNN (E1)

CV: 0.9660
Public LB: 0.972
Private LB: 0.973

python train.py --config Segmentation15
python train.py --config SegAndCls14
python inference.py --config SegAndCls14 # generate pseudo labels
python train_external.py --config PretrainStudent09
python train.py --config SegAndCls14external2

Vanilla CNN (N1)

CV: 0.9671
Public LB: 0.970
Private LB: 0.972

(run training script by Y.Nakama)
python inference.py --config SingleModel02 # generate pseudo labels
python train_external.py --config Distillation03
python train.py --config SingleModel02external0

Test Environment

Adjust batch_size and relevant parameters (learning rate etc.) when you run script.

A machine with four V100 16GB (64GB total) was used to train the following configs:

  • Segmentation13
  • Segmentation15
  • SegAndCls12*
  • SegAndCls14*
  • PretrainStudent08*
  • PretrainStudent09*

A machine with two GF RTX 3090 24GB (48GB total) was used to train the following configs:

  • SingleModel02*
  • Distillation03
Owner
Hiroshechka Y
ML Engineer | Kaggle Master | Public Health
Hiroshechka Y
Convert human motion from video to .bvh

video_to_bvh Convert human motion from video to .bvh with Google Colab Usage 1. Open video_to_bvh.ipynb in Google Colab Go to https://colab.research.g

Dene 306 Dec 10, 2022
Loopy belief propagation for factor graphs on discrete variables, in JAX!

PGMax implements general factor graphs for discrete probabilistic graphical models (PGMs), and hardware-accelerated differentiable loopy belief propagation (LBP) in JAX.

Vicarious 62 Dec 23, 2022
DCA - Official Python implementation of Delaunay Component Analysis algorithm

Delaunay Component Analysis (DCA) Official Python implementation of the Delaunay

Petra Poklukar 9 Sep 06, 2022
A toolset for creating Qualtrics-based IAT experiments

Qualtrics IAT Tool A web app for generating the Implicit Association Test (IAT) running on Qualtrics Online Web App The app is hosted by Streamlit, a

0 Feb 12, 2022
PyElecCL - Electron Monte Carlo Second Checks

PyElecCL Python program to perform second checks for electron Monte Carlo radiat

Reese Haywood 3 Feb 22, 2022
Python code to generate art with Generative Adversarial Network

GAN_Canvas_Maker Generating Art using Generative Adversarial Network (GAN) Python code to generate art with Generative Adversarial Network: https://to

Jonny Banana 10 Aug 22, 2022
Example-custom-ml-block-keras - Custom Keras ML block example for Edge Impulse

Custom Keras ML block example for Edge Impulse This repository is an example on

Edge Impulse 8 Nov 02, 2022
A curated list of resources for Image and Video Deblurring

A curated list of resources for Image and Video Deblurring

Subeesh Vasu 1.7k Jan 01, 2023
POCO: Point Convolution for Surface Reconstruction

POCO: Point Convolution for Surface Reconstruction by: Alexandre Boulch and Renaud Marlet Abstract Implicit neural networks have been successfully use

valeo.ai 93 Dec 29, 2022
A Unified Framework and Analysis for Structured Knowledge Grounding

UnifiedSKG 📚 : Unifying and Multi-Tasking Structured Knowledge Grounding with Text-to-Text Language Models Code for paper UnifiedSKG: Unifying and Mu

HKU NLP Group 370 Dec 21, 2022
An expansion for RDKit to read all types of files in one line

RDMolReader An expansion for RDKit to read all types of files in one line How to use? Add this single .py file to your project and import MolFromFile(

Ali Khodabandehlou 1 Dec 18, 2021
MT-GAN-PyTorch - PyTorch Implementation of Learning to Transfer: Unsupervised Domain Translation via Meta-Learning

MT-GAN-PyTorch PyTorch Implementation of AAAI-2020 Paper "Learning to Transfer: Unsupervised Domain Translation via Meta-Learning" Dependency: Python

29 Oct 19, 2022
This repo provides the source code & data of our paper "GreaseLM: Graph REASoning Enhanced Language Models"

GreaseLM: Graph REASoning Enhanced Language Models This repo provides the source code & data of our paper "GreaseLM: Graph REASoning Enhanced Language

137 Jan 02, 2023
Rate-limit-semaphore - Semaphore implementation with rate limit restriction for async-style (any core)

Rate Limit Semaphore Rate limit semaphore for async-style (any core) There are t

Yan Kurbatov 4 Jun 21, 2022
Model serving at scale

Run inference at scale Cortex is an open source platform for large-scale machine learning inference workloads. Workloads Realtime APIs - respond to pr

Cortex Labs 7.9k Jan 06, 2023
tensorrt int8 量化yolov5 4.0 onnx模型

onnx模型转换为 int8 tensorrt引擎

123 Dec 28, 2022
This Deep Learning Model Predicts that from which disease you are suffering.

Deep-Learning-Project This Deep Learning Model Predicts that from which disease you are suffering. This Project Covers the Topics of Deep Learning Int

Jai Viral Doshi 0 Jan 20, 2022
GPOEO is a micro-intrusive GPU online energy optimization framework for iterative applications

GPOEO GPOEO is a micro-intrusive GPU online energy optimization framework for iterative applications. We also implement ODPP [1] as a comparison. [1]

瑞雪轻飏 8 Sep 10, 2022
Torch Implementation of "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network"

Photo-Realistic-Super-Resoluton Torch Implementation of "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network" [Paper]

Harry Yang 199 Dec 01, 2022
A Tensorflow based library for Time Series Modelling with Gaussian Processes

Markovflow Documentation | Tutorials | API reference | Slack What does Markovflow do? Markovflow is a Python library for time-series analysis via prob

Secondmind Labs 24 Dec 12, 2022