Как добраться до свойств слоя YOLO-NAS?

Всем доброго дня. Хочу поменять свойства слоя в сети YOLO-NAS. Фреймворк для работы с ней - super-gradients (в питоне). Загружаю сеть:

 yolo_nas = super_gradients.training.models.get("yolo_nas_s",
                                                   num_classes=8,
                                         сheckpoint_path="...RUN_20240221_191844_692568/ckpt_best.pth"                                                   
                                                   )

В ответ на print (yolo_nas) выводится следующее:

YoloNAS_S(
(backbone): NStageBackbone(
(stem): YoloNASStem(
(conv): QARepVGGBlock(
(nonlinearity): ReLU(inplace=True)
(se): Identity()
(branch_3x3): Sequential(
(conv): Conv2d(3, 48, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(bn): BatchNorm2d(48, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)
)
(branch_1x1): Conv2d(3, 48, kernel_size=(1, 1), stride=(2, 2))
(post_bn): BatchNorm2d(48, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)
(rbr_reparam): Conv2d(3, 48, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))
)
)
**(stage1)**: YoloNASStage(
**(downsample)**: QARepVGGBlock(
(nonlinearity): ReLU(inplace=True)
(se): Identity()
**(branch_3x3)**: Sequential(
(conv): **Conv2d**(48, 96, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(bn): BatchNorm2d(96, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)
)
...

...

и так далее

Видно, что слои (например, Conv2d) - это функции модуля torch.nn, но как добраться до свойств конкретного слоя, например получить тензор весов ядра в Stage1 -> downsample -> branch_3x3 -> Conv2d ?

В книжках по Pytorch говорится только про свойства самого слоя Conv2d: есть свойство Conv2d.weight. В документации (если это можно так назвать) на yolo-nas ничего не нашел - что за объект выдает super_gradients.training.models.get? И как, используя его, пройти через все эти Stage1 -> downsample -> branch_3x3 до самого Conv2d?


Ответы (0 шт):