Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSeg
提交
2c82482c
P
PaddleSeg
项目概览
PaddlePaddle
/
PaddleSeg
通知
285
Star
8
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
53
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleSeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
53
Issue
53
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
2c82482c
编写于
9月 22, 2020
作者:
M
michaelowenliu
提交者:
GitHub
9月 22, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #397 from michaelowenliu/develop
add feat_channels in backbone
上级
3f658a36
5977ae40
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
29 deletion
+27
-29
dygraph/paddleseg/models/backbones/resnet_vd.py
dygraph/paddleseg/models/backbones/resnet_vd.py
+4
-6
dygraph/paddleseg/models/danet.py
dygraph/paddleseg/models/danet.py
+1
-1
dygraph/paddleseg/models/deeplab.py
dygraph/paddleseg/models/deeplab.py
+21
-21
dygraph/paddleseg/models/ocrnet.py
dygraph/paddleseg/models/ocrnet.py
+1
-1
未找到文件。
dygraph/paddleseg/models/backbones/resnet_vd.py
浏览文件 @
2c82482c
...
...
@@ -224,9 +224,9 @@ class ResNet_vd(nn.Layer):
]
if
layers
>=
50
else
[
64
,
64
,
128
,
256
]
num_filters
=
[
64
,
128
,
256
,
512
]
# for channels of
returned stage
self
.
backbone
_channels
=
[
c
*
4
for
c
in
num_filters
]
if
layers
>=
50
else
num_filters
# for channels of
four returned stages
self
.
feat
_channels
=
[
c
*
4
for
c
in
num_filters
]
if
layers
>=
50
else
num_filters
dilation_dict
=
None
if
output_stride
==
8
:
...
...
@@ -319,7 +319,7 @@ class ResNet_vd(nn.Layer):
block_list
.
append
(
basic_block
)
shortcut
=
True
self
.
stage_list
.
append
(
block_list
)
utils
.
load_pretrained_model
(
self
,
pretrained
)
def
forward
(
self
,
inputs
):
...
...
@@ -336,8 +336,6 @@ class ResNet_vd(nn.Layer):
feat_list
.
append
(
y
)
return
feat_list
@
manager
.
BACKBONES
.
add_component
...
...
dygraph/paddleseg/models/danet.py
浏览文件 @
2c82482c
...
...
@@ -190,7 +190,7 @@ class DANet(nn.Layer):
self
.
backbone
=
backbone
self
.
backbone_indices
=
backbone_indices
in_channels
=
[
self
.
backbone
.
channels
[
i
]
for
i
in
backbone_indices
]
in_channels
=
[
self
.
backbone
.
feat_
channels
[
i
]
for
i
in
backbone_indices
]
self
.
head
=
DAHead
(
num_classes
=
num_classes
,
in_channels
=
in_channels
)
...
...
dygraph/paddleseg/models/deeplab.py
浏览文件 @
2c82482c
...
...
@@ -62,14 +62,13 @@ class DeepLabV3P(nn.Layer):
super
(
DeepLabV3P
,
self
).
__init__
()
self
.
backbone
=
backbone
backbone_channels
=
backbone
.
backbone_channels
backbone_channels
=
[
backbone
.
feat_channels
[
i
]
for
i
in
backbone_indices
]
self
.
head
=
DeepLabV3PHead
(
num_classes
,
backbone_indices
,
backbone_channels
,
aspp_ratios
,
aspp_out_channels
)
self
.
head
=
DeepLabV3PHead
(
num_classes
,
backbone_indices
,
backbone_channels
,
aspp_ratios
,
aspp_out_channels
)
utils
.
load_entire_model
(
self
,
pretrained
)
...
...
@@ -81,6 +80,7 @@ class DeepLabV3P(nn.Layer):
F
.
resize_bilinear
(
logit
,
input
.
shape
[
2
:])
for
logit
in
logit_list
]
class
DeepLabV3PHead
(
nn
.
Layer
):
"""
The DeepLabV3PHead implementation based on PaddlePaddle.
...
...
@@ -110,14 +110,14 @@ class DeepLabV3PHead(nn.Layer):
aspp_out_channels
=
256
):
super
(
DeepLabV3PHead
,
self
).
__init__
()
self
.
aspp
=
pyramid_pool
.
ASPPModule
(
aspp_ratios
,
backbone_channels
[
backbone_indices
[
1
]
],
backbone_channels
[
1
],
aspp_out_channels
,
sep_conv
=
True
,
image_pooling
=
True
)
self
.
decoder
=
Decoder
(
num_classes
,
backbone_channels
[
backbone_indices
[
0
]
])
self
.
decoder
=
Decoder
(
num_classes
,
backbone_channels
[
0
])
self
.
backbone_indices
=
backbone_indices
self
.
init_weight
()
...
...
@@ -135,6 +135,7 @@ class DeepLabV3PHead(nn.Layer):
def
init_weight
(
self
):
pass
@
manager
.
MODELS
.
add_component
class
DeepLabV3
(
nn
.
Layer
):
"""
...
...
@@ -147,7 +148,7 @@ class DeepLabV3(nn.Layer):
Args:
Refer to DeepLabV3P above
"""
def
__init__
(
self
,
num_classes
,
backbone
,
...
...
@@ -159,15 +160,14 @@ class DeepLabV3(nn.Layer):
super
(
DeepLabV3
,
self
).
__init__
()
self
.
backbone
=
backbone
backbone_channels
=
backbone
.
backbone_channels
backbone_channels
=
[
backbone
.
feat_channels
[
i
]
for
i
in
backbone_indices
]
self
.
head
=
DeepLabV3Head
(
num_classes
,
backbone_indices
,
backbone_channels
,
aspp_ratios
,
aspp_out_channels
)
self
.
head
=
DeepLabV3Head
(
num_classes
,
backbone_indices
,
backbone_channels
,
aspp_ratios
,
aspp_out_channels
)
utils
.
load_entire_model
(
self
,
pretrained
)
def
forward
(
self
,
input
):
...
...
@@ -191,13 +191,13 @@ class DeepLabV3Head(nn.Layer):
self
.
aspp
=
pyramid_pool
.
ASPPModule
(
aspp_ratios
,
backbone_channels
[
backbone_indices
[
0
]
],
backbone_channels
[
0
],
aspp_out_channels
,
sep_conv
=
False
,
image_pooling
=
True
)
self
.
cls
=
nn
.
Conv2d
(
in_channels
=
backbone_channels
[
backbone_indices
[
0
]
],
in_channels
=
backbone_channels
[
0
],
out_channels
=
num_classes
,
kernel_size
=
1
)
...
...
dygraph/paddleseg/models/ocrnet.py
浏览文件 @
2c82482c
...
...
@@ -203,7 +203,7 @@ class OCRNet(nn.Layer):
self
.
backbone
=
backbone
self
.
backbone_indices
=
backbone_indices
in_channels
=
[
self
.
backbone
.
channels
[
i
]
for
i
in
backbone_indices
]
in_channels
=
[
self
.
backbone
.
feat_
channels
[
i
]
for
i
in
backbone_indices
]
self
.
head
=
OCRHead
(
num_classes
=
num_classes
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录