How to share a fully connected layer and is it possible to use a channel direction pooling?
10 ビュー (過去 30 日間)
古いコメントを表示
(한국어로 답변주실 수 있다면 한국어로 답변 부탁드립니다.)
I am currently designing a model using the Deep Network Designer to implement a Convolutional Block Attention Module (CBAM).
For this, I need to use a channel-wise max/average pooling layer, and I am wondering if there is a way to implement this within MATLAB.
Additionally, I would like to know if there is a method to share a fully connected layer across different parts of the network. The current implementation of the fully connected layer seems to be limited to a single input and output.
Lastly, when passing through the fully connected layer, the dimension of the output is converted to (C x B). Is there a way to reshape this back to (S x S x C x B) in order to perform element-wise multiplication?
0 件のコメント
採用された回答
Angelo Yeo
2024 年 8 月 21 日
CBAM은 MATLAB에서 구현되어 있지 않습니다만, 가장 간단한 방법 중 하나는 Pytorch로 구현된 모델을 MATLAB에 불러와 사용하는 것입니다. 가령, 아래의 Repo에 들어있는 CBAM 모델을 pt 파일로 저장한 뒤에 MATLAB으로 가져와 사용할 수 있습니다.
Pytorch 모델을 MATLAB으로 가져올 때 아래와 같은 기능을 활용할 수 있습니다.
모델을 가져와보면 Adaptive Maxpooling 레이어는 MATLAB에서 내장함수로 구현된 것이 없기 때문에 이 레이어에 대해서만 custom으로 만들어주시면 CBAM 전체 모델을 사용할 수 있습니다.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Data Workflows についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!