-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcli.py
51 lines (41 loc) · 1.5 KB
/
cli.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import logging
import argparse
import numpy as np
def read_data(train_path, test_path):
logging.info("Reading training data from: " + train_path)
train = np.loadtxt(train_path)
logging.info("Reading test data from: " + test_path)
test = np.loadtxt(test_path)
X_train, y_train = train[:, 1:], train[:, 0].astype(np.int)
logging.info("Train data shape: %d X %d" % X_train.shape)
X_test, y_test = test[:, 1:], test[:, 0].astype(np.int)
logging.info("Test data shape: %d X %d" % X_test.shape)
return X_train, y_train, X_test, y_test
def make_parser():
"""Create CLI parser."""
parser = argparse.ArgumentParser("Get stats from time series dataset files")
parser.add_argument(
"-tr", "--train",
default="train.txt",
help="path to training data file")
parser.add_argument(
"-te", "--test",
default="test.txt",
help="path to test data file")
parser.add_argument(
"-v", "--verbosity",
type=int, default=1,
help="verbosity level for logging; default=1 (INFO)")
return parser
def parse_args(parser):
"""Parse arguments using the given parser and configure logging.
:returns: args parsed.
"""
args = parser.parse_args()
reload(logging)
logging.basicConfig(
level=(logging.INFO if args.verbosity == 1
else logging.DEBUG if args.verbosity > 1
else logging.ERROR),
format="[%(levelname)s][%(asctime)s]: %(message)s")
return args