The LaTeX and Python code for generating the paper, experiments' results and visualizations reported in each paper is available (whenever possible) in the paper's directory

Overview

CircleCI Github Actions Codecov Documentation Status Pypi Version Black Python Versions DOI

This repository contains the software implementation of most algorithms used or developed in my research. The LaTeX and Python code for generating the paper, experiments' results and visualizations reported in each paper is available (whenever possible) in the paper's directory.

Additionally, contributions at the algorithm level are available in the package mlresearch.

Installation

A Python distribution of version 3.8 or 3.9 is required to run this project. Due to the computational limitations of the free tiers in CI/CD platforms, currently we cannot ensure compatibility with earlier Python versions.

ML-Research requires:

  • numpy (>= 1.14.6)
  • pandas (>= 1.3.5)
  • sklearn (>= 1.0.0)
  • imblearn (>= 0.8.0)
  • rich (>= 10.16.1)
  • matplotlib (>= 2.2.3)
  • seaborn (>= 0.9.0)
  • rlearn (>= 0.2.1)
  • pytorch (>= 1.10.1)
  • torchvision (>= 0.11.2)
  • pytorch_lightning (>= 1.5.8)

User Installation

If you already have a working installation of numpy and scipy, the easiest way to install scikit-learn is using pip :

pip install -U ml-research

The documentation includes more detailed installation instructions.

Installing from source

The following commands should allow you to setup the development version of the project with minimal effort:

# Clone the project.
git clone https://github.com/joaopfonseca/ml-research.git
cd ml-research

# Create and activate an environment 
make environment 
conda activate mlresearch # Adapt this line accordingly if you're not running conda

# Install project requirements and the research package
pip install .[tests,docs]

Citing ML-Research

If you use ML-Research in a scientific publication, we would appreciate citations to the following paper:

@article{Fonseca2021,
  doi = {10.3390/RS13132619},
  url = {https://doi.org/10.3390/RS13132619},
  keywords = {SMOTE,active learning,artificial data generation,land use/land cover classification,oversampling},
  year = {2021},
  month = {jul},
  publisher = {Multidisciplinary Digital Publishing Institute},
  volume = {13},
  pages = {2619},
  author = {Fonseca, Joao and Douzas, Georgios and Bacao, Fernando},
  title = {{Increasing the Effectiveness of Active Learning: Introducing Artificial Data Generation in Active Learning for Land Use/Land Cover Classification}},
  journal = {Remote Sensing}
}
You might also like...
A collection of 100 Deep Learning images and visualizations
A collection of 100 Deep Learning images and visualizations

A collection of Deep Learning images and visualizations. The project has been developed by the AI Summer team and currently contains almost 100 images.

ManimML is a project focused on providing animations and visualizations of common machine learning concepts with the Manim Community Library.
ManimML is a project focused on providing animations and visualizations of common machine learning concepts with the Manim Community Library.

ManimML ManimML is a project focused on providing animations and visualizations of common machine learning concepts with the Manim Community Library.

Easily pull telemetry data and create beautiful visualizations for analysis.
Easily pull telemetry data and create beautiful visualizations for analysis.

This repository is a work in progress. Anything and everything is subject to change. Porpo Table of Contents Porpo Table of Contents General Informati

Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.
Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation. Intel iHD GPU (iGPU) support. NVIDIA GPU (dGPU) support.

mtomo Multiple types of NN model optimization environments. It is possible to directly access the host PC GUI and the camera to verify the operation.

The pyrelational package offers a flexible workflow to enable active learning with as little change to the models and datasets as possible
The pyrelational package offers a flexible workflow to enable active learning with as little change to the models and datasets as possible

pyrelational is a python active learning library developed by Relation Therapeutics for rapidly implementing active learning pipelines from data management, model development (and Bayesian approximation), to creating novel active learning strategies.

Rayvens makes it possible for data scientists to access hundreds of data services within Ray with little effort.
Rayvens makes it possible for data scientists to access hundreds of data services within Ray with little effort.

Rayvens augments Ray with events. With Rayvens, Ray applications can subscribe to event streams, process and produce events. Rayvens leverages Apache

Memoized coduals - Shows that it is possible to implement reverse mode autodiff using a variation on the dual numbers called the codual numbers This repository contains the source code and data for reproducing results of Deep Continuous Clustering paper
This repository contains the source code and data for reproducing results of Deep Continuous Clustering paper

Deep Continuous Clustering Introduction This is a Pytorch implementation of the DCC algorithms presented in the following paper (paper): Sohil Atul Sh

Comments
  • Consider modifying default BYOL hyper-parameters for smaller batch sizes

    Consider modifying default BYOL hyper-parameters for smaller batch sizes

    Applicable to both BYOL and SimSiam: Some hyperparameters might need to be added. Some are hard-coded to the default values.

    Taken from the BYOL paper: Screenshot from 2022-03-18 17-54-43

    opened by joaopfonseca 1
  • Remove computer vision models, augmentations and datasets

    Remove computer vision models, augmentations and datasets

    They will be removed in the next release since:

    1. I'm not going to used these methods anytime soon and I don't have the time to test them properly
    2. They are out of scope of the library. It is meant to be used for machine learning techniques, focused on tabular data. In the feature it may be worth considering the development of another library for computer vision, for example.
    3. Setting Pytorch as a dependency for a reduced part of the library isn't particularly efficient.
    wontfix 
    opened by joaopfonseca 0
  • Host all raw data from datasets submodule elsewhere

    Host all raw data from datasets submodule elsewhere

    With Python 3.11, downloading some datasets returns an SSL error (when unsafe legacy renegotiation disabled). It happens when the server doesn't support "RFC 5746 secure renegotiation" and the client is using OpenSSL 3, which enforces that standard by default (source).

    Hosting the raw data elsewhere should fix this issue.

    bug 
    opened by joaopfonseca 0
  • Review and add examples to documentation

    Review and add examples to documentation

    The readthedocs page is getting a bit outdated:

    • [x] Add support for Python 3.10
    • [ ] Add support for Python 3.11
    • [ ] Check for missing, deleted or renamed functions and objects
    • [ ] Review content as a whole
    • [ ] Add examples to documentation
    • [ ] Add dependency groups to documentation
    • [ ] README contains dependencies that will no longer be used
    documentation 
    opened by joaopfonseca 0
Releases(v0.4a2)
  • v0.4a2(Jan 2, 2023)

    NOTE: This pre-release contains implementations of algorithms for Self-supervised learning (BYOL and SimSiam). This release also contains objects to download image data from Pytorch and general definitions for image augmentations. They will be removed in the next release since:

    1. I'm not going to used these methods anytime soon and I don't have the time to test them properly
    2. They are out of scope of the library. It is meant to be used for machine learning techniques, focused on tabular data. In the feature it may be worth considering the development of another library for computer vision, for example.
    3. Setting Pytorch as a dependency for a reduced part of the library isn't particularly efficient.

    Full Changelog: https://github.com/joaopfonseca/ml-research/compare/v0.4a1...v0.4a2

    Source code(tar.gz)
    Source code(zip)
  • v0.4a1(Apr 14, 2022)

  • v0.3.4(Feb 14, 2022)

  • v0.3.3(Feb 14, 2022)

  • v0.3.2(Feb 14, 2022)

  • v0.3.1(Feb 14, 2022)

  • v0.3.0(Feb 14, 2022)

  • v0.2.1(Feb 14, 2022)

  • v0.2.0(Feb 14, 2022)

  • 0.1.0(Feb 14, 2022)

Owner
João Fonseca
PhD student | Researcher | Invited lecturer @ NOVA Information Management School
João Fonseca
The materials used in the SaxonJS tutorial presented at Declarative Amsterdam, 2021

SaxonJS-Tutorial-2021, version 1.0.4 Last updated on 4 November, 2021. Table of contents Background Prerequisites Starting a web server Running a Java

Saxonica 11 Oct 23, 2022
GAN JAX - A toy project to generate images from GANs with JAX

GAN JAX - A toy project to generate images from GANs with JAX This project aims to bring the power of JAX, a Python framework developped by Google and

Valentin Goldité 14 Nov 29, 2022
This code reproduces the results of the paper, "Measuring Data Leakage in Machine-Learning Models with Fisher Information"

Fisher Information Loss This repository contains code that can be used to reproduce the experimental results presented in the paper: Awni Hannun, Chua

Facebook Research 43 Dec 30, 2022
Starter kit for getting started in the Music Demixing Challenge.

Music Demixing Challenge - Starter Kit 👉 Challenge page This repository is the Music Demixing Challenge Submission template and Starter kit! Clone th

AIcrowd 106 Dec 20, 2022
Development of IP code based on VIPs and AADM

Sparse Implicit Processes In this repository we include the two different versions of the SIP code developed for the article Sparse Implicit Processes

1 Aug 22, 2022
Official repository of "DeepMIH: Deep Invertible Network for Multiple Image Hiding", TPAMI 2022.

DeepMIH: Deep Invertible Network for Multiple Image Hiding (TPAMI 2022) This repo is the official code for DeepMIH: Deep Invertible Network for Multip

Junpeng Jing 67 Nov 22, 2022
code for our ECCV-2020 paper: Self-supervised Video Representation Learning by Pace Prediction

Video_Pace This repository contains the code for the following paper: Jiangliu Wang, Jianbo Jiao and Yunhui Liu, "Self-Supervised Video Representation

Jiangliu Wang 95 Dec 14, 2022
Source code and data in paper "MDFEND: Multi-domain Fake News Detection (CIKM'21)"

MDFEND: Multi-domain Fake News Detection This is an official implementation for MDFEND: Multi-domain Fake News Detection which has been accepted by CI

Rich 40 Dec 18, 2022
Fast sparse deep learning on CPUs

SPARSEDNN **If you want to use this repo, please send me an email: [email pro

Ziheng Wang 44 Nov 30, 2022
For IBM Quantum Challenge 2021 (May 20 - 26)

IBM Quantum Challenge 2021 Introduction Commemorating the 40-year anniversary of the Physics of Computation conference, and 5-year anniversary of IBM

Qiskit Community 140 Jan 01, 2023
Implementation of Online Label Smoothing in PyTorch

Online Label Smoothing Pytorch implementation of Online Label Smoothing (OLS) presented in Delving Deep into Label Smoothing. Introduction As the abst

83 Dec 14, 2022
Fast, differentiable sorting and ranking in PyTorch

Torchsort Fast, differentiable sorting and ranking in PyTorch. Pure PyTorch implementation of Fast Differentiable Sorting and Ranking (Blondel et al.)

Teddy Koker 655 Jan 04, 2023
PyTorch Implementation of Temporal Output Discrepancy for Active Learning, ICCV 2021

Temporal Output Discrepancy for Active Learning PyTorch implementation of Semi-Supervised Active Learning with Temporal Output Discrepancy, ICCV 2021.

Siyu Huang 33 Dec 06, 2022
Implementation for "Manga Filling Style Conversion with Screentone Variational Autoencoder" (SIGGRAPH ASIA 2020 issue)

Manga Filling with ScreenVAE SIGGRAPH ASIA 2020 | Project Website | BibTex This repository is for ScreenVAE introduced in the following paper "Manga F

30 Dec 24, 2022
Garbage Detection system which will detect objects based on whether it is plastic waste or plastics or just garbage.

Garbage Detection using Yolov5 on Jetson Nano 2gb Developer Kit. Garbage detection system which will detect objects based on whether it is plastic was

Rishikesh A. Bondade 2 May 13, 2022
This is the offical website for paper ''Category-consistent deep network learning for accurate vehicle logo recognition''

The Pytorch Implementation of Category-consistent deep network learning for accurate vehicle logo recognition This is the offical website for paper ''

Wanglong Lu 28 Oct 29, 2022
Official Pytorch implementation of "Learning to Estimate Robust 3D Human Mesh from In-the-Wild Crowded Scenes", CVPR 2022

Learning to Estimate Robust 3D Human Mesh from In-the-Wild Crowded Scenes / 3DCrowdNet News 💪 3DCrowdNet achieves the state-of-the-art accuracy on 3D

Hongsuk Choi 113 Dec 21, 2022
CKD - Collaborative Knowledge Distillation for Heterogeneous Information Network Embedding

Collaborative Knowledge Distillation for Heterogeneous Information Network Embed

zhousheng 9 Dec 05, 2022
Keyword spotting on Arm Cortex-M Microcontrollers

Keyword spotting for Microcontrollers This repository consists of the tensorflow models and training scripts used in the paper: Hello Edge: Keyword sp

Arm Software 1k Dec 30, 2022
PyTorch code for ICLR 2021 paper Unbiased Teacher for Semi-Supervised Object Detection

Unbiased Teacher for Semi-Supervised Object Detection This is the PyTorch implementation of our paper: Unbiased Teacher for Semi-Supervised Object Detection

Facebook Research 366 Dec 28, 2022