Skip to main content

Lifelong learning logger

Project description

Lifelong Learning Logger (L2Logger)

APL Logo

Table of Contents

Introduction

The Lifelong Learning Logger is a utility library provided for producing logs in a convenient format for the provided l2metrics module, but can also be used independently.

Logger Term Definitions/Glossary

Strongly recommend starting here, detailed explanation of the terms used throughout: docs/definitions.md.

Logger Output Format

Detailed explanations of the logging output structure/format can be seen via docs/log_format.md.

Interface/Usage

At a high level, the library is used simply by creating an instance of the logger object, then by invoking the log_record member function on it at least once per experience.

For a detailed explanation of the provided functions, see docs/interface.md.

Examples

See documentation in the examples folder at examples/README.md.

Tests

See documentation in the test folder at test/README.md.

Log Aggregation

L2Logger provides a module for exporting an aggregated data table from an L2Logger directory as a TSV, CSV, or Feather file.

Aggregation Example

The following is a simple example for how to aggregate a log directory into a single TSV file:

python -m l2logger.aggregate <path/to/log_directory>

Aggregation Usage

usage: python -m l2logger.aggregate [-h] [-f {tsv,csv,feather}] [-o OUTPUT] log_dir

Aggregate data within a log directory from the command line

positional arguments:
  log_dir               Log directory of scenario

optional arguments:
  -h, --help            show this help message and exit
  -f {tsv,csv,feather}, --format {tsv,csv,feather}
                        Output format of data table
  -o OUTPUT, --output OUTPUT
                        Output filename

Log Validation

Logs generated by L2Logger should already be in the proper format for ingestion by the Metrics Framework. However, log validation can also be done manually using the provided validate.py module.

Validation Example

python -m l2logger.validate <path/to/log_directory>

Validation Usage

usage: python -m l2logger.validate [-h] log_dir

Validate log format from the command line

positional arguments:
  log_dir     Log directory of scenario

optional arguments:
  -h, --help  show this help message and exit

Note: This script only validates one instance of a scenario output; it does not run recursively on a directory containing multiple scenario logs.

Changelog

See CHANGELOG.md for a list of notable changes to the project.

License

See LICENSE for license information.

Acknowledgements

Primary development of Lifelong Learning Logger (L2Logger) was funded by the DARPA Lifelong Learning Machines (L2M) Program.

© 2021-2022The Johns Hopkins University Applied Physics Laboratory LLC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

l2logger-1.8.2.tar.gz (14.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page