提交 772b476b 编写于 作者: Q qiaolongfei

optimize code

上级 3b69629d
...@@ -71,8 +71,8 @@ def main(): ...@@ -71,8 +71,8 @@ def main():
assert isinstance(updater, api.ParameterUpdater) assert isinstance(updater, api.ParameterUpdater)
# define network # define network
images = paddle_v2.layer.data(name='pixel', type=dp.dense_vector(784)) images = paddle_v2.layer.data(name='pixel', data_type=dp.dense_vector(784))
label = paddle_v2.layer.data(name='label', type=dp.integer_value(10)) label = paddle_v2.layer.data(name='label', data_type=dp.integer_value(10))
hidden1 = paddle_v2.layer.fc(input=images, size=200) hidden1 = paddle_v2.layer.fc(input=images, size=200)
hidden2 = paddle_v2.layer.fc(input=hidden1, size=200) hidden2 = paddle_v2.layer.fc(input=hidden1, size=200)
inference = paddle_v2.layer.fc(input=hidden2, inference = paddle_v2.layer.fc(input=hidden2,
......
...@@ -16,8 +16,8 @@ def main(): ...@@ -16,8 +16,8 @@ def main():
paddle.init(use_gpu=False, trainer_count=1) paddle.init(use_gpu=False, trainer_count=1)
# define network topology # define network topology
images = paddle.layer.data(name='pixel', type=dense_vector(784)) images = paddle.layer.data(name='pixel', data_type=dense_vector(784))
label = paddle.layer.data(name='label', type=integer_value(10)) label = paddle.layer.data(name='label', data_type=integer_value(10))
hidden1 = paddle.layer.fc(input=images, size=200) hidden1 = paddle.layer.fc(input=images, size=200)
hidden2 = paddle.layer.fc(input=hidden1, size=200) hidden2 = paddle.layer.fc(input=hidden1, size=200)
inference = paddle.layer.fc(input=hidden2, inference = paddle.layer.fc(input=hidden2,
......
...@@ -165,26 +165,22 @@ So we also need to implement some special LayerV2. ...@@ -165,26 +165,22 @@ So we also need to implement some special LayerV2.
class DataLayerV2(Layer): class DataLayerV2(Layer):
def __init__(self, name, type, **kwargs): def __init__(self, name, data_type, **kwargs):
self.__method_name__ = 'data_layer' assert isinstance(data_type, dp.InputType)
assert isinstance(type, dp.InputType)
# get data_size from type.dim self.__method_name__ = 'data_layer'
args = dict() self.__kwargs__ = kwargs
for key in kwargs: self.__data_size__ = data_type.dim
args[key] = kwargs[key]
args['size'] = type.dim
self.__args__ = args
super(DataLayerV2, self).__init__(name=name, parent_layers=dict()) super(DataLayerV2, self).__init__(name=name, parent_layers=dict())
def to_proto_impl(self, **kwargs): def to_proto_impl(self, **kwargs):
args = dict() args = dict()
args['size'] = self.__data_size__
for each in kwargs: for each in kwargs:
args[each] = kwargs[each] args[each] = kwargs[each]
for each in self.__args__: for each in self.__kwargs__:
args[each] = self.__args__[each] args[each] = self.__kwargs__[each]
return getattr(conf_helps, self.__method_name__)(name=self.name, **args) return getattr(conf_helps, self.__method_name__)(name=self.name, **args)
...@@ -202,8 +198,8 @@ cross_entropy_cost = __convert_to_v2__( ...@@ -202,8 +198,8 @@ cross_entropy_cost = __convert_to_v2__(
parent_names=['input', 'label']) parent_names=['input', 'label'])
if __name__ == '__main__': if __name__ == '__main__':
pixel = data(name='pixel', type=dp.dense_vector(784)) pixel = data(name='pixel', data_type=dp.dense_vector(784))
label = data(name='label', type=dp.integer_value(10)) label = data(name='label', data_type=dp.integer_value(10))
hidden = fc(input=pixel, size=100, act=conf_helps.SigmoidActivation()) hidden = fc(input=pixel, size=100, act=conf_helps.SigmoidActivation())
inference = fc(input=hidden, size=10, act=conf_helps.SoftmaxActivation()) inference = fc(input=hidden, size=10, act=conf_helps.SoftmaxActivation())
maxid = max_id(input=inference) maxid = max_id(input=inference)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册