Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wmsofts
akg
提交
43f56057
A
akg
项目概览
wmsofts
/
akg
与 Fork 源项目一致
Fork自
MindSpore / akg
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
akg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
43f56057
编写于
6月 29, 2020
作者:
H
hiranoaya
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove out dtype from hashkey
上级
5a35fac5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
30 deletion
+30
-30
python/akg/ops/nn/matmul.py
python/akg/ops/nn/matmul.py
+30
-30
未找到文件。
python/akg/ops/nn/matmul.py
浏览文件 @
43f56057
...
...
@@ -26,57 +26,57 @@ from akg.ops.math import cast
logging
.
basicConfig
(
level
=
logging
.
DEBUG
)
matmul_set_dim_map
=
{
str
(((
1
,
16
,
49
,
16
,
16
),
(
1
,
49
,
49
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
False
,
False
,
'float16'
,
'float32'
))
:
([(
1
,
1
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
49
,
49
)],
{
"bypass"
:
0
}),
str
(((
1
,
16
,
49
,
16
,
16
),
(
1
,
49
,
16
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
False
,
False
,
'float16'
,
'float32'
))
:
([(
2
,
2
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
49
,
49
)],
{
"bypass"
:
0
}),
str
(((
1
,
2
,
64
,
16
,
16
),
(
1
,
2
,
64
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
True
,
False
,
'float16'
,
'float32'
))
:
([(
2
,
2
),(
64
,
64
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
str
(((
1
,
2
,
128
,
16
,
16
),
(
1
,
2
,
128
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
True
,
False
,
'float16'
,
'float32'
))
:
([(
2
,
2
),(
64
,
64
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
str
(((
1
,
16
,
49
,
16
,
16
),
(
1
,
49
,
49
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
False
,
False
,
'float16'
))
:
([(
1
,
1
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
49
,
49
)],
{
"bypass"
:
0
}),
str
(((
1
,
16
,
49
,
16
,
16
),
(
1
,
49
,
16
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
False
,
False
,
'float16'
))
:
([(
2
,
2
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
49
,
49
)],
{
"bypass"
:
0
}),
str
(((
1
,
2
,
64
,
16
,
16
),
(
1
,
2
,
64
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
True
,
False
,
'float16'
))
:
([(
2
,
2
),(
64
,
64
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
str
(((
1
,
2
,
128
,
16
,
16
),
(
1
,
2
,
128
,
16
,
16
),
0
,
'zZ'
,
'zZ'
,
'zZ'
,
True
,
False
,
'float16'
))
:
([(
2
,
2
),(
64
,
64
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
# bert best tile
# (16, 1024), (16, 1024)
str
(((
64
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
16
,
16
),(
16
,
16
),(
32
,
32
)],
{
"bypass"
:
2
}),
str
(((
64
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
16
,
16
),(
16
,
16
),(
32
,
32
)],
{
"bypass"
:
2
}),
# (8192, 4096), (8192, 1024)
str
(((
256
,
512
,
16
,
16
),
(
64
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float32"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
8
,
1
)],
{
"bypass"
:
0
}),
str
(((
256
,
512
,
16
,
16
),
(
64
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
8
,
1
)],
{
"bypass"
:
0
}),
# (8192, 1024), (1024, 4096)
str
(((
64
,
512
,
16
,
16
),
(
256
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float16"
))
:
([(
16
,
16
),(
8
,
4
),(
16
,
16
),(
16
,
16
),(
64
,
8
)],
{
"bypass"
:
0
}),
str
(((
64
,
512
,
16
,
16
),
(
256
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
16
,
16
),(
8
,
4
),(
16
,
16
),(
16
,
16
),(
64
,
8
)],
{
"bypass"
:
0
}),
# (16, 16), (16, 1024)
str
(((
1
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float32"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
str
(((
1
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
# (1216, 1024), (1024, 1024)
str
(((
64
,
76
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float32"
))
:
([(
4
,
4
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
4
,
1
)],
{
"bypass"
:
0
}),
str
(((
64
,
76
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
4
,
4
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
4
,
1
)],
{
"bypass"
:
0
}),
# (8192, 4096), (4096, 1024)
str
(((
256
,
512
,
16
,
16
),
(
64
,
256
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
2
,
1
)],
{
"bypass"
:
0
}),
str
(((
256
,
512
,
16
,
16
),
(
64
,
256
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
2
,
1
)],
{
"bypass"
:
0
}),
# (8192, 1024), (4096, 1024)
str
(((
64
,
512
,
16
,
16
),
(
64
,
256
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
2
,
1
)],
{
"bypass"
:
0
}),
str
(((
64
,
512
,
16
,
16
),
(
64
,
256
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
2
,
1
)],
{
"bypass"
:
0
}),
# (8192, 1024), (8192, 4096)
str
(((
64
,
512
,
16
,
16
),
(
256
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float16"
))
:
([[
8
,
8
],
[
32
,
32
],
[
16
,
16
],
[
16
,
16
],
[
16
,
2
]],
{
"bypass"
:
0
}),
str
(((
64
,
512
,
16
,
16
),
(
256
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([[
8
,
8
],
[
32
,
32
],
[
16
,
16
],
[
16
,
16
],
[
16
,
2
]],
{
"bypass"
:
0
}),
# (1216, 1024), (1024, 1024)
str
(((
64
,
76
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
8
,
8
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
16
,
1
)],
{
"bypass"
:
2
}),
str
(((
64
,
76
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
8
,
8
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
16
,
1
)],
{
"bypass"
:
2
}),
# (8192, 1024), (1024, 1024)
str
(((
64
,
512
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float16"
))
:
([(
16
,
4
),(
16
,
8
),(
16
,
16
),(
16
,
16
),(
64
,
16
)],
{
"bypass"
:
0
}),
str
(((
64
,
512
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
16
,
4
),(
16
,
8
),(
16
,
16
),(
16
,
16
),(
64
,
16
)],
{
"bypass"
:
0
}),
# (1216, 30522), (30522, 1024)
str
(((
1908
,
76
,
16
,
16
),
(
64
,
1908
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float16"
))
:
([(
8
,
8
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
6
,
1
)],
{
"bypass"
:
0
}),
str
(((
1908
,
76
,
16
,
16
),
(
64
,
1908
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
8
,
8
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
6
,
1
)],
{
"bypass"
:
0
}),
# (1216, 30522), (1216, 1024)
str
(((
1908
,
76
,
16
,
16
),
(
64
,
76
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float32"
))
:
([(
4
,
4
),(
18
,
18
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
str
(((
1908
,
76
,
16
,
16
),
(
64
,
76
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
4
,
4
),(
18
,
18
),(
16
,
16
),(
16
,
16
),(
2
,
2
)],
{
"bypass"
:
0
}),
# (1216, 1024), (30522, 1024)
str
(((
64
,
76
,
16
,
16
),
(
64
,
1908
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float32"
))
:
([(
9
,
9
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
64
,
1
)],
{
"bypass"
:
0
}),
str
(((
64
,
76
,
16
,
16
),
(
64
,
1908
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
9
,
9
),(
19
,
19
),(
16
,
16
),(
16
,
16
),(
64
,
1
)],
{
"bypass"
:
0
}),
# (8192, 1024), (8192, 1024)
str
(((
64
,
512
,
16
,
16
),
(
64
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float32"
))
:
([(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
str
(((
64
,
512
,
16
,
16
),
(
64
,
512
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
# (1216, 1024), (1216, 1024)
str
(((
64
,
76
,
16
,
16
),
(
64
,
76
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float16"
))
:
([(
16
,
16
),(
8
,
8
),(
16
,
16
),(
16
,
16
),(
4
,
2
)],
{
"bypass"
:
0
}),
str
(((
64
,
76
,
16
,
16
),
(
64
,
76
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
16
,
16
),(
8
,
8
),(
16
,
16
),(
16
,
16
),(
4
,
2
)],
{
"bypass"
:
0
}),
# (16, 1024), (16, 1024)
str
(((
64
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float32"
))
:
([(
8
,
8
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
str
(((
64
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
8
,
8
),(
2
,
2
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
# (16, 1024), (1024, 1024)
str
(((
64
,
1
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float32"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
32
,
8
)],
{
"bypass"
:
2
}),
str
(((
64
,
1
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
32
,
8
)],
{
"bypass"
:
2
}),
# (16, 16), (16, 1024)
str
(((
1
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float32"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
str
(((
1
,
1
,
16
,
16
),
(
64
,
1
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
8
,
8
),(
16
,
16
),(
16
,
16
),(
16
,
16
)],
{
"bypass"
:
0
}),
# (8192, 1024), (1024, 1024)
str
(((
64
,
512
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
16
,
8
),(
8
,
8
),(
16
,
16
),(
16
,
16
),(
64
,
8
)],
{
"bypass"
:
1
}),
str
(((
64
,
512
,
16
,
16
),
(
64
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
16
,
8
),(
8
,
8
),(
16
,
16
),(
16
,
16
),(
64
,
8
)],
{
"bypass"
:
1
}),
# (8192, 4096), (1024, 4096)
str
(((
256
,
512
,
16
,
16
),
(
256
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
1
,
1
)],
{
"bypass"
:
0
}),
str
(((
256
,
512
,
16
,
16
),
(
256
,
64
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
8
,
8
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
1
,
1
)],
{
"bypass"
:
0
}),
# (16, 16, 512, 512), (16, 16, 512, 64)
str
(((
16
,
16
,
32
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
str
(((
16
,
16
,
32
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
str
(((
16
,
16
,
32
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
False
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
str
(((
16
,
16
,
32
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
True
,
False
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
4
,
4
),(
16
,
16
),(
16
,
16
),(
16
,
16
),(
16
,
4
)],
{
"bypass"
:
0
}),
# (16, 16, 512, 64), (16, 16, 512, 64)
str
(((
16
,
16
,
4
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
32
,
4
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
4
,
4
)],
{
"bypass"
:
0
}),
str
(((
16
,
16
,
4
,
32
,
16
,
16
),
(
16
,
16
,
4
,
32
,
16
,
16
),
0
,
"zN"
,
"zN"
,
"zN"
,
False
,
True
,
"float16"
))
:
([(
1
,
1
),(
1
,
1
),(
32
,
4
),(
32
,
32
),(
16
,
16
),(
16
,
16
),(
4
,
4
)],
{
"bypass"
:
0
}),
}
...
...
@@ -86,7 +86,7 @@ def matmul_set_dim(A, B, b, out_dtype, left_format, right_format, output_format,
bias
=
0
if
b
is
None
else
1
key
=
()
key
+=
(
tuple
(
shape_A
),
tuple
(
shape_B
),
bias
,
left_format
,
right_format
,
output_format
,
adj_x
,
adj_y
,
A
.
dtype
,
out_dtype
)
key
+=
(
tuple
(
shape_A
),
tuple
(
shape_B
),
bias
,
left_format
,
right_format
,
output_format
,
adj_x
,
adj_y
,
A
.
dtype
)
hash_key
=
str
(
key
)
if
hash_key
in
matmul_set_dim_map
:
configs
=
matmul_set_dim_map
[
hash_key
]
...
...
@@ -169,7 +169,7 @@ def matmul4D_compute(x, y, bias_value, out_dtype, left_format, right_format, out
shape_B
=
y
.
shape
key
=
()
key
+=
(
tuple
(
shape_A
),
tuple
(
shape_B
),
bias
,
left_format
,
right_format
,
out_format
,
transpose_x
,
transpose_y
,
x
.
dtype
,
out_dtype
)
key
+=
(
tuple
(
shape_A
),
tuple
(
shape_B
),
bias
,
left_format
,
right_format
,
out_format
,
transpose_x
,
transpose_y
,
x
.
dtype
)
hash_key
=
str
(
key
)
# bypass 2 left matrix ddr -> l0
# bypass 1 right matrix ddr -> l0
...
...
@@ -199,7 +199,7 @@ def matmul4D_compute(x, y, bias_value, out_dtype, left_format, right_format, out
elif
left_format
==
"zN"
:
x_indices
=
indices
[:(
N
-
4
)]
+
(
ko
,)
+
indices
[(
N
-
3
):(
N
-
2
)]
+
indices
[(
N
-
2
):(
N
-
1
)]
+
(
ki
,)
if
adj_x
:
x_indices
=
indices
[:(
N
-
4
)]
+
indices
[(
N
-
3
):(
N
-
2
)]
+
(
ko
,)
+
(
ki
,)
+
indices
[(
N
-
2
):(
N
-
1
)]
x_indices
=
indices
[:(
N
-
4
)]
+
indices
[(
N
-
3
):(
N
-
2
)]
+
(
ko
,)
+
(
ki
,)
+
indices
[(
N
-
2
):(
N
-
1
)]
if
right_format
==
"nZ"
:
y_indices
=
indices
[:(
N
-
4
)]
+
(
ko
,
)
+
indices
[(
N
-
4
):(
N
-
3
)]
+
indices
[(
N
-
1
):]
+
(
ki
,)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录