Added ability to store CNN models
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-07-28 20:19:52 +02:00
parent fe965706b5
commit 284dfce735
12 changed files with 224 additions and 67 deletions

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
from .db import db
from .default import Default
from .aimodel import AIModel
from .aimodel import AIModel, AIModelType
from .svmdetails import SVMDetails

View File

@ -3,16 +3,14 @@ from .db import db
from sqlalchemy.sql import func
from sqlalchemy.dialects.postgresql import UUID
import uuid
import enum
class AIModelType(enum.Enum):
SVM = 1
CNN = 2
class AIModel(db.Model):
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, unique=True, nullable=False)
timestamp = db.Column(db.TIMESTAMP, nullable=False, server_default=func.now())
# details
mid_window = db.Column(db.Float)
mid_step = db.Column(db.Float)
short_window = db.Column(db.Float)
short_step = db.Column(db.Float)
compute_beat = db.Column(db.Boolean)
type = db.Column(db.String(15))
type = db.Column(db.Enum(AIModelType), nullable=False)

View File

@ -2,7 +2,11 @@
from .db import db
from sqlalchemy.dialects.postgresql import UUID
from .aimodel import AIModelType
class Default(db.Model):
aimodel_id = db.Column(UUID(as_uuid=True), db.ForeignKey("ai_model.id"), nullable=False, primary_key=True)
type = db.Column(db.Enum(AIModelType), unique=True, nullable=False, primary_key=True)
aimodel_id = db.Column(UUID(as_uuid=True), db.ForeignKey("ai_model.id"), nullable=False)
aimodel = db.relationship("AIModel", backref=db.backref("default", lazy=True, cascade="save-update, merge, delete, delete-orphan"))

View File

@ -0,0 +1,16 @@
#!/usr/bin/env python3
from .db import db
from sqlalchemy.dialects.postgresql import UUID
class SVMDetails(db.Model):
aimodel_id = db.Column(UUID(as_uuid=True), db.ForeignKey("ai_model.id"), nullable=False, primary_key=True)
aimodel = db.relationship("AIModel", backref=db.backref("details", lazy=True, cascade="save-update, merge, delete, delete-orphan"))
# details
mid_window = db.Column(db.Float)
mid_step = db.Column(db.Float)
short_window = db.Column(db.Float)
short_step = db.Column(db.Float)
compute_beat = db.Column(db.Boolean)