scalelsd 笔记 线段识别 本地部署 模型架构

ant-research/scalelsd | DeepWiki

https://arxiv.org/html/2506.09369?_immersive_translate_auto_translate=1

https://gitee.com/njsgcs/scalelsd

https://github.com/ant-research/scalelsd

https://huggingface.co/cherubicxn/scalelsd

模型链接: 

https://cdn-lfs-us-1.hf.co/repos/4b/b7/4bb773266cdc6bd3898cae785776f1dd52f835c2d4fcdf132ca4c487ecac7942/d0a7333c4de518a70af7d6ea4a283aa0ce9ffe1047525373b94070b1d1d4003f?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27scalelsd-vitbase-v2-train-sa1b.pt%3B+filename%3D%22scalelsd-vitbase-v2-train-sa1b.pt%22%3B&Expires=1752922960&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc1MjkyMjk2MH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy11cy0xLmhmLmNvL3JlcG9zLzRiL2I3LzRiYjc3MzI2NmNkYzZiZDM4OThjYWU3ODU3NzZmMWRkNTJmODM1YzJkNGZjZGYxMzJjYTRjNDg3ZWNhYzc5NDIvZDBhNzMzM2M0ZGU1MThhNzBhZjdkNmVhNGEyODNhYTBjZTlmZmUxMDQ3NTI1MzczYjk0MDcwYjFkMWQ0MDAzZj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPSoifV19&Signature=fCSnqgEbqmYV7X3VhNo-uEz-ZO6gRvRUqtS4TzrEO2iSJ6U0LU%7EbrVwWwhc69FveoaXgoq7ikmJRWv7MZxomAF5qxPxQIr3Nhor1KyDeEp267ikFN6ASBAA8IcJ67unIWzT4d3CTrbNVh8wT0pn1JsL4gGK-Xl2A0x7%7ErVb9exw-8h7AUGDejkvg5yFbzrRIw6U4QqyuwOFpicMlZXNaPBPnjfyKuQmfdz4UzbZ4C5WeKKoUAa6sxsMTu-GEF4wv%7ETBbjQS1ev5ZQ2%7EYaZxZnICvEwcwdNxSpJPiZuJrrZq95xSOcTaTFORO-1wDT7zXJY9pdFPofzIV2CBv1i6AAQ__&Key-Pair-Id=K24J24Z295AEI9


https://cdn-lfs-us-1.hf.co/repos/4b/b7/4bb773266cdc6bd3898cae785776f1dd52f835c2d4fcdf132ca4c487ecac7942/a7eaabbfc5e79f8fc407251f923f791b39c739042eb585ca52bb85abe64c4ee7?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27scalelsd-vitbase-v1-train-sa1b.pt%3B+filename%3D%22scalelsd-vitbase-v1-train-sa1b.pt%22%3B&Expires=1752923360&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc1MjkyMzM2MH19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy11cy0xLmhmLmNvL3JlcG9zLzRiL2I3LzRiYjc3MzI2NmNkYzZiZDM4OThjYWU3ODU3NzZmMWRkNTJmODM1YzJkNGZjZGYxMzJjYTRjNDg3ZWNhYzc5NDIvYTdlYWFiYmZjNWU3OWY4ZmM0MDcyNTFmOTIzZjc5MWIzOWM3MzkwNDJlYjU4NWNhNTJiYjg1YWJlNjRjNGVlNz9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPSoifV19&Signature=rtwQzCIgS2POke1hHELX2G7I-9MbRqzH51BWuHemwviaTAHyp1HaxOf3e%7EX1bGOld1k57ZR%7EHzeWh6D1PRLpaO-aG%7EgyhmCydrSIgkUzHd9VB2vGdGkoky8l9vP3HpUUkt7ERXCLInynopDd5191g3diZ0WyYy05d69Qel1ld-vhWlBOFrp8BzY%7EzLWnfITlCu0PGSlexlM86P9k0HaWor3vwqUYFJ0b0FVJ7DSrbRKIayP-S4M1fR4amT17tCXNDn3Jb-B2z4Eu1un-YpP67GeiItMuS0RtB4qkjHbJpVFKIQSvP0i08qb0HQuxiiN%7Ez%7EepWWWW1XxraAaWhbFcWA__&Key-Pair-Id=K24J24Z295AEI9

python predictor/predict.py -i Drawing_Annotation_Recognition8.v1i.yolov12/test/images/Snipaste_2025-07-12_19-54-54_png.rf.a562ea098219605eff9cb4ce58f09d0e.jpg

 

 

ptsd了看到这个界面就想到ai画图

 

比霍尔识别好,知道这里分两段,但是无中生有了线也缺线了,

 ​​​​​​​

 

有encoder

 

 

torchinfo看这个模型会报错好像是动态模型,模型里带if结构

 

 with open("model_structure.txt", "w") as f:f.write(str(model))
ScaleLSD((backbone): DPTFieldModel((pretrained): Module((model): VisionTransformer((patch_embed): HybridEmbed((backbone): ResNetV2((stem): Sequential((conv): StdConv2dSame(3, 64, kernel_size=(7, 7), stride=(2, 2), bias=False)(norm): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(pool): MaxPool2dSame(kernel_size=(3, 3), stride=(2, 2), padding=(0, 0), dilation=(1, 1), ceil_mode=False))(stages): Sequential((0): ResNetStage((blocks): Sequential((0): Bottleneck((downsample): DownsampleConv((conv): StdConv2dSame(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): Identity()))(conv1): StdConv2dSame(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(1): Bottleneck((conv1): StdConv2dSame(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(2): Bottleneck((conv1): StdConv2dSame(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 64, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))))(1): ResNetStage((blocks): Sequential((0): Bottleneck((downsample): DownsampleConv((conv): StdConv2dSame(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)(norm): GroupNormAct(32, 512, eps=1e-05, affine=True(drop): Identity()(act): Identity()))(conv1): StdConv2dSame(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(128, 128, kernel_size=(3, 3), stride=(2, 2), bias=False)(norm2): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 512, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(1): Bottleneck((conv1): StdConv2dSame(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 512, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(2): Bottleneck((conv1): StdConv2dSame(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 512, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(3): Bottleneck((conv1): StdConv2dSame(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 128, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 512, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))))(2): ResNetStage((blocks): Sequential((0): Bottleneck((downsample): DownsampleConv((conv): StdConv2dSame(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)(norm): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity()))(conv1): StdConv2dSame(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(2, 2), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(1): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(2): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(3): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(4): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(5): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(6): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(7): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True))(8): Bottleneck((conv1): StdConv2dSame(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm1): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv2): StdConv2dSame(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(norm2): GroupNormAct(32, 256, eps=1e-05, affine=True(drop): Identity()(act): ReLU(inplace=True))(conv3): StdConv2dSame(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)(norm3): GroupNormAct(32, 1024, eps=1e-05, affine=True(drop): Identity()(act): Identity())(drop_path): Identity()(act3): ReLU(inplace=True)))))(norm): Identity()(head): ClassifierHead((global_pool): SelectAdaptivePool2d(pool_type=, flatten=Identity())(drop): Dropout(p=0.0, inplace=False)(fc): Identity()(flatten): Identity()))(proj): Conv2d(1024, 768, kernel_size=(1, 1), stride=(1, 1)))(pos_drop): Dropout(p=0.0, inplace=False)(patch_drop): Identity()(norm_pre): Identity()(blocks): Sequential((0): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(1): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(2): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(3): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(4): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(5): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(6): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(7): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(8): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(9): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(10): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity())(11): Block((norm1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(attn): Attention((qkv): Linear(in_features=768, out_features=2304, bias=True)(q_norm): Identity()(k_norm): Identity()(attn_drop): Dropout(p=0.0, inplace=False)(norm): Identity()(proj): Linear(in_features=768, out_features=768, bias=True)(proj_drop): Dropout(p=0.0, inplace=False))(ls1): Identity()(drop_path1): Identity()(norm2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(mlp): Mlp((fc1): Linear(in_features=768, out_features=3072, bias=True)(act): GELU(approximate='none')(drop1): Dropout(p=0.0, inplace=False)(norm): Identity()(fc2): Linear(in_features=3072, out_features=768, bias=True)(drop2): Dropout(p=0.0, inplace=False))(ls2): Identity()(drop_path2): Identity()))(norm): LayerNorm((768,), eps=1e-06, elementwise_affine=True)(fc_norm): Identity()(head_drop): Dropout(p=0.0, inplace=False)(head): Linear(in_features=768, out_features=1000, bias=True))(act_postprocess1): Sequential((0): Identity()(1): Identity()(2): Identity())(act_postprocess2): Sequential((0): Identity()(1): Identity()(2): Identity())(act_postprocess3): Sequential((0): ProjectReadout((project): Sequential((0): Linear(in_features=1536, out_features=768, bias=True)(1): GELU(approximate='none')))(1): Transpose()(2): Unflatten(dim=2, unflattened_size=torch.Size([24, 24]))(3): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1)))(act_postprocess4): Sequential((0): ProjectReadout((project): Sequential((0): Linear(in_features=1536, out_features=768, bias=True)(1): GELU(approximate='none')))(1): Transpose()(2): Unflatten(dim=2, unflattened_size=torch.Size([24, 24]))(3): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1))(4): Conv2d(768, 768, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))))(scratch): Module((layer1_rn): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(layer2_rn): Conv2d(512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(layer3_rn): Conv2d(768, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(layer4_rn): Conv2d(768, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(refinenet1): FeatureFusionBlock_custom((out_conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))(resConfUnit1): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(resConfUnit2): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(skip_add): FloatFunctional((activation_post_process): Identity()))(refinenet2): FeatureFusionBlock_custom((out_conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))(resConfUnit1): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(resConfUnit2): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(skip_add): FloatFunctional((activation_post_process): Identity()))(refinenet3): FeatureFusionBlock_custom((out_conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))(resConfUnit1): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(resConfUnit2): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(skip_add): FloatFunctional((activation_post_process): Identity()))(refinenet4): FeatureFusionBlock_custom((out_conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))(resConfUnit1): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(resConfUnit2): ResidualConvUnit_custom((conv1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)(bn1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(bn2): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)(activation): ReLU()(skip_add): FloatFunctional((activation_post_process): Identity()))(skip_add): FloatFunctional((activation_post_process): Identity()))(output_conv): Sequential((0): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(1): ReLU(inplace=True)(2): MultitaskHead((heads): ModuleList((0): Sequential((0): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(1): ReLU(inplace=True)(2): Conv2d(32, 3, kernel_size=(1, 1), stride=(1, 1)))(1-2): 2 x Sequential((0): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(1): ReLU(inplace=True)(2): Conv2d(32, 1, kernel_size=(1, 1), stride=(1, 1)))(3-4): 2 x Sequential((0): Conv2d(128, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(1): ReLU(inplace=True)(2): Conv2d(32, 2, kernel_size=(1, 1), stride=(1, 1))))))))(loss): CrossEntropyLoss()(bce_loss): BCEWithLogitsLoss()
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89706.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python, C ++开发个体户/个人品牌打造APP

个体户/个人品牌打造APP开发方案(Python C)一、技术选型与分工1. Python- 核心场景:后端API开发、数据处理、内容管理、第三方服务集成(如社交媒体分享、支付接口)。- 优势:开发效率高,丰富的库…

SQLAlchemy 常见问题笔记

文章目录SQLAlchemy Session对象如何操作数据库SQLAlchemy非序列化对象如何返回1.问题分析2.解决方案方法1:使用 Pydantic 响应模型(推荐)方法2:手动转换为字典(简单快速)方法3:使用 SQLAlchemy…

Shell脚本-uniq工具

一、前言在 Linux/Unix 系统中,uniq 是一个非常实用的文本处理命令,用于对重复的行进行统计、去重和筛选。它通常与 sort 搭配使用,以实现高效的文本数据清洗与统计分析。无论是做日志分析、访问频率统计,还是编写自动化脚本&…

氛围编码(Vice Coding)的工具选择方式

一、前言 在写作过程中,我受益于若干优秀的博客分享,它们给予我宝贵的启发: 《5分钟选对AI编辑器,每天节省2小时开发时间让你早下班!》:https://mp.weixin.qq.com/s/f0Zm3uPTcNz30oxKwf1OQQ 二、AI编辑的…

[硬件电路-57]:根据电子元器件的受控程度,可以把电子元器件分为:不受控、半受控、完全受控三种大类

根据电子元器件的受控程度,可将其分为不受控、半受控、完全受控三大类。这种分类基于元器件的工作状态是否需要外部信号(如电压、电流、光、热等)的主动调控,以及调控的精确性和灵活性。以下是具体分类及实例说明:一、…

基于Pytorch的人脸识别程序

人脸识别原理详解人脸识别是模式识别和计算机视觉领域的重要研究方向,其目标是从图像或视频中识别出特定个体的身份。现代人脸识别技术主要基于深度学习方法,特别是卷积神经网络 (CNN),下面从多个维度详细解析其原理:1. 人脸识别的…

ubuntu 开启ssh踩坑之旅

文章目录确认当前用户为普通用户 or root命令使用ssh还是sshd服务名称的由来apt update和apt upgrade的关系apt upgrade报错:“E: 您在 /var/cache/apt/archives/ 上没有足够的可用空间”开启ssh步骤错误排查查看日志修改sshd_config文件允许防火墙通过22端口确认当…

力扣:动态规划java

sub07 线性DP - O(1) 状态转移2_哔哩哔哩_bilibili 跳楼梯 class Solution {public int climbStairs(int n) {if (n < 1) {return 1; // 处理边界情况}int[] dp new int[n 1]; // 创建长度为n1的数组&#xff0c;比方说跳二级楼梯dp[0] 1; // 初始值设定dp[1] 1;for (…

React Native打开相册选择图片或拍照 -- react-native-image-picker

官方文档&#xff1a;https://www.npmjs.com/package/react-native-image-picker 场景&#xff1a;点击按钮打开相册选择图片或者点击按钮拍照 import { launchCamera, launchImageLibrary } from react-native-image-picker;// ... <TouchableOpacityactiveOpacity{0.7}o…

USRP B210生成信号最大带宽测试之Frank

书接上文&#xff1a; USRP B210生成LFM,SFM,BPSK,Frank信号的最大带宽测试&#xff08;一&#xff09; USRP B210生成信号最大带宽测试&#xff08;二&#xff09;SFM USRP B210生成信号最大带宽测试&#xff08;三&#xff09;LFM USRP B210生成信号最大带宽测试之BPSK …

pages.json页面路由中,globalStyle的各个属性

欢迎来到我的UniApp技术专栏&#xff01;&#x1f389; 在这里&#xff0c;我将与大家分享关于UniApp开发的实用技巧、最佳实践和项目经验。 专栏特色&#xff1a; &#x1f4f1; 跨平台开发一站式解决方案 &#x1f680; 从入门到精通的完整学习路径 &#x1f4a1; 实战项目经…

[前端技术基础]CSS选择器冲突解决方法-由DeepSeek产生

在 CSS 中&#xff0c;当多个选择器对同一元素的相同属性&#xff08;如颜色&#xff09;定义发生冲突时&#xff0c;浏览器会通过层叠规则&#xff08;Cascading&#xff09;解决冲突。具体优先级从高到低如下&#xff1a;1. !important 规则&#xff08;最高优先级&#xff0…

解决 IDEA 中 XML 文件的 “URI is not registered” 报错

解决 IDEA 中 XML 文件的 “URI is not registered” 报错 在使用 IDEA 开发时&#xff0c;XML 文件&#xff08;尤其是带有 DTD 约束的配置文件&#xff0c;如 MyBatis、Spring 配置文件&#xff09;常出现 URI is not registered (Settings | Languages & Frameworks | S…

FreeBSD Conda Python3.12下安装GPT4Free(g4f)0.5.7.3版本

FreeBSD下不能直接安装g4f&#xff0c;因为Curl_cffi这个库装不上。0.5.0.3这个版本不需要这个库&#xff0c;所以可以安装。 那么就没有办法安装新版本了吗&#xff1f; 有的&#xff0c;就是在linux仿真环境下。 Linux仿真环境安装g4f 最简单的方法是使用chroot进入linux仿…

Node.js 中基于请求 ID 实现简单队列(即时阻止策略/排队等待策略)

在Node.js 中基于请求 ID 实现简单队列 下面示例演示两种策略&#xff0c;以同一个请求 ID 为单位&#xff1a; 即时阻止策略&#xff1a;如果已有相同 ID 的请求在处理&#xff0c;直接报错并返回。 排队等待策略&#xff1a;后续相同 ID 的请求不报错&#xff0c;而是挂起&…

详解如何解决Mysql主从复制延迟

解决 MySQL 主从复制延迟需要从架构设计、参数调优、硬件优化等多维度综合处理。一、根本原因分析主从延迟的本质是&#xff1a;从库的 SQL 线程重放速度 < 主库的写入速度 常见瓶颈点&#xff1a;单线程回放&#xff08;MySQL 5.6 前&#xff09;从库硬件配置低&…

Spring之事务使用指南

Spring之事务使用指南一、事务的基础概念1.1 什么是事务&#xff1f;1.2 事务的ACID特性1.3 Spring事务的核心优势二、Spring事务的核心配置三、事务传播行为&#xff08;Propagation&#xff09;3.1 常用传播行为详解3.1.1 REQUIRED&#xff08;默认值&#xff09;3.1.2 SUPPO…

基于FPGA的多级流水线加法器verilog实现,包含testbench测试文件

目录 1.课题概述 2.系统仿真结果 3.核心程序 4.系统原理简介 5.参考文献 6.完整工程文件 1.课题概述 流水线&#xff08;Pipeline&#xff09;技术源于工业生产中的装配线理念&#xff0c;在数字电路中&#xff0c;它将一个复杂运算任务分解为若干个子任务&#xff0c;每…

5.1.4习题精讲

一、单项选择题 01. 下列部件不属于控制器的是&#xff08; C &#xff09;。 题目原文 下列部件不属于控制器的是&#xff08; &#xff09;。 A. 指令寄存器 B. 程序计数器 C. 程序状态字寄存器 D. 时序电路 正确答案&#xff1a;C 题目解析 考点分析&#xff1a; 本题考察CP…

华为云Flexus+DeepSeek征文|低代码 × 强推理:华为云 Flexus 搭建可部署的 AI Agent 实践方案【搭建宠物养护小知识AI助手】

文章目录华为云FlexusDeepSeek征文&#xff5c;低代码 强推理&#xff1a;华为云 Flexus 搭建可部署的 AI Agent 实践方案【搭建宠物养护小知识AI助手】&#x1f680; 引言一、核心技术概览1. 华为云 Flexus X2. DeepSeek-R1 模型3. Dify 平台二、总体架构设计三、环境准备与资…