fyp/sql/models.sql
2023-10-19 10:44:13 +01:00

76 lines
2.1 KiB
SQL

-- drop table if exists model_data_point;
-- drop table if exists model_definition_layer;
-- drop table if exists model_definition;
-- drop table if exists models;
create table if not exists models (
id uuid primary key default gen_random_uuid(),
user_id uuid references users (id) not null,
name varchar (70) not null,
-- Status:
-- -1: failed preparing
-- 1: preparing
status integer default 1,
width integer,
height integer,
color_mode varchar (20),
format varchar (20)
);
-- drop table if exists model_data_point;
-- drop table if exists model_classes;
create table if not exists model_classes (
id uuid primary key default gen_random_uuid(),
model_id uuid references models (id) on delete cascade,
name varchar (70) not null,
class_order integer
);
-- drop table if exists model_data_point;
create table if not exists model_data_point (
id uuid primary key default gen_random_uuid(),
class_id uuid references model_classes (id) on delete cascade,
file_path text not null,
-- 1 training
-- 2 testing
model_mode integer default 1,
-- -1 Error on creation
-- 1 OK
status integer not null,
status_message text
);
-- drop table if exists model_definition;
create table if not exists model_definition (
id uuid primary key default gen_random_uuid(),
model_id uuid references models (id) on delete cascade,
accuracy integer default 0,
target_accuracy integer not null,
epoch integer default 0,
-- TODO add max epoch
-- 1: Pre Init
-- 2: Init
-- 3: Training
-- 4: Tranied
-- 5: Ready
status integer default 1,
created_on timestamp default current_timestamp,
epoch_progress integer default 0
);
-- drop table if exists model_definition_layer;
create table if not exists model_definition_layer (
id uuid primary key default gen_random_uuid(),
def_id uuid references model_definition (id) on delete cascade,
layer_order integer not null,
-- 1: input
-- 2: dense
-- 3: flatten
-- TODO add conv
layer_type integer not null,
-- ei 28,28,1
-- a 28x28 grayscale image
shape text not null
);