22pub enum Model {
33 Modnet ,
44 Rmbg14 ,
5- Rmbg14Fp16 ,
6- Rmbg14Quantized ,
7- U2NET ,
8- U2NETP ,
95}
106
117impl Model {
128 pub fn all_models ( ) -> Vec < Self > {
13- vec ! [
14- Self :: Modnet ,
15- Self :: Rmbg14 ,
16- Self :: Rmbg14Fp16 ,
17- Self :: Rmbg14Quantized ,
18- Self :: U2NET ,
19- Self :: U2NETP ,
20- ]
9+ vec ! [ Self :: Modnet , Self :: Rmbg14 ]
2110 }
2211
2312 pub fn to_input_size ( & self ) -> ( u32 , u32 ) {
2413 match self {
2514 Model :: Modnet => ( 512 , 512 ) ,
26- Model :: Rmbg14 | Model :: Rmbg14Fp16 | Model :: Rmbg14Quantized => ( 1024 , 1024 ) ,
27- Model :: U2NET | Model :: U2NETP => ( 320 , 320 ) ,
15+ Model :: Rmbg14 => ( 1024 , 1024 ) ,
2816 }
2917 }
3018
3119 pub fn to_str ( & self ) -> & ' static str {
3220 match self {
3321 Self :: Modnet => "modnet_photographic_portrait_matting.onnx" ,
3422 Self :: Rmbg14 => "rmbg-1.4.onnx" ,
35- Self :: Rmbg14Fp16 => "rmbg-1.4_fp16.onnx" ,
36- Self :: Rmbg14Quantized => "rmbg-1.4_quantized.onnx" ,
37- Self :: U2NET => "u2net.onnx" ,
38- Self :: U2NETP => "u2netp.onnx" ,
3923 }
4024 }
4125
4226 pub fn try_from ( model : & str ) -> Option < Self > {
4327 match model {
4428 "modnet_photographic_portrait_matting.onnx" => Some ( Model :: Modnet ) ,
4529 "rmbg-1.4.onnx" => Some ( Model :: Rmbg14 ) ,
46- "rmbg-1.4_fp16.onnx" => Some ( Model :: Rmbg14Fp16 ) ,
47- "rmbg-1.4_quantized.onnx" => Some ( Model :: Rmbg14Quantized ) ,
48- "u2net.onnx" => Some ( Model :: U2NET ) ,
49- "u2netp.onnx" => Some ( Model :: U2NETP ) ,
5030 _ => None ,
5131 }
5232 }
@@ -57,16 +37,6 @@ impl Model {
5737 "https://huggingface.co/TheEeeeLin/HivisionIDPhotos_matting/resolve/034769305faf641ad94edfac654aba13be06e816/modnet_photographic_portrait_matting.onnx"
5838 }
5939 Self :: Rmbg14 => "https://huggingface.co/briaai/RMBG-1.4/resolve/main/onnx/model.onnx" ,
60- Self :: Rmbg14Fp16 => {
61- "https://huggingface.co/briaai/RMBG-1.4/resolve/main/onnx/model_fp16.onnx"
62- }
63- Self :: Rmbg14Quantized => {
64- "https://huggingface.co/briaai/RMBG-1.4/resolve/main/onnx/model_quantized.onnx"
65- }
66- Self :: U2NET => "https://huggingface.co/AlenZeng/u2netonnxmodel/resolve/main/u2net.onnx" ,
67- Self :: U2NETP => {
68- "https://huggingface.co/martintomov/comfy/resolve/1b0c3477e152d8a2dea8e4e418a6dba32de56fda/rembg/u2netp.onnx"
69- }
7040 }
7141 }
7242}
0 commit comments