ai-station-code/wudingpv/taihuyuan_roof/manet/model/temple_part.py

67 lines
1.9 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@project:
@File : temple_part
@Author : qiqq
@create_time : 2023/5/22 22:38
"""
import torch
from torch import nn
import torch.nn.functional as F
import numpy as np
import math
# class upmodel(nn.Module):
#
# def __init__(self,
# in_channels,
# out_channels,
# in_feat_output_strides=(4, 8, 16, 32),
# out_feat_output_stride=4,
# ):
# super(upmodel, self).__init__()
# self.blocks = nn.ModuleList()
# for in_feat_os in in_feat_output_strides:
# num_upsample = int(math.log2(int(in_feat_os))) - int(math.log2(int(out_feat_output_stride)))
#
# num_layers = num_upsample if num_upsample != 0 else 1
#
# self.blocks.append(nn.Sequential(*[
# nn.Sequential(
# nn.Conv2d(in_channels if idx == 0 else out_channels, out_channels, 3, 1, 1, bias=False),
# nn.BatchNorm2d(out_channels),
# nn.ReLU(inplace=True),
# nn.UpsamplingBilinear2d(scale_factor=2) if num_upsample != 0 else nn.Identity(),
# )
# for idx in range(num_layers)]))
#
# def forward(self, feat_list: list):
# inner_feat_list = []
# for idx, block in enumerate(self.blocks):
# decoder_feat = block(feat_list[idx])
# inner_feat_list.append(decoder_feat)
#
# out_feat = sum(inner_feat_list) / 4. #待定
# return out_feat
#
#
# impo1=torch.rand(1,64,128,128)
# impo2=torch.rand(1,256,64,64)
# impo1=torch.rand(1,512,32,32)
# impo1=torch.rand(1,768,16,16)
#
# lis=[torch.rand(1,64,128,128),
# torch.rand(1,256,64,64),
# torch.rand(1,512,32,32),
# torch.rand(1,768,16,16)
# ]
#
# model=upmodel()