Command line tool
When DeepLog is installed, it can be used from the command line.
The __main__.py file in the deeplog module implements this command line tool.
The command line tool provides a quick and easy interface to predict sequences from .csv files.
The full command line usage is given in its help page:
usage: deeplog.py [-h] [--csv CSV] [--txt TXT] [--length LENGTH] [--timeout TIMEOUT] [--hidden HIDDEN]
[-i INPUT] [-l LAYERS] [-k TOP] [--save SAVE] [--load LOAD] [-b BATCH_SIZE]
[-d DEVICE] [-e EPOCHS]
{train,predict}
Deeplog: Anomaly detection and diagnosis from system logs through deep learning
positional arguments:
{train,predict} mode in which to run DeepLog
optional arguments:
-h, --help show this help message and exit
Input parameters:
--csv CSV CSV events file to process
--txt TXT TXT events file to process
--length LENGTH sequence LENGTH (default = 20)
--timeout TIMEOUT sequence TIMEOUT (seconds) (default = inf)
DeepLog parameters:
--hidden HIDDEN hidden dimension (default = 64)
-i, --input INPUT input dimension (default = 300)
-l, --layers LAYERS number of lstm layers to use (default = 2)
-k, --top TOP accept any of the TOP predictions (default = 1)
--save SAVE save DeepLog to specified file
--load LOAD load DeepLog from specified file
Training parameters:
-b, --batch-size BATCH_SIZE batch size (default = 128)
-d, --device DEVICE train using given device (cpu|cuda|auto) (default = auto)
-e, --epochs EPOCHS number of epochs to train with (default = 10)
Examples
Use first half of <data.csv> to train DeepLog and use second half of <data.csv> to predict and test the prediction.
python3 -m deeplog train --csv <data.csv> --save deeplog.save # Training
python3 -m deeplog predict --csv <data.csv> --load deeplog.save # Predicting