提交 ff95924a 编写于 作者: Q Qiao Longfei 提交者: GitHub

Merge pull request #392 from jacquesqiao/add-save-topo

add save topology to chapter 1
...@@ -64,7 +64,7 @@ RUN pip install -U nltk \ ...@@ -64,7 +64,7 @@ RUN pip install -U nltk \
RUN ${update_mirror_cmd} RUN ${update_mirror_cmd}
apt-get update && \ apt-get update && \
apt-get install -y locales patch && \ apt-get install -y locales patch && \
apt-get -y install gcc curl git && \ apt-get -y install gcc curl git vim && \
apt-get -y clean && \ apt-get -y clean && \
localedef -f UTF-8 -i en_US en_US.UTF-8 && \ localedef -f UTF-8 -i en_US en_US.UTF-8 && \
pip install --upgrade pip && \ pip install --upgrade pip && \
......
...@@ -126,8 +126,18 @@ y_predict = paddle.layer.fc(input=x, ...@@ -126,8 +126,18 @@ y_predict = paddle.layer.fc(input=x,
size=1, size=1,
act=paddle.activation.Linear()) act=paddle.activation.Linear())
y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
cost = paddle.layer.mse_cost(input=y_predict, label=y) cost = paddle.layer.square_error_cost(input=y_predict, label=y)
``` ```
### 保存网络拓扑
```python
# Save the inference topology to protobuf.
inference_topology = paddle.topology.Topology(layers=y_predict)
with open("inference_topology.pkl", 'wb') as f:
inference_topology.serialize_for_inference(f)
```
### 创建参数 ### 创建参数
```python ```python
......
...@@ -132,8 +132,19 @@ y_predict = paddle.layer.fc(input=x, ...@@ -132,8 +132,19 @@ y_predict = paddle.layer.fc(input=x,
size=1, size=1,
act=paddle.activation.Linear()) act=paddle.activation.Linear())
y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
cost = paddle.layer.mse_cost(input=y_predict, label=y) cost = paddle.layer.square_error_cost(input=y_predict, label=y)
``` ```
### Save Topology
```python
# Save the inference topology to protobuf.
inference_topology = paddle.topology.Topology(layers=y_predict)
with open("inference_topology.pkl", 'wb') as f:
inference_topology.serialize_for_inference(f)
```
### Create Parameters ### Create Parameters
```python ```python
......
...@@ -168,8 +168,18 @@ y_predict = paddle.layer.fc(input=x, ...@@ -168,8 +168,18 @@ y_predict = paddle.layer.fc(input=x,
size=1, size=1,
act=paddle.activation.Linear()) act=paddle.activation.Linear())
y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
cost = paddle.layer.mse_cost(input=y_predict, label=y) cost = paddle.layer.square_error_cost(input=y_predict, label=y)
``` ```
### 保存网络拓扑
```python
# Save the inference topology to protobuf.
inference_topology = paddle.topology.Topology(layers=y_predict)
with open("inference_topology.pkl", 'wb') as f:
inference_topology.serialize_for_inference(f)
```
### 创建参数 ### 创建参数
```python ```python
......
...@@ -174,8 +174,19 @@ y_predict = paddle.layer.fc(input=x, ...@@ -174,8 +174,19 @@ y_predict = paddle.layer.fc(input=x,
size=1, size=1,
act=paddle.activation.Linear()) act=paddle.activation.Linear())
y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
cost = paddle.layer.mse_cost(input=y_predict, label=y) cost = paddle.layer.square_error_cost(input=y_predict, label=y)
``` ```
### Save Topology
```python
# Save the inference topology to protobuf.
inference_topology = paddle.topology.Topology(layers=y_predict)
with open("inference_topology.pkl", 'wb') as f:
inference_topology.serialize_for_inference(f)
```
### Create Parameters ### Create Parameters
```python ```python
......
...@@ -12,6 +12,11 @@ def main(): ...@@ -12,6 +12,11 @@ def main():
y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1)) y = paddle.layer.data(name='y', type=paddle.data_type.dense_vector(1))
cost = paddle.layer.square_error_cost(input=y_predict, label=y) cost = paddle.layer.square_error_cost(input=y_predict, label=y)
# Save the inference topology to protobuf.
inference_topology = paddle.topology.Topology(layers=y_predict)
with open("inference_topology.pkl", 'wb') as f:
inference_topology.serialize_for_inference(f)
# create parameters # create parameters
parameters = paddle.parameters.create(cost) parameters = paddle.parameters.create(cost)
...@@ -21,10 +26,6 @@ def main(): ...@@ -21,10 +26,6 @@ def main():
trainer = paddle.trainer.SGD( trainer = paddle.trainer.SGD(
cost=cost, parameters=parameters, update_equation=optimizer) cost=cost, parameters=parameters, update_equation=optimizer)
# save model proto as file
with open("model.proto", "w") as f:
f.write(str(trainer.__topology_in_proto__))
feeding = {'x': 0, 'y': 1} feeding = {'x': 0, 'y': 1}
# event_handler to print training and testing info # event_handler to print training and testing info
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册