PyTorch toolkit for biomedical imaging

Overview

logo

🤖 farabio ❤️

PyPI version DOI PyPI - Downloads Documentation Status GitHub commit activity GitHub

🎉 What's New

August 26, 2021

Publishing farabio==0.0.3 (latest version):
PyPI | Release notes

August 18, 2021

Publishing farabio==0.0.2:
PyPI | Release notes

April 21, 2021

This work is presented at PyTorch Ecosystem day. Poster is here.

April 2, 2021

Publishing farabio==0.0.1:
PyPI | Release notes

March 3, 2021

This work is selected for PyTorch Ecosystem Day.

💡 Introduction

farabio is a minimal PyTorch toolkit for out-of-the-box deep learning support in biomedical imaging. For further information, see Wikis and Docs.

🔥 Features

  • Biomedical datasets
  • Common DL models
  • Flexible trainers (*in progress)

📚 Biodatasets

🚢 Models

Classification:

Segmentation:

🚀 Getting started (Installation)

1. Create and activate conda environment:

conda create -n myenv python=3.8
conda activate myenv

2. Install PyTorch:

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

3. Install farabio:

A. With pip:

pip install farabio

B. Setup from source:

git clone https://github.com/tuttelikz/farabio.git && cd farabio
pip install .

🤿 Tutorials

Tutorial 1: Training a classifier for ChestXrayDataset - Notebook
Tutorial 2: Training a segmentation model for DSB18Dataset - Notebook
Tutorial 3: Training a Faster-RCNN detection model for VinBigDataset - Notebook

🔎 Links

Credits

If you like this repository, please click on Star.

How to cite | doi:

@software{sanzhar_askaruly_2021_5746474,
  author       = {Sanzhar Askaruly and
                  Nurbolat Aimakov and
                  Alisher Iskakov and
                  Hyewon Cho and
                  Yujin Ahn and
                  Myeong Hoon Choi and
                  Hyunmo Yang and
                  Woonggyu Jung},
  title        = {Farabio: Deep learning for biomedical imaging},
  month        = dec,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {v0.0.3-doi},
  doi          = {10.5281/zenodo.5746474},
  url          = {https://doi.org/10.5281/zenodo.5746474}
}

📃 Licenses

This work is licensed Apache 2.0.

🤩 Acknowledgements

This work is based upon efforts of open-source PyTorch Community. I have tried to acknowledge related works (github links, arxiv papers) inside the source material, eg. README, documentation, and code docstrings. Please contact if I missed anything.

You might also like...
PyTorch Extension Library of Optimized Scatter Operations

PyTorch Scatter Documentation This package consists of a small extension library of highly optimized sparse update (scatter and segment) operations fo

PyTorch Extension Library of Optimized Autograd Sparse Matrix Operations

PyTorch Sparse This package consists of a small extension library of optimized sparse matrix operations with autograd support. This package currently

Reformer, the efficient Transformer, in Pytorch
Reformer, the efficient Transformer, in Pytorch

Reformer, the Efficient Transformer, in Pytorch This is a Pytorch implementation of Reformer https://openreview.net/pdf?id=rkgNKkHtvB It includes LSH

higher is a pytorch library allowing users to obtain higher order gradients over losses spanning training loops rather than individual training steps.
higher is a pytorch library allowing users to obtain higher order gradients over losses spanning training loops rather than individual training steps.

higher is a library providing support for higher-order optimization, e.g. through unrolled first-order optimization loops, of "meta" aspects of these

PyTorch implementation of TabNet paper : https://arxiv.org/pdf/1908.07442.pdf

README TabNet : Attentive Interpretable Tabular Learning This is a pyTorch implementation of Tabnet (Arik, S. O., & Pfister, T. (2019). TabNet: Attent

PyTorch extensions for fast R&D prototyping and Kaggle farming

Pytorch-toolbelt A pytorch-toolbelt is a Python library with a set of bells and whistles for PyTorch for fast R&D prototyping and Kaggle farming: What

An implementation of Performer, a linear attention-based transformer, in Pytorch
An implementation of Performer, a linear attention-based transformer, in Pytorch

Performer - Pytorch An implementation of Performer, a linear attention-based transformer variant with a Fast Attention Via positive Orthogonal Random

The goal of this library is to generate more helpful exception messages for numpy/pytorch matrix algebra expressions.
The goal of this library is to generate more helpful exception messages for numpy/pytorch matrix algebra expressions.

Tensor Sensor See article Clarifying exceptions and visualizing tensor operations in deep learning code. One of the biggest challenges when writing co

You like pytorch? You like micrograd? You love tinygrad! ❤️
You like pytorch? You like micrograd? You love tinygrad! ❤️

For something in between a pytorch and a karpathy/micrograd This may not be the best deep learning framework, but it is a deep learning framework. Due

Comments
  • invalid input type

    invalid input type

    Instructions To Reproduce the Bug

    1. What exact command you run:
    If making changes to the project itself, please use output of the following command:
    git rev-parse HEAD; git diff
    
    <put code or diff here>
    
    1. Full logs or other relevant observations:
    <put logs here>
    
    1. please simplify the steps as much as possible so they do not require additional resources to run, such as a private dataset.

    Expected behavior:

    If there are no obvious error in "what you observed" provided above, please tell us the expected behavior.

    Environment:

    Provide your environment information using the following command:

    git clone https://gist.github.com/tuttelikz/ebd5ab3ffb29cb9399f2596b8f163a4e a && python a/cenv.py
    
    opened by aminemosbah 3
Releases(v0.0.3-doi)
  • v0.0.3-doi(Dec 1, 2021)

  • v0.0.3(Aug 25, 2021)

  • v0.0.2(Aug 17, 2021)

    TLDR: This is a fresh, restructured release package compared to v0.0.1. Here, we ship several classification models and biodatasets in PyTorch friendly format.

    Models:

    • AlexNet
    • GoogLeNet
    • MobileNetV2
    • MobileNetV3
    • ResNet
    • ShuffleNetV2
    • SqueezeNet
    • VGG

    Biodatasets:

    • ChestXrayDataset
    • DSB18Dataset
    • HistocancerDataset
    • RANZCRDataset
    • RetinopathyDataset
    Source code(tar.gz)
    Source code(zip)
    farabio-0.0.2-py3-none-any.whl(32.98 KB)
  • v0.0.1(Aug 25, 2021)

    TLDR: This is the very first release. In this release, we ship various baseline models for classification, segmentation, detection, super-resolution and image translation tasks. As well, basis for model trainers and biodatasets are described here. Architectures are not as clean. Please refer to new releases in the future.

    Biodatasets:

    • ChestXrayDataset
    • DSB18Dataset
    • HistocancerDataset
    • RANZCRDataset
    • RetinopathyDataset

    Trainers:

    • BaseTrainer
    • ConvnetTrainer
    • GanTrainer

    Models:

    • DenseNet
    • GoogLeNet
    • VGG
    • ResNet
    • MobileNetV2
    • ShuffleNetV2
    • ViT
    • U-Net
    • Attention U-Net
    • FasterRCNN
    • YOLOv3
    • CycleGAN
    • SRGAN
    Source code(tar.gz)
    Source code(zip)
    farabio-0.0.1-py3-none-any.whl(100.73 KB)
Owner
San Askaruly
Willing to join fast-paced team to build amazing future!
San Askaruly
pip install antialiased-cnns to improve stability and accuracy

Antialiased CNNs [Project Page] [Paper] [Talk] Making Convolutional Networks Shift-Invariant Again Richard Zhang. In ICML, 2019. Quick & easy start Ru

Adobe, Inc. 1.6k Dec 28, 2022
PyNIF3D is an open-source PyTorch-based library for research on neural implicit functions (NIF)-based 3D geometry representation.

PyNIF3D is an open-source PyTorch-based library for research on neural implicit functions (NIF)-based 3D geometry representation. It aims to accelerate research by providing a modular design that all

Preferred Networks, Inc. 96 Nov 28, 2022
Implementation of LambdaNetworks, a new approach to image recognition that reaches SOTA with less compute

Lambda Networks - Pytorch Implementation of λ Networks, a new approach to image recognition that reaches SOTA on ImageNet. The new method utilizes λ l

Phil Wang 1.5k Jan 07, 2023
A Pytorch Implementation for Compact Bilinear Pooling.

CompactBilinearPooling-Pytorch A Pytorch Implementation for Compact Bilinear Pooling. Adapted from tensorflow_compact_bilinear_pooling Prerequisites I

169 Dec 23, 2022
Distiller is an open-source Python package for neural network compression research.

Wiki and tutorials | Documentation | Getting Started | Algorithms | Design | FAQ Distiller is an open-source Python package for neural network compres

Intel Labs 4.1k Dec 28, 2022
Fast, general, and tested differentiable structured prediction in PyTorch

Torch-Struct: Structured Prediction Library A library of tested, GPU implementations of core structured prediction algorithms for deep learning applic

HNLP 1.1k Jan 07, 2023
Fast and Easy-to-use Distributed Graph Learning for PyTorch Geometric

Fast and Easy-to-use Distributed Graph Learning for PyTorch Geometric

Quiver Team 221 Dec 22, 2022
Pytorch bindings for Fortran

Pytorch bindings for Fortran

Dmitry Alexeev 46 Dec 29, 2022
PyTorch toolkit for biomedical imaging

farabio is a minimal PyTorch toolkit for out-of-the-box deep learning support in biomedical imaging. For further information, see Wikis and Docs.

San Askaruly 47 Dec 28, 2022
A few Windows specific scripts for PyTorch

It is a repo that contains scripts that makes using PyTorch on Windows easier. Easy Installation Update: Starting from 0.4.0, you can go to the offici

408 Dec 15, 2022
TorchShard is a lightweight engine for slicing a PyTorch tensor into parallel shards

TorchShard is a lightweight engine for slicing a PyTorch tensor into parallel shards. It can reduce GPU memory and scale up the training when the model has massive linear layers (e.g., ViT, BERT and

Kaiyu Yue 275 Nov 22, 2022
A simplified framework and utilities for PyTorch

Here is Poutyne. Poutyne is a simplified framework for PyTorch and handles much of the boilerplating code needed to train neural networks. Use Poutyne

GRAAL/GRAIL 534 Dec 17, 2022
This is an differentiable pytorch implementation of SIFT patch descriptor.

This is an differentiable pytorch implementation of SIFT patch descriptor. It is very slow for describing one patch, but quite fast for batch. It can

Dmytro Mishkin 150 Dec 24, 2022
Code for paper "Energy-Constrained Compression for Deep Neural Networks via Weighted Sparse Projection and Layer Input Masking"

model_based_energy_constrained_compression Code for paper "Energy-Constrained Compression for Deep Neural Networks via Weighted Sparse Projection and

Haichuan Yang 16 Jun 15, 2022
The goal of this library is to generate more helpful exception messages for numpy/pytorch matrix algebra expressions.

Tensor Sensor See article Clarifying exceptions and visualizing tensor operations in deep learning code. One of the biggest challenges when writing co

Terence Parr 704 Dec 14, 2022
Differentiable ODE solvers with full GPU support and O(1)-memory backpropagation.

PyTorch Implementation of Differentiable ODE Solvers This library provides ordinary differential equation (ODE) solvers implemented in PyTorch. Backpr

Ricky Chen 4.4k Jan 04, 2023
Tacotron 2 - PyTorch implementation with faster-than-realtime inference

Tacotron 2 (without wavenet) PyTorch implementation of Natural TTS Synthesis By Conditioning Wavenet On Mel Spectrogram Predictions. This implementati

NVIDIA Corporation 4.1k Jan 03, 2023
torch-optimizer -- collection of optimizers for Pytorch

torch-optimizer torch-optimizer -- collection of optimizers for PyTorch compatible with optim module. Simple example import torch_optimizer as optim

Nikolay Novik 2.6k Jan 03, 2023
The easiest way to use deep metric learning in your application. Modular, flexible, and extensible. Written in PyTorch.

News March 3: v0.9.97 has various bug fixes and improvements: Bug fixes for NTXentLoss Efficiency improvement for AccuracyCalculator, by using torch i

Kevin Musgrave 5k Jan 02, 2023
ocaml-torch provides some ocaml bindings for the PyTorch tensor library.

ocaml-torch provides some ocaml bindings for the PyTorch tensor library. This brings to OCaml NumPy-like tensor computations with GPU acceleration and tape-based automatic differentiation.

Laurent Mazare 369 Jan 03, 2023