搭建ASPP:多尺度信息提取網絡

文章目錄

  • 介紹
  • 代碼實現

介紹

????ASPP(Atrous Spatial Pyramid Pooling),空洞空間卷積池化金字塔。簡單理解就是個至尊版池化層,其目的與普通的池化層一致,盡可能地去提取特征。ASPP 的結構如下:

在這里插入圖片描述

????如圖所示,ASPP 本質上由一個1×1的卷積(最上) + 池化金字塔(中間三個) + ASPP Pooling(最下面三層)組成。而池化金字塔各層的膨脹因子可自定義,從而實現自由的多尺度特征提取。

代碼實現

'''
pytorch實現ASPP
'''
import numpy as np
import torch
import torch.nn as nn
from torch.distributions.uniform import Uniform
from torch.nn import functional as F
from typing import Dict, Listclass ASPPConv(nn.Sequential):def __init__(self, in_channels: int, out_channels: int, dilation: int) -> None:super(ASPPConv, self).__init__(nn.Conv2d(in_channels, out_channels, 3, padding=dilation, dilation=dilation, bias=False),nn.BatchNorm2d(out_channels),nn.ReLU())class ASPPPooling(nn.Sequential):def __init__(self, in_channels: int, out_channels: int) -> None:super(ASPPPooling, self).__init__(nn.AdaptiveAvgPool2d(1),nn.Conv2d(in_channels, out_channels, 1, bias=False),nn.BatchNorm2d(out_channels),nn.ReLU())def forward(self, x: torch.Tensor) -> torch.Tensor:size = x.shape[-2:]for mod in self:x = mod(x)return F.interpolate(x, size=size, mode='bilinear', align_corners=False)class ASPP(nn.Module):def __init__(self, in_channels: int, atrous_rates: List[int], out_channels: int = 256) -> None:super(ASPP, self).__init__()modules = [nn.Sequential(nn.Conv2d(in_channels, out_channels, 1, bias=False),nn.BatchNorm2d(out_channels),nn.ReLU())]rates = tuple(atrous_rates)for rate in rates:modules.append(ASPPConv(in_channels, out_channels, rate))modules.append(ASPPPooling(in_channels, out_channels))self.convs = nn.ModuleList(modules)self.project = nn.Sequential(nn.Conv2d(len(self.convs) * out_channels, out_channels, 1, bias=False),nn.BatchNorm2d(out_channels),nn.ReLU(),nn.Dropout(0.5))def forward(self, x: torch.Tensor) -> torch.Tensor:_res = []for conv in self.convs:_res.append(conv(x))res = torch.cat(_res, dim=1)return self.project(res)class EncoderAspp(nn.Module):def __init__(self, params):super(EncoderAspp, self).__init__()self.aspp = ASPP(in_channels = 64 , [4, 6, 8], out_channels = 64)def forward(self, x):x = self.aspp(x)return x

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37138.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37138.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37138.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nuxt框架 和 Vite框架比較(四)

共同點 基于 Vue.js:Nuxt 和 Vite 都是圍繞 Vue.js 構建的,這意味著它們可以利用 Vue.js 的響應式數據綁定和組件系統。 現代前端開發:兩者都支持現代前端開發實踐,如組件化、模塊化和單文件組件(SFCs)。 V…

十二、Yocto集成ROS2 app程序(package)

文章目錄 Yocto集成ROS2 app程序1. 添加一個ros2 package應用程序2. 添加bb文件集成app應用程序 Yocto集成ROS2 app程序 本篇文章為基于raspberrypi 4B單板的yocto實戰系列的第十二篇文章: 一、yocto 編譯raspberrypi 4B并啟動 二、yocto 集成ros2(基于raspberrypi…

【MotionCap】DROID-SLAM 1 :介紹及安裝

DROID-SLAM :DROID-SLAM: Deep Visual SLAM for Monocular DROID-SLAM:適用于單目、立體和 RGB-D 相機的深度視覺 SLAM Stereo, and RGB-D Cameras https://arxiv.org/abs/2108.10869DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Camerasfile:///X:/04_mo…

GuLi商城-前端啟動命令npm run dev

由于這里配置了dev,所以啟動命令是npm run dev

柯橋在職學歷提升|專科本科之自考本科哪些專業不考數學

一、管理類專業 這類專業綜合性和理論性比較強,除了涉及到管理學相關的理論知識外,還有相應的專業知識,目前比較典型的專業有:行政管理、人力資源管理、工商管理(現代企業管理)、工商管理(商務管…

高通410-linux棒子設置網絡驅動

1.首先打開設備管理器 2.看到其他設備下的RNDIS,右鍵更新驅動程序 3.點擊瀏覽我的電腦… 最后一個

Sentinel實現區分來源

要區分來源就要寫代碼實現RequestOriginParser接口 ,注意是要實現com.alibaba.csp.sentinel.adapter.servlet.callback.RequestOriginParser 接口,別搞錯接口了。 MyRequestOriginParser.java package com.codex.terry.sentinel.origin;import com.alibaba.csp.sentinel.ad…

Linux操作系統--軟件包管理(保姆級教程)

RPM軟件包的管理 大多數linux的發行版本都是某種打包系統。軟件包可以用來發布應用軟件,有時還可以發布配置文件。他們比傳統結構的.tar和.gz存檔文件有幾個優勢。如它們能讓安裝過程盡可能成為不可分割的原子操作。 軟件包的安裝程序會備份它們改動過的文件。如果…

2024-6-28 石群電路-32

2024-6-28,星期五,20:05,天氣:雨,心情:晴。今天沒有什么事情發生,繼續學習,加油!!!!! 1. 對稱三相電路的計算&#xff08…

【面試題】網絡 DNS協議(第二篇)

1.什么是DNS?它的作用是什么? DNS是一種將域名轉換為IP地址的協議。 它的作用是通過將域名解析為相應的IP地址,使得用戶可以更方便地訪問互聯網上的資源,而無需直接記住大量的IP地址。 2.DNS解析過程是怎樣的? 客戶端…

高性能、高可靠性!Kafka的技術優勢與應用場景全解析

今天要和大家聊聊一個超級強大的消息系統——Kafka,從零開始,深入了解一下Kafka的優點和它的實際應用場景。 Kafka的優點 1. 高吞吐量 Kafka的高吞吐量表現堪稱驚人。單機每秒處理幾十上百萬的消息量,即使存儲了TB級別的消息,它…

6.24.4.2 YOLO- logo:一種基于變壓器的YOLO分割模型,用于數字乳房x光片中乳腺腫塊的檢測和分割

背景與目的:數字化乳房x光片的腫塊檢測和分割在乳腺癌的早期發現和治療中起著至關重要的作用。此外,臨床經驗表明,它們是乳腺病變病理分類的上游任務。深度學習的最新進展使分析更快、更準確。本研究旨在開發一種用于乳房x線攝影的乳腺癌質量檢測和分割的…

MySQL事物

事務的概念 ●事務是一種機制、一個操作序列,包含了一組數據庫操作命令,并且把所有的命令作為一個整體 一起向系統提交或撤銷操作請求,即這一組數據庫命令要么都執行,要么都不執行。 ●事務是一個不可分割的工作邏輯單元&#…

深度學習經典檢測方法概述

一、深度學習經典檢測方法 two-stage(兩階段):Faster-rcnn Mask-Rcnn系列 one-stage(單階段):YOLO系列 1. one-stage 最核心的優勢:速度非常快,適合做實時檢測任務! 但是…

定制化、精細化、場景化AI訓練數據趨于基礎數據服務市場主流

算法、算力和數據共同構成了AI產業鏈技術發展的三大核心要素。在人工智能行業發展進程中,有監督的深度學習算法是推動人工智能技術取得突破性發展的關鍵技術理論,而大量訓練數據的支撐則是有監督的深度學習算法實現的基礎。算法模型從技術理論到應用實踐…

ISSCC論文詳解2024 34.2——雙端口設計實現高面積利用的浮點/整數存算

本文將要介紹的文獻主題為浮點存內計算,題目為《A 16nm 96Kb Integer/Floating-Point Dual-Mode-Gain-CellComputing-in-Memory Macro Achieving 73.3-163.3TOPS/W and 33.2-91.2TFLOPS/W for AI-Edge Devices》,下面本文將從文章基本信息與背景知識、創…

基于Jmeter的分布式壓測環境搭建及簡單壓測實踐

寫在前面 平時在使用Jmeter做壓力測試的過程中,由于單機的并發能力有限,所以常常無法滿足壓力測試的需求。因此,Jmeter還提供了分布式的解決方案。本文是一次利用Jmeter分布式對業務系統登錄接口做的壓力測試的實踐記錄。按照慣例&#xff0…

仿迪恩城市門戶分類信息網discuz模板

Discuz x3.3模板 仿迪恩城市門戶分類信息網 (GBK) Discuz模板 仿迪恩城市門戶分類信息網(GBK)

【深度學習】卷積神經網絡CNN

李宏毅深度學習筆記 圖像分類 圖像可以描述為三維張量(張量可以想成維度大于 2 的矩陣)。一張圖像是一個三維的張量,其中一維代表圖像的寬,另外一維代表圖像的高,還有一維代表圖像的通道(channel&#xff…

怎樣查看vsphere client 的登錄日志

- 問題摘要: 怎樣查看vsphere client 的登錄日志 - 解決方案/工作方法 1.登錄vsphere client > vc > Monitor > Tasks and Events > Events, 查看日志 2. 查看VC 的websso.log日志 /var/log/vmware/sso/websso.log 3. 可以把websso.log文件拿到本地電…