Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wzpei9
Paddle
提交
864386d5
P
Paddle
项目概览
wzpei9
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
864386d5
编写于
6月 27, 2017
作者:
D
dongzhihong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
"change log in optimizer"
上级
cebfae94
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
67 addition
and
66 deletion
+67
-66
go/pserver/optimizer.go
go/pserver/optimizer.go
+2
-2
go/pserver/service_test.go
go/pserver/service_test.go
+65
-64
未找到文件。
go/pserver/optimizer.go
浏览文件 @
864386d5
...
...
@@ -47,7 +47,7 @@ func newOptimizer(paramWithConfigs ParameterWithConfig) *optimizer {
}
func
(
o
*
optimizer
)
GetWeights
(
p
*
Parameter
)
error
{
// FIXME: get weigths from optimizer has bug
var
buffer
unsafe
.
Pointer
buffer_len
:=
C
.
paddle_optimizer_get_weights
(
o
.
opt
,
&
buffer
)
if
buffer_len
==
0
||
buffer
==
nullPtr
{
...
...
@@ -59,7 +59,7 @@ func (o *optimizer) GetWeights(p *Parameter) error {
func
(
o
*
optimizer
)
UpdateParameter
(
g
Gradient
)
error
{
if
o
.
ElementType
!=
g
.
ElementType
{
return
fmt
.
Errorf
(
"Name: %s, parameter and gradient element type not match, parameter: %v, gradient: %v"
,
g
.
Name
,
g
.
ElementType
,
g
.
ElementType
)
return
fmt
.
Errorf
(
"Name: %s, parameter and gradient element type not match, parameter: %v, gradient: %v"
,
g
.
Name
,
o
.
ElementType
,
g
.
ElementType
)
}
// FIXME: do we need a copy? discard g.Content by GC ok
...
...
go/pserver/service_test.go
浏览文件 @
864386d5
...
...
@@ -2,6 +2,7 @@ package pserver_test
import
(
"io/ioutil"
"reflect"
"sync"
"testing"
"time"
...
...
@@ -9,7 +10,7 @@ import (
"github.com/PaddlePaddle/Paddle/go/pserver"
)
func
Test
Full
(
t
*
testing
.
T
)
{
func
Test
NewName
(
t
*
testing
.
T
)
{
s
:=
pserver
.
NewService
()
var
p
pserver
.
Parameter
p
.
Name
=
"param_a"
...
...
@@ -25,69 +26,69 @@ func TestFull(t *testing.T) {
t
.
FailNow
()
}
//
var p1 pserver.Parameter
//
p1.Name = "param_b"
//
p1.Content = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
//
p1.ElementType = pserver.Float32
// fmt.Println("paddle passed"
)
// err = s.InitParam(pserver.ParameterWithConfig{Param: p1, Config: config}, nil)
// if err != nil {
// t.FailNow()
// }
// err = s.FinishInitParams(0, nil)
// if err != nil {
// t.FailNow()
// }
// var param pserver.Parameter
// err = s.GetParam("param_b", ¶m)
// if err != nil {
// t.FailNow()
// }
// if !reflect.DeepEqual(param, p1) {
// t.FailNow()
// }
// g1, g2 := pserver.Gradient(p1), pserver.Gradient(p)
//
err = s.SendGrad(g1, nil)
//
if err != nil {
//
t.FailNow()
//
}
//
err = s.SendGrad(g2, nil)
//
if err != nil {
//
t.FailNow()
//
}
//
var param1 pserver.Parameter
//
err = s.GetParam("param_a", ¶m1)
//
if err != nil {
//
t.FailNow()
//
}
//
//
don't compare content, since it's already changed by
//
//
gradient update.
//
param1.Content = nil
//
p.Content = nil
//
if !reflect.DeepEqual(param1, p) {
//
t.FailNow()
//
}
//
}
//
func TestMultipleInit(t *testing.T) {
//
s := pserver.NewService()
//
err := s.FinishInitParams(0, nil)
//
if err != nil {
//
t.FailNow()
//
}
//
err = s.FinishInitParams(0, nil)
//
if err.Error() != pserver.AlreadyInitialized {
//
t.FailNow()
//
}
var
p1
pserver
.
Parameter
p1
.
Name
=
"param_b"
p1
.
Content
=
[]
byte
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}
p1
.
ElementType
=
pserver
.
Float32
err
=
s
.
InitParam
(
pserver
.
ParameterWithConfig
{
Param
:
p1
,
Config
:
config
},
nil
)
if
err
!=
nil
{
t
.
FailNow
()
}
err
=
s
.
FinishInitParams
(
0
,
nil
)
if
err
!=
nil
{
t
.
FailNow
()
}
var
param
pserver
.
Parameter
err
=
s
.
GetParam
(
"param_b"
,
&
param
)
if
err
!=
nil
{
t
.
FailNow
()
}
if
!
reflect
.
DeepEqual
(
param
,
p1
)
{
t
.
FailNow
()
}
g1
,
g2
:=
pserver
.
Gradient
(
p1
),
pserver
.
Gradient
(
p
)
err
=
s
.
SendGrad
(
g1
,
nil
)
if
err
!=
nil
{
t
.
FailNow
()
}
err
=
s
.
SendGrad
(
g2
,
nil
)
if
err
!=
nil
{
t
.
FailNow
()
}
var
param1
pserver
.
Parameter
err
=
s
.
GetParam
(
"param_a"
,
&
param1
)
if
err
!=
nil
{
t
.
FailNow
()
}
// don't compare content, since it's already changed by
// gradient update.
param1
.
Content
=
nil
p
.
Content
=
nil
if
!
reflect
.
DeepEqual
(
param1
,
p
)
{
t
.
FailNow
()
}
}
func
TestMultipleInit
(
t
*
testing
.
T
)
{
s
:=
pserver
.
NewService
()
err
:=
s
.
FinishInitParams
(
0
,
nil
)
if
err
!=
nil
{
t
.
FailNow
()
}
err
=
s
.
FinishInitParams
(
0
,
nil
)
if
err
.
Error
()
!=
pserver
.
AlreadyInitialized
{
t
.
FailNow
()
}
}
func
TestUninitialized
(
t
*
testing
.
T
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录