Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Pytorch Widedeep
提交
4407074d
P
Pytorch Widedeep
项目概览
Greenplum
/
Pytorch Widedeep
11 个月 前同步成功
通知
9
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pytorch Widedeep
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4407074d
编写于
10月 16, 2019
作者:
J
jrzaurin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added test for optimizers
上级
4264ce57
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
0 deletion
+61
-0
tests/test_model_functioning/test_optimizers.py
tests/test_model_functioning/test_optimizers.py
+61
-0
未找到文件。
tests/test_model_functioning/test_optimizers.py
0 → 100644
浏览文件 @
4407074d
import
numpy
as
np
import
string
import
torch
import
pytest
from
torch
import
nn
from
pytorch_widedeep.models.wide
import
Wide
from
pytorch_widedeep.models.deep_dense
import
DeepDense
from
pytorch_widedeep.models.deep_text
import
DeepText
from
pytorch_widedeep.models.deep_image
import
DeepImage
from
pytorch_widedeep.models.wide_deep
import
WideDeep
from
pytorch_widedeep.optimizers
import
Adam
,
RAdam
,
SGD
,
RMSprop
from
copy
import
deepcopy
as
c
import
pdb
# Wide array
X_wide
=
np
.
random
.
choice
(
2
,
(
100
,
100
),
p
=
[
0.8
,
0.2
])
# Deep Array
colnames
=
list
(
string
.
ascii_lowercase
)[:
10
]
embed_cols
=
[
np
.
random
.
choice
(
np
.
arange
(
5
),
100
)
for
_
in
range
(
5
)]
embed_input
=
[(
u
,
i
,
j
)
for
u
,
i
,
j
in
zip
(
colnames
[:
5
],
[
5
]
*
5
,
[
16
]
*
5
)]
cont_cols
=
[
np
.
random
.
rand
(
100
)
for
_
in
range
(
5
)]
deep_column_idx
=
{
k
:
v
for
v
,
k
in
enumerate
(
colnames
)}
X_deep
=
np
.
vstack
(
embed_cols
+
cont_cols
).
transpose
()
# Text Array
padded_sequences
=
np
.
random
.
choice
(
np
.
arange
(
1
,
100
),
(
100
,
48
))
vocab_size
=
1000
X_text
=
np
.
hstack
((
np
.
repeat
(
np
.
array
([[
0
,
0
]]),
100
,
axis
=
0
),
padded_sequences
))
# Image Array
X_img
=
np
.
random
.
choice
(
256
,
(
100
,
224
,
224
,
3
))
optimizers_1
=
{
'wide'
:
Adam
,
'deepdense'
:
RAdam
,
'deeptext'
:
SGD
,
'deepimage'
:
RMSprop
}
optimizers_2
=
{
'wide'
:
RAdam
,
'deepdense'
:
SGD
,
'deeptext'
:
RMSprop
}
###############################################################################
# Test that the MultipleOptimizer class functions as expected
###############################################################################
@
pytest
.
mark
.
parametrize
(
"optimizers, expected_opt"
,
[
(
optimizers_1
,
{
'wide'
:
'Adam'
,
'deepdense'
:
'RAdam'
,
'deeptext'
:
'SGD'
,
'deepimage'
:
'RMSprop'
}),
(
optimizers_2
,
{
'wide'
:
'RAdam'
,
'deepdense'
:
'SGD'
,
'deeptext'
:
'RMSprop'
,
'deepimage'
:
'Adam'
}),
],
)
def
test_optimizers
(
optimizers
,
expected_opt
):
wide
=
Wide
(
100
,
1
)
deepdense
=
DeepDense
(
hidden_layers
=
[
32
,
16
],
dropout
=
[
0.5
],
deep_column_idx
=
deep_column_idx
,
embed_input
=
embed_input
,
continuous_cols
=
colnames
[
-
5
:],
output_dim
=
1
)
deeptext
=
DeepText
(
vocab_size
=
vocab_size
,
embed_dim
=
32
,
padding_idx
=
0
)
deepimage
=
DeepImage
(
pretrained
=
True
)
model
=
WideDeep
(
wide
=
wide
,
deepdense
=
deepdense
,
deeptext
=
deeptext
,
deepimage
=
deepimage
)
model
.
compile
(
method
=
'logistic'
,
optimizers
=
optimizers
)
out
=
[]
for
name
,
opt
in
model
.
optimizer
.
_optimizers
.
items
():
out
.
append
(
expected_opt
[
name
]
==
opt
.
__class__
.
__name__
)
assert
all
(
out
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录