Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
333370d9
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
333370d9
编写于
6月 21, 2022
作者:
W
Wenyu
提交者:
GitHub
6月 21, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bugs (#6240)
上级
1353aa5d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
13 deletion
+11
-13
ppdet/modeling/backbones/__init__.py
ppdet/modeling/backbones/__init__.py
+3
-1
ppdet/modeling/backbones/vision_transformer.py
ppdet/modeling/backbones/vision_transformer.py
+8
-12
未找到文件。
ppdet/modeling/backbones/__init__.py
浏览文件 @
333370d9
...
...
@@ -32,6 +32,7 @@ from . import esnet
from
.
import
cspresnet
from
.
import
csp_darknet
from
.
import
convnext
from
.
import
vision_transformer
from
.vgg
import
*
from
.resnet
import
*
...
...
@@ -52,4 +53,5 @@ from .hardnet import *
from
.esnet
import
*
from
.cspresnet
import
*
from
.csp_darknet
import
*
from
.convnext
import
*
\ No newline at end of file
from
.convnext
import
*
from
.vision_transformer
import
*
\ No newline at end of file
ppdet/modeling/backbones/vision_transformer.py
浏览文件 @
333370d9
...
...
@@ -347,6 +347,10 @@ class VisionTransformer(nn.Layer):
self
.
embed_dim
=
embed_dim
self
.
with_fpn
=
with_fpn
self
.
use_checkpoint
=
use_checkpoint
self
.
use_sincos_pos_emb
=
use_sincos_pos_emb
self
.
use_rel_pos_bias
=
use_rel_pos_bias
self
.
final_norm
=
final_norm
if
use_checkpoint
:
print
(
'please set: FLAGS_allocator_strategy=naive_best_fit'
)
self
.
patch_embed
=
PatchEmbed
(
...
...
@@ -369,8 +373,8 @@ class VisionTransformer(nn.Layer):
std
=
.
02
))
elif
use_sincos_pos_emb
:
pos_embed
=
self
.
build_2d_sincos_position_embedding
(
embed_dim
)
self
.
pos_embed
=
pos_embed
self
.
pos_embed
=
pos_embed
self
.
pos_embed
=
self
.
create_parameter
(
shape
=
pos_embed
.
shape
)
self
.
pos_embed
.
set_value
(
pos_embed
.
numpy
())
self
.
pos_embed
.
stop_gradient
=
True
...
...
@@ -383,15 +387,9 @@ class VisionTransformer(nn.Layer):
if
use_shared_rel_pos_bias
:
self
.
rel_pos_bias
=
RelativePositionBias
(
window_size
=
self
.
patch_embed
.
patch_shape
,
num_heads
=
num_heads
)
elif
self
.
use_sincos_pos_emb
:
self
.
pos_embed
=
self
.
build_2d_sincos_position_embedding
(
embed_dim
)
else
:
self
.
rel_pos_bias
=
None
self
.
use_rel_pos_bias
=
use_rel_pos_bias
dpr
=
np
.
linspace
(
0
,
drop_path_rate
,
depth
)
self
.
blocks
=
nn
.
LayerList
([
...
...
@@ -411,17 +409,15 @@ class VisionTransformer(nn.Layer):
epsilon
=
epsilon
)
for
i
in
range
(
depth
)
])
self
.
final_norm
=
final_norm
######### del by xy
#if self.final_norm:
# self.norm = eval(norm_layer)(embed_dim, epsilon=epsilon)
self
.
pretrained
=
pretrained
self
.
init_weight
()
assert
len
(
out_indices
)
<=
4
,
''
self
.
out_indices
=
out_indices
self
.
out_channels
=
[
embed_dim
for
_
in
range
(
len
(
out_indices
))]
self
.
out_strides
=
[
4
,
8
,
16
,
32
][
-
len
(
out_indices
):]
self
.
out_strides
=
[
4
,
8
,
16
,
32
][
-
len
(
out_indices
):]
if
with_fpn
else
[
8
for
_
in
range
(
len
(
out_indices
))
]
self
.
norm
=
Identity
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录