This page describes the database schema of the run time report that is generated by DeepView.Profile’s
time subcommand. Recall
that DeepView.Profile’s reports (memory and run time) are SQLite database files.
DeepView.Profile’s run time report contains a breakdown of the run times of each operation that runs in one training iteration. DeepView.Profile only tracks the operations that execute as a part of either the forward and backward pass.
For each tracked operation, DeepView.Profile also includes the stack trace leading to that operation. DeepView.Profile only includes the stack frames associated with files inside your project (i.e. files under your project’s root directory).
CREATE TABLE run_time_entries ( id INTEGER PRIMARY KEY, operation_name TEXT NOT NULL, forward_ms REAL NOT NULL, backward_ms REAL );
This table holds the measured run time(s) of each tracked operation. Each entry in this table represents one operation instance (i.e. one invocation of an operation). The columns in this table are self-explanatory.
NOTE: DeepView.Profile reports run times in milliseconds.
Note that not every operation is necessarily involved in the backward pass. When an operation is not in the backward pass,
backward_ms will be
CREATE TABLE stack_frames ( ordering INTEGER NOT NULL, file_path TEXT NOT NULL, line_number INTEGER NOT NULL, entry_id INTEGER NOT NULL, PRIMARY KEY (entry_id, ordering) );
This table holds the stack frames associated with each tracked operation. The
entry_id column is a foreign key that references the
id column in
NOTE DeepView.Profile does not add an explicit foreign key constraint to the
There may be multiple stack frames associated with any given tracked operation (i.e. any given
ordering column is used to keep track of the ordering among stack frames that share the same
entry_id. When sorted in ascending order by the
ordering column, the stack frames will be ordered from most-specific (i.e. closest to the operation’s call site) to least-specific (i.e. farthest from the operation’s call site).