Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
c93596d3
P
Paddle
项目概览
机器未来
/
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看板
提交
c93596d3
编写于
10月 18, 2017
作者:
F
fengjiayi
提交者:
GitHub
10月 18, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
unify layer names (#4913)
上级
c10b8e80
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
43 deletion
+45
-43
python/paddle/v2/framework/layers.py
python/paddle/v2/framework/layers.py
+25
-25
python/paddle/v2/framework/tests/test_layers.py
python/paddle/v2/framework/tests/test_layers.py
+20
-18
未找到文件。
python/paddle/v2/framework/layers.py
浏览文件 @
c93596d3
...
...
@@ -3,17 +3,17 @@ import paddle.v2.framework.core as core
from
paddle.v2.framework.framework
import
OpProtoHolder
,
Variable
import
re
__all__
=
[
'fc
_layer'
,
'data_layer'
,
'cross_entropy'
,
'conv2d_layer
'
]
__all__
=
[
'fc
'
,
'data'
,
'cross_entropy'
,
'conv2d
'
]
def
fc
_layer
(
input
,
size
,
param_attr
=
None
,
bias_attr
=
True
,
name
=
None
,
act
=
None
,
num_flatten_dims
=
1
,
program
=
None
):
def
fc
(
input
,
size
,
param_attr
=
None
,
bias_attr
=
True
,
name
=
None
,
act
=
None
,
num_flatten_dims
=
1
,
program
=
None
):
# create helper
helper
=
LayerHelper
(
'fc'
,
**
locals
())
...
...
@@ -51,11 +51,11 @@ def fc_layer(input,
return
helper
.
append_activation
(
pre_activation
)
def
data
_layer
(
name
,
shape
,
data_type
=
'float32'
,
type
=
core
.
VarDesc
.
VarType
.
LOD_TENSOR
,
program
=
None
):
def
data
(
name
,
shape
,
data_type
=
'float32'
,
type
=
core
.
VarDesc
.
VarType
.
LOD_TENSOR
,
program
=
None
):
helper
=
LayerHelper
(
'data'
,
**
locals
())
shape
=
[
-
1
]
+
shape
# append batch size as -1
return
helper
.
create_global_variable
(
...
...
@@ -145,17 +145,17 @@ def square_error_cost(input, label, **kwargs):
return
square_out
def
conv2d
_layer
(
input
,
num_filters
,
name
=
None
,
filter_size
=
[
1
,
1
],
act
=
None
,
groups
=
None
,
stride
=
[
1
,
1
],
padding
=
None
,
bias_attr
=
None
,
param_attr
=
None
,
program
=
None
):
def
conv2d
(
input
,
num_filters
,
name
=
None
,
filter_size
=
[
1
,
1
],
act
=
None
,
groups
=
None
,
stride
=
[
1
,
1
],
padding
=
None
,
bias_attr
=
None
,
param_attr
=
None
,
program
=
None
):
helper
=
LayerHelper
(
'conv2d'
,
**
locals
())
dtype
=
helper
.
input_dtype
()
...
...
python/paddle/v2/framework/tests/test_layers.py
浏览文件 @
c93596d3
from
paddle.v2.framework.layers
import
fc_layer
,
data_layer
,
cross_entropy
,
mean
,
square_error_cost
,
conv2d_layer
import
paddle.v2.framework.layers
as
layers
from
paddle.v2.framework.framework
import
Program
,
g_program
import
paddle.v2.framework.core
as
core
import
unittest
...
...
@@ -7,15 +7,16 @@ import unittest
class
TestBook
(
unittest
.
TestCase
):
def
test_fit_a_line
(
self
):
program
=
Program
()
x
=
data_layer
(
x
=
layers
.
data
(
name
=
'x'
,
shape
=
[
13
],
data_type
=
'float32'
,
program
=
program
)
y_predict
=
fc_layer
(
input
=
x
,
size
=
1
,
act
=
None
,
program
=
program
)
y_predict
=
layers
.
fc
(
input
=
x
,
size
=
1
,
act
=
None
,
program
=
program
)
y
=
data_layer
(
y
=
layers
.
data
(
name
=
'y'
,
shape
=
[
1
],
data_type
=
'float32'
,
program
=
program
)
cost
=
square_error_cost
(
input
=
y_predict
,
label
=
y
,
program
=
program
)
cost
=
layers
.
square_error_cost
(
input
=
y_predict
,
label
=
y
,
program
=
program
)
avg_cost
=
mean
(
x
=
cost
,
program
=
program
)
avg_cost
=
layers
.
mean
(
x
=
cost
,
program
=
program
)
self
.
assertIsNotNone
(
avg_cost
)
program
.
append_backward
(
avg_cost
,
set
())
print
str
(
program
)
...
...
@@ -24,16 +25,18 @@ class TestBook(unittest.TestCase):
program
=
Program
()
# Change g_program, so the rest layers use `g_program`
images
=
data_layer
(
images
=
layers
.
data
(
name
=
'pixel'
,
shape
=
[
784
],
data_type
=
'float32'
,
program
=
program
)
label
=
data_layer
(
label
=
layers
.
data
(
name
=
'label'
,
shape
=
[
1
],
data_type
=
'int32'
,
program
=
program
)
hidden1
=
fc_layer
(
input
=
images
,
size
=
128
,
act
=
'relu'
,
program
=
program
)
hidden2
=
fc_layer
(
input
=
hidden1
,
size
=
64
,
act
=
'relu'
,
program
=
program
)
predict
=
fc_layer
(
input
=
hidden2
,
size
=
10
,
act
=
'softmax'
,
program
=
program
)
cost
=
cross_entropy
(
input
=
predict
,
label
=
label
,
program
=
program
)
avg_cost
=
mean
(
x
=
cost
,
program
=
program
)
hidden1
=
layers
.
fc
(
input
=
images
,
size
=
128
,
act
=
'relu'
,
program
=
program
)
hidden2
=
layers
.
fc
(
input
=
hidden1
,
size
=
64
,
act
=
'relu'
,
program
=
program
)
predict
=
layers
.
fc
(
input
=
hidden2
,
size
=
10
,
act
=
'softmax'
,
program
=
program
)
cost
=
layers
.
cross_entropy
(
input
=
predict
,
label
=
label
,
program
=
program
)
avg_cost
=
layers
.
mean
(
x
=
cost
,
program
=
program
)
self
.
assertIsNotNone
(
avg_cost
)
# print str(program)
...
...
@@ -48,11 +51,10 @@ class TestBook(unittest.TestCase):
# print str(program)
def
test_simple_conv2d
(
self
):
pd
=
core
.
ProgramDesc
.
__create_program_desc__
()
program
=
Program
(
desc
=
pd
)
images
=
data_layer
(
program
=
Program
()
images
=
layers
.
data
(
name
=
'pixel'
,
shape
=
[
3
,
48
,
48
],
data_type
=
'int32'
,
program
=
program
)
conv2d_layer
(
layers
.
conv2d
(
input
=
images
,
num_filters
=
3
,
filter_size
=
[
4
,
4
],
program
=
program
)
print
str
(
program
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录