Package Guide

To work with the DCCR project, you should know:

Installation

Because it is an experimental research repository, the DCCR package is not registered on JuliaHub. To set Julia component the project up, you must:

julia> ]
(@v1.9) pkg> activate .
(DCCR) pkg> instantiate

This will download all of the dependencies of the project and precompile where possible.

Overview

The DCCR project is mainly a Julia programming language research project, so it is not designed as a package for use and installation through JuliaHub as other packages are. However, the main driver libraries of the project are bundled into a DCCR module, so this module is loaded in the preamble of all experiments as a concise way of loading common code.

The project utilizes DrWatson for workflow utilities such as directory operations, results saving/loading, and simulation configurations. The file structure of this project differs slightly from the DrWatson default setup, so extra utilities are used for pointing to the correct source data directory and destination results directory according to each experiment.

In addition to the Julia components, some experiments are written in Python, particularly those that utilize the avalanche library for continual learning experiments. Some of these even utilize PyCall to run Julia code from Python and vice versa.

Each experiment contains a README outlining the setup and usage of the experiment such as in the setup of custom PyCall Python environments and in the running of parallel and distibuted experiments.

Experiments

To run an experiment, setup the DCCR project on your target system and run the experiment either in an interactive session with include(...):

include("src/experiments/1_accuracy/1_unshuffled.jl")

or from a terminal command line (from the top of the project directory):

julia --project=. src/experiments/1_accuracy/1_unshuffled.jl
Note

This project is still under development, so detailed usage guides beyond this have not yet been written about the project's functionality. Please see the other sections of this documentation for examples, definition indices, and more.