Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
ee819393
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
接近 2 年 前同步成功
通知
116
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ee819393
编写于
12月 15, 2021
作者:
G
gaotingquan
提交者:
Tingquan Gao
1月 07, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix -1 in dims and ignore swapdim in static
上级
00fb3f75
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
11 deletion
+19
-11
ppcls/arch/backbone/model_zoo/pvt_v2.py
ppcls/arch/backbone/model_zoo/pvt_v2.py
+19
-11
未找到文件。
ppcls/arch/backbone/model_zoo/pvt_v2.py
浏览文件 @
ee819393
...
...
@@ -130,24 +130,32 @@ class Attention(nn.Layer):
if
not
self
.
linear
:
if
self
.
sr_ratio
>
1
:
x_
=
x
.
transpose
([
0
,
2
,
1
]).
reshape
([
B
,
C
,
H
,
W
])
x_
=
self
.
sr
(
x_
).
reshape
([
B
,
C
,
-
1
]).
transpose
([
0
,
2
,
1
])
x_
=
self
.
sr
(
x_
)
h_
,
w_
=
x_
.
shape
[
-
2
:]
x_
=
x_
.
reshape
([
B
,
C
,
h_
*
w_
]).
transpose
([
0
,
2
,
1
])
x_
=
self
.
norm
(
x_
)
kv
=
self
.
kv
(
x_
).
reshape
(
[
B
,
-
1
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
(
[
2
,
0
,
3
,
1
,
4
])
kv
=
self
.
kv
(
x_
)
kv
=
kv
.
reshape
([
B
,
kv
.
shape
[
2
]
*
kv
.
shape
[
1
]
//
2
//
C
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
([
2
,
0
,
3
,
1
,
4
])
else
:
kv
=
self
.
kv
(
x
).
reshape
(
[
B
,
-
1
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
(
[
2
,
0
,
3
,
1
,
4
])
kv
=
self
.
kv
(
x
)
kv
=
kv
.
reshape
([
B
,
kv
.
shape
[
2
]
*
kv
.
shape
[
1
]
//
2
//
C
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
([
2
,
0
,
3
,
1
,
4
])
else
:
x_
=
x
.
transpose
([
0
,
2
,
1
]).
reshape
([
B
,
C
,
H
,
W
])
x_
=
self
.
sr
(
self
.
pool
(
x_
)).
reshape
([
B
,
C
,
-
1
]).
transpose
(
[
0
,
2
,
1
])
x_
=
self
.
norm
(
x_
)
x_
=
self
.
act
(
x_
)
kv
=
self
.
kv
(
x_
).
reshape
(
[
B
,
-
1
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
(
[
2
,
0
,
3
,
1
,
4
])
kv
=
self
.
kv
(
x_
)
kv
=
kv
.
reshape
([
B
,
kv
.
shape
[
2
]
*
kv
.
shape
[
1
]
//
2
//
C
,
2
,
self
.
num_heads
,
C
//
self
.
num_heads
]).
transpose
([
2
,
0
,
3
,
1
,
4
])
k
,
v
=
kv
[
0
],
kv
[
1
]
attn
=
(
q
@
swapdim
(
k
,
-
2
,
-
1
))
*
self
.
scale
...
...
@@ -324,7 +332,7 @@ class PyramidVisionTransformerV2(nn.Layer):
x
=
blk
(
x
,
H
,
W
)
x
=
norm
(
x
)
if
i
!=
self
.
num_stages
-
1
:
x
=
x
.
reshape
([
B
,
H
,
W
,
-
1
]).
transpose
([
0
,
3
,
1
,
2
])
x
=
x
.
reshape
([
B
,
H
,
W
,
x
.
shape
[
2
]
]).
transpose
([
0
,
3
,
1
,
2
])
return
x
.
mean
(
axis
=
1
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录