Skip to content
This repository was archived by the owner on Nov 27, 2024. It is now read-only.

Commit e1c5308

Browse files
committed
Model configuration access
1 parent 648d74b commit e1c5308

File tree

6 files changed

+35
-25
lines changed

6 files changed

+35
-25
lines changed

OnnxStack.StableDiffusion/Config/ControlNetModelSet.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ namespace OnnxStack.StableDiffusion.Config
88
{
99
public record ControlNetModelSet : IOnnxModelSetConfig
1010
{
11-
public ControlNetType Type { get; set; }
12-
public DiffuserPipelineType PipelineType { get; set; }
1311
public string Name { get; set; }
1412
public bool IsEnabled { get; set; }
1513
public int DeviceId { get; set; }

OnnxStack.StableDiffusion/Models/AutoEncoderModel.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@ namespace OnnxStack.StableDiffusion.Models
55
{
66
public class AutoEncoderModel : OnnxModelSession
77
{
8-
private readonly float _scaleFactor;
8+
private readonly AutoEncoderModelConfig _configuration;
9+
910
public AutoEncoderModel(AutoEncoderModelConfig configuration) : base(configuration)
1011
{
11-
_scaleFactor = configuration.ScaleFactor;
12+
_configuration = configuration;
1213
}
1314

14-
public float ScaleFactor => _scaleFactor;
15+
public float ScaleFactor => _configuration.ScaleFactor;
1516
}
1617

1718
public record AutoEncoderModelConfig : OnnxModelConfig
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
11
using Microsoft.ML.OnnxRuntime;
22
using OnnxStack.Core.Config;
33
using OnnxStack.Core.Model;
4+
using OnnxStack.StableDiffusion.Enums;
45

56
namespace OnnxStack.StableDiffusion.Models
67
{
78
public class ControlNetModel : OnnxModelSession
89
{
10+
private readonly ControlNetModelConfig _configuration;
911
public ControlNetModel(ControlNetModelConfig configuration)
10-
: base(configuration) { }
12+
: base(configuration)
13+
{
14+
_configuration = configuration;
15+
}
16+
17+
public ControlNetType Type => _configuration.Type;
18+
public DiffuserPipelineType PipelineType => _configuration.PipelineType;
1119

1220
public static ControlNetModel Create(ControlNetModelConfig configuration)
1321
{
1422
return new ControlNetModel(configuration);
1523
}
1624

17-
public static ControlNetModel Create(string modelFile, int deviceId = 0, ExecutionProvider executionProvider = ExecutionProvider.DirectML)
25+
public static ControlNetModel Create(string modelFile, ControlNetType type, DiffuserPipelineType pipeline, int deviceId = 0, ExecutionProvider executionProvider = ExecutionProvider.DirectML)
1826
{
1927
var configuration = new ControlNetModelConfig
2028
{
@@ -23,11 +31,17 @@ public static ControlNetModel Create(string modelFile, int deviceId = 0, Executi
2331
ExecutionMode = ExecutionMode.ORT_SEQUENTIAL,
2432
InterOpNumThreads = 0,
2533
IntraOpNumThreads = 0,
26-
OnnxModelPath = modelFile
34+
OnnxModelPath = modelFile,
35+
Type = type,
36+
PipelineType = pipeline,
2737
};
2838
return new ControlNetModel(configuration);
2939
}
3040
}
3141

32-
public record ControlNetModelConfig : OnnxModelConfig;
42+
public record ControlNetModelConfig : OnnxModelConfig
43+
{
44+
public ControlNetType Type { get; set; }
45+
public DiffuserPipelineType PipelineType { get; set; }
46+
}
3347
}

OnnxStack.StableDiffusion/Models/TextEncoderModel.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ namespace OnnxStack.StableDiffusion.Models
55
{
66
public class TextEncoderModel : OnnxModelSession
77
{
8+
private readonly TextEncoderModelConfig _configuration;
9+
810
public TextEncoderModel(TextEncoderModelConfig configuration) : base(configuration)
911
{
10-
12+
_configuration = configuration;
1113
}
1214
}
1315

OnnxStack.StableDiffusion/Models/TokenizerModel.cs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,17 @@ namespace OnnxStack.StableDiffusion.Models
55
{
66
public class TokenizerModel : OnnxModelSession
77
{
8-
private readonly int _padTokenId;
9-
private readonly int _blankTokenId;
10-
private readonly int _tokenizerLimit;
11-
private readonly int _tokenizerLength;
8+
private readonly TokenizerModelConfig _configuration;
129

1310
public TokenizerModel(TokenizerModelConfig configuration) : base(configuration)
1411
{
15-
_padTokenId = configuration.PadTokenId;
16-
_blankTokenId = configuration.BlankTokenId;
17-
_tokenizerLimit = configuration.TokenizerLimit;
18-
_tokenizerLength = configuration.TokenizerLength;
12+
_configuration = configuration;
1913
}
2014

21-
public int TokenizerLimit => _tokenizerLimit;
22-
public int TokenizerLength => _tokenizerLength;
23-
public int PadTokenId => _padTokenId;
24-
public int BlankTokenId => _blankTokenId;
15+
public int TokenizerLimit => _configuration.TokenizerLimit;
16+
public int TokenizerLength => _configuration.TokenizerLength;
17+
public int PadTokenId => _configuration.PadTokenId;
18+
public int BlankTokenId => _configuration.BlankTokenId;
2519
}
2620

2721
public record TokenizerModelConfig : OnnxModelConfig

OnnxStack.StableDiffusion/Models/UNetConditionModel.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ namespace OnnxStack.StableDiffusion.Models
66
{
77
public class UNetConditionModel : OnnxModelSession
88
{
9-
private readonly ModelType _modelType;
9+
private readonly UNetConditionModelConfig _configuration;
10+
1011
public UNetConditionModel(UNetConditionModelConfig configuration) : base(configuration)
1112
{
12-
_modelType = configuration.ModelType;
13+
_configuration = configuration;
1314
}
1415

15-
public ModelType ModelType => _modelType;
16+
public ModelType ModelType => _configuration.ModelType;
1617
}
1718

1819

0 commit comments

Comments
 (0)