Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
0ceaf5e8
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看板
提交
0ceaf5e8
编写于
3月 02, 2017
作者:
Y
Yu Yang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feature/serialize_deserialize_in_parameters' into feature/recommendation_v2_api
上级
21e02478
b250fcea
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
39 addition
and
2 deletion
+39
-2
demo/mnist/.gitignore
demo/mnist/.gitignore
+1
-0
demo/mnist/api_train_v2.py
demo/mnist/api_train_v2.py
+10
-1
python/paddle/v2/parameters.py
python/paddle/v2/parameters.py
+27
-0
python/paddle/v2/trainer.py
python/paddle/v2/trainer.py
+1
-1
未找到文件。
demo/mnist/.gitignore
浏览文件 @
0ceaf5e8
...
...
@@ -5,3 +5,4 @@ plot.png
train.log
*pyc
.ipynb_checkpoints
params.pkl
demo/mnist/api_train_v2.py
浏览文件 @
0ceaf5e8
import
paddle.v2
as
paddle
import
cPickle
def
main
():
...
...
@@ -16,6 +17,10 @@ def main():
act
=
paddle
.
activation
.
Softmax
())
cost
=
paddle
.
layer
.
classification_cost
(
input
=
inference
,
label
=
label
)
try
:
with
open
(
'params.pkl'
,
'r'
)
as
f
:
parameters
=
cPickle
.
load
(
f
)
except
IOError
:
parameters
=
paddle
.
parameters
.
create
(
cost
)
adam_optimizer
=
paddle
.
optimizer
.
Adam
(
learning_rate
=
0.01
)
...
...
@@ -35,6 +40,10 @@ def main():
event
.
pass_id
,
event
.
batch_id
,
event
.
cost
,
event
.
metrics
,
result
.
cost
,
result
.
metrics
)
with
open
(
'params.pkl'
,
'w'
)
as
f
:
cPickle
.
dump
(
parameters
,
f
,
protocol
=
cPickle
.
HIGHEST_PROTOCOL
)
else
:
pass
...
...
python/paddle/v2/parameters.py
浏览文件 @
0ceaf5e8
...
...
@@ -222,6 +222,33 @@ class Parameters(object):
self
.
__gradient_machines__
.
append
(
gradient_machine
)
def
__getstate__
(
self
):
params
=
{}
for
name
in
self
.
names
():
params
[
name
]
=
self
.
get
(
name
)
param_conf
=
{}
for
name
in
self
.
__param_conf__
:
conf
=
self
.
__param_conf__
[
name
]
assert
isinstance
(
conf
,
ParameterConfig
)
param_conf
[
name
]
=
conf
.
SerializeToString
()
return
{
'conf'
:
param_conf
,
'params'
:
params
}
def
__setstate__
(
self
,
obj
):
Parameters
.
__init__
(
self
)
def
__impl__
(
conf
,
params
):
for
name
in
conf
:
p
=
ParameterConfig
()
p
.
ParseFromString
(
conf
[
name
])
self
.
__append_config__
(
p
)
for
name
in
params
:
shape
=
self
.
get_shape
(
name
)
self
.
set
(
name
,
params
[
name
].
reshape
(
shape
))
__impl__
(
**
obj
)
def
__get_parameter_in_gradient_machine__
(
gradient_machine
,
name
):
"""
...
...
python/paddle/v2/trainer.py
浏览文件 @
0ceaf5e8
...
...
@@ -66,9 +66,9 @@ class SGD(ITrainer):
self
.
__topology_in_proto__
,
api
.
CREATE_MODE_NORMAL
,
self
.
__optimizer__
.
enable_types
())
assert
isinstance
(
gm
,
api
.
GradientMachine
)
parameters
.
append_gradient_machine
(
gm
)
self
.
__gradient_machine__
=
gm
self
.
__gradient_machine__
.
randParameters
()
parameters
.
append_gradient_machine
(
gm
)
def
train
(
self
,
reader
,
num_passes
=
1
,
event_handler
=
None
,
reader_dict
=
None
):
"""
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录