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:
- Download a
Juliadistribution and install it on your system - Git clone this repository or download a zip.
- Run
juliawithin the top of theDCCRdirectory, and run the following commands to instantiate the package:
julia> ]
(@v1.9) pkg> activate .
(DCCR) pkg> instantiateThis 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.jlThis 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.