Framework for Analysis of Class-Incremental Learning (FACIL)

Dec 31, 2021 | Data Science

Welcome to the fascinating world of Class-Incremental Learning through FACIL! This framework is designed to reproduce the results from the renowned paper: Class-incremental learning: survey and performance evaluation. Let’s dive into how you can effectively utilize FACIL for your projects.

What is FACIL?

FACIL originated from research by Marc Masana and colleagues, presenting a structured approach to incremental learning.

This framework is crafted with the community in mind, aiming to expand approaches and tools for developer experimentation and analysis.

Key Features

FACIL provides a robust framework that supports both class-incremental and task-incremental learning. The experiments yield results for both task-aware and task-agnostic evaluations, with different configurations for various datasets and learning tasks. Here’s a quick insight on what you can accomplish:

Setting Task-ID at Train Time Task-ID at Test Time # of Tasks
Class-incremental Learning Yes No ≥1
Task-incremental Learning Yes Yes ≥1
Non-incremental Supervised Learning Yes Yes 1

Current available approaches include:

  • Finetuning
  • Freezing
  • Joint
  • LwF
  • iCaRL
  • EWC
  • PathInt
  • MAS
  • RWalk
  • EEIL
  • LwM
  • DMC
  • BiC
  • LUCIR
  • IL2M

How To Use FACIL

Using FACIL is straightforward. Here’s a step-by-step guide:

  • Clone the GitHub repository:
  • git clone https://github.com/mmasana/FACIL.git
    cd FACIL
  • Optionally, create an environment to run the code:
    • Using a requirements file:
    • python3 -m pip install -r requirements.txt
    • Using a conda environment:
    • conda env create --file environment.yml --name FACIL

      Note: Remember to set the appropriate version of your CUDA driver in environment.yml.

  • Activate the environment:
  • conda activate FACIL
  • To run the basic code:
  • python3 -u src/main_incremental.py

More options can be explored in the src directory, which includes GridSearch usage, loggers, datasets, and networks.

Scripts Available

FACIL provides scripts to reproduce specific scenarios proposed in the research. For instance, experiments with:

  • CIFAR-100 (10 tasks) with ResNet-32 without exemplars
  • CIFAR-100 (10 tasks) with ResNet-32 with fixed and growing memory
  • More scenarios are coming soon!

All scripts run 10 times to calculate the mean and standard deviation of results, which you can find in the scripts folder.

License

Please check the MIT license included in the repository for more details.

Troubleshooting Ideas

If you face issues while setting up or using FACIL, consider the following steps:

  • Ensure all dependencies are accurately installed based on the requirements.txt or environment.yml.
  • Verify your environment is activated correctly before running the scripts.
  • Consult GitHub issues and documentation for similar experiences and solutions.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox