Learn practical skills, build real-world projects, and advance your career

Zero to GANs - Human Protein Classification

In this competition, you will develop models capable of classifying mixed patterns of proteins in microscope images. Images visualizing proteins in cells are commonly used for biomedical research, and these cells could hold the key for the next breakthrough in medicine. However, thanks to advances in high-throughput microscopy, these images are generated at a far greater pace than what can be manually evaluated. Therefore, the need is greater than ever for automating biomedical image analysis to accelerate the understanding of human cells and disease.

This is a multilabel image classification problem, where each image can belong to several classes. The class labels are as follows:
0. Mitochondria,

  1. Nuclear bodie',
  2. Nucleoli,
  3. Golgi apparatus,
  4. Nucleoplasm,
  5. Nucleoli fibrillar center,
  6. Cytosol,
  7. Plasma membrane,
  8. Centrosome,
  9. Nuclear speckles
# Download the required libraries

!pip install -q torchsummary
!pip install -q efficientnet_pytorch

Import Pytorch and other utilities

# import the required libraries
import os
import copy
import gc
import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from tqdm import tqdm

from torchsummary import summary

from PIL import Image
from sklearn.metrics import f1_score

import torch
from torch.utils.data import Dataset, DataLoader, random_split
import torch.nn.functional as F
import torch.nn as nn

import torchvision
import torchvision.transforms as T
from torchvision.utils import make_grid

# pretrained models - efficient net
from efficientnet_pytorch import EfficientNet

# set plot styles and display options
sns.set_style('whitegrid')
plt.style.use("fivethirtyeight")
pd.pandas.set_option('display.max_columns', 20)

%matplotlib inline
THRESHOLD = 0.4