提交 c93596d3 编写于 作者: F fengjiayi 提交者: GitHub

unify layer names (#4913)

上级 c10b8e80
...@@ -3,17 +3,17 @@ import paddle.v2.framework.core as core ...@@ -3,17 +3,17 @@ import paddle.v2.framework.core as core
from paddle.v2.framework.framework import OpProtoHolder, Variable from paddle.v2.framework.framework import OpProtoHolder, Variable
import re import re
__all__ = ['fc_layer', 'data_layer', 'cross_entropy', 'conv2d_layer'] __all__ = ['fc', 'data', 'cross_entropy', 'conv2d']
def fc_layer(input, def fc(input,
size, size,
param_attr=None, param_attr=None,
bias_attr=True, bias_attr=True,
name=None, name=None,
act=None, act=None,
num_flatten_dims=1, num_flatten_dims=1,
program=None): program=None):
# create helper # create helper
helper = LayerHelper('fc', **locals()) helper = LayerHelper('fc', **locals())
...@@ -51,11 +51,11 @@ def fc_layer(input, ...@@ -51,11 +51,11 @@ def fc_layer(input,
return helper.append_activation(pre_activation) return helper.append_activation(pre_activation)
def data_layer(name, def data(name,
shape, shape,
data_type='float32', data_type='float32',
type=core.VarDesc.VarType.LOD_TENSOR, type=core.VarDesc.VarType.LOD_TENSOR,
program=None): program=None):
helper = LayerHelper('data', **locals()) helper = LayerHelper('data', **locals())
shape = [-1] + shape # append batch size as -1 shape = [-1] + shape # append batch size as -1
return helper.create_global_variable( return helper.create_global_variable(
...@@ -145,17 +145,17 @@ def square_error_cost(input, label, **kwargs): ...@@ -145,17 +145,17 @@ def square_error_cost(input, label, **kwargs):
return square_out return square_out
def conv2d_layer(input, def conv2d(input,
num_filters, num_filters,
name=None, name=None,
filter_size=[1, 1], filter_size=[1, 1],
act=None, act=None,
groups=None, groups=None,
stride=[1, 1], stride=[1, 1],
padding=None, padding=None,
bias_attr=None, bias_attr=None,
param_attr=None, param_attr=None,
program=None): program=None):
helper = LayerHelper('conv2d', **locals()) helper = LayerHelper('conv2d', **locals())
dtype = helper.input_dtype() dtype = helper.input_dtype()
......
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 from paddle.v2.framework.framework import Program, g_program
import paddle.v2.framework.core as core import paddle.v2.framework.core as core
import unittest import unittest
...@@ -7,15 +7,16 @@ import unittest ...@@ -7,15 +7,16 @@ import unittest
class TestBook(unittest.TestCase): class TestBook(unittest.TestCase):
def test_fit_a_line(self): def test_fit_a_line(self):
program = Program() program = Program()
x = data_layer( x = layers.data(
name='x', shape=[13], data_type='float32', program=program) 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) 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) self.assertIsNotNone(avg_cost)
program.append_backward(avg_cost, set()) program.append_backward(avg_cost, set())
print str(program) print str(program)
...@@ -24,16 +25,18 @@ class TestBook(unittest.TestCase): ...@@ -24,16 +25,18 @@ class TestBook(unittest.TestCase):
program = Program() program = Program()
# Change g_program, so the rest layers use `g_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) name='pixel', shape=[784], data_type='float32', program=program)
label = data_layer( label = layers.data(
name='label', shape=[1], data_type='int32', program=program) name='label', shape=[1], data_type='int32', program=program)
hidden1 = fc_layer(input=images, size=128, act='relu', program=program) hidden1 = layers.fc(input=images, size=128, act='relu', program=program)
hidden2 = fc_layer(input=hidden1, size=64, act='relu', program=program) hidden2 = layers.fc(input=hidden1, size=64, act='relu', program=program)
predict = fc_layer( predict = layers.fc(input=hidden2,
input=hidden2, size=10, act='softmax', program=program) size=10,
cost = cross_entropy(input=predict, label=label, program=program) act='softmax',
avg_cost = mean(x=cost, program=program) program=program)
cost = layers.cross_entropy(input=predict, label=label, program=program)
avg_cost = layers.mean(x=cost, program=program)
self.assertIsNotNone(avg_cost) self.assertIsNotNone(avg_cost)
# print str(program) # print str(program)
...@@ -48,11 +51,10 @@ class TestBook(unittest.TestCase): ...@@ -48,11 +51,10 @@ class TestBook(unittest.TestCase):
# print str(program) # print str(program)
def test_simple_conv2d(self): def test_simple_conv2d(self):
pd = core.ProgramDesc.__create_program_desc__() program = Program()
program = Program(desc=pd) images = layers.data(
images = data_layer(
name='pixel', shape=[3, 48, 48], data_type='int32', program=program) 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) input=images, num_filters=3, filter_size=[4, 4], program=program)
print str(program) print str(program)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册