fyp/sql/models.sql

110 lines
3.0 KiB
MySQL
Raw Normal View History

-- 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,
2024-01-31 21:48:35 +00:00
-- Types:
-- 0: Unset
-- 1: simple
-- 2: expandable
model_type integer default 0,
width integer,
height integer,
color_mode varchar (20),
2023-10-22 23:02:39 +01:00
format varchar (20) default ''
);
-- 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,
2023-10-02 21:15:31 +01:00
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
2023-10-10 12:28:49 +01:00
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,
2023-10-21 00:26:52 +01:00
accuracy real 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,
2023-10-12 12:08:12 +01:00
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
2024-01-31 21:48:35 +00:00
shape text not null,
-- Type based on the expandability
-- 0: not expandalbe model
-- 1: fixed
-- 2: head
exp_type integer default 0
);
-- drop table if exists exp_model_head;
create table if not exists exp_model_head (
id uuid primary key default gen_random_uuid(),
def_id uuid references model_definition (id) on delete cascade,
-- Start order id to the class that this model satifies inclusive
range_start integer not null,
-- end order id to the class that this model satifies inclusive
range_end integer not null,
accuracy real 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
);