diff --git a/models/Model_AMP/config_schema.json b/models/Model_AMP/config_schema.json index 56c492e..cc2b25d 100644 --- a/models/Model_AMP/config_schema.json +++ b/models/Model_AMP/config_schema.json @@ -185,7 +185,8 @@ "type": "boolean" }, "batch_size": { - "type": "integer" + "type": "integer", + "minimum": 1 }, "gan_power": { "type": "number", diff --git a/models/Model_Quick96/Model.py b/models/Model_Quick96/Model.py index fa9e215..7ac3f0d 100644 --- a/models/Model_Quick96/Model.py +++ b/models/Model_Quick96/Model.py @@ -10,6 +10,8 @@ from facelib import FaceType from models import ModelBase from samplelib import * +from pathlib import Path + class QModel(ModelBase): #override def on_initialize(self): @@ -317,5 +319,9 @@ class QModel(ModelBase): return self.predictor_func, (self.resolution, self.resolution, 3), merger.MergerConfigMasked(face_type=self.face_type, default_mode = 'overlay', ) + #override + def get_config_schema_path(self): + config_path = Path(__file__).parent.absolute() / Path("config_schema.json") + return config_path Model = QModel diff --git a/models/Model_Quick96/config_schema.json b/models/Model_Quick96/config_schema.json new file mode 100644 index 0000000..b1d2239 --- /dev/null +++ b/models/Model_Quick96/config_schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/dfl_config", + "definitions": { + "dfl_config": { + "type": "object", + "additionalProperties": false, + "properties": { + "batch_size": { + "type": "integer", + "minimum": 1 + } + }, + "required": [ + "batch_size", + ], + "title": "dfl_config" + } + } +} \ No newline at end of file diff --git a/models/Model_XSeg/Model.py b/models/Model_XSeg/Model.py index b0addfd..b6e875f 100644 --- a/models/Model_XSeg/Model.py +++ b/models/Model_XSeg/Model.py @@ -11,6 +11,8 @@ from facelib import FaceType, XSegNet from models import ModelBase from samplelib import * +from pathlib import Path + class XSegModel(ModelBase): def __init__(self, *args, **kwargs): @@ -279,5 +281,10 @@ class XSegModel(ModelBase): output_names=['out_mask:0'], opset=13, output_path=output_path) + + #override + def get_config_schema_path(self): + config_path = Path(__file__).parent.absolute() / Path("config_schema.json") + return config_path Model = XSegModel \ No newline at end of file diff --git a/models/Model_XSeg/config_schema.json b/models/Model_XSeg/config_schema.json new file mode 100644 index 0000000..e53fc8b --- /dev/null +++ b/models/Model_XSeg/config_schema.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$ref": "#/definitions/dfl_config", + "definitions": { + "dfl_config": { + "type": "object", + "additionalProperties": false, + "properties": { + "use_fp16": { + "type": "boolean" + }, + "face_type": { + "type": "string", + "enum": [ + "h", + "mf", + "f", + "wf", + "head", + "custom" + ] + }, + "pretrain": { + "type": "boolean" + }, + "batch_size": { + "type": "integer", + "minimum": 1 + } + }, + "required": [ + "batch_size", + "face_type", + "pretrain", + ], + "title": "dfl_config" + } + } +} \ No newline at end of file