Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
52038702
P
Paddle
项目概览
Crayon鑫
/
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看板
提交
52038702
编写于
9月 26, 2017
作者:
Q
qijun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add more examples
上级
d90fc3de
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
111 addition
and
1 deletion
+111
-1
doc/design/graph_survey.md
doc/design/graph_survey.md
+111
-1
未找到文件。
doc/graph_survey.md
→
doc/
design/
graph_survey.md
浏览文件 @
52038702
...
...
@@ -15,7 +15,7 @@
```
python
def
get_symbol
(
num_classes
=
10
,
**
kwargs
):
data
=
mx
.
symbol
.
Variable
(
'data'
)
data
=
mx
.
sym
.
Flatten
(
data
=
data
)
data
=
mx
.
sym
bol
.
Flatten
(
data
=
data
)
fc1
=
mx
.
symbol
.
FullyConnected
(
data
=
data
,
name
=
'fc1'
,
num_hidden
=
128
)
act1
=
mx
.
symbol
.
Activation
(
data
=
fc1
,
name
=
'relu1'
,
act_type
=
"relu"
)
fc2
=
mx
.
symbol
.
FullyConnected
(
data
=
act1
,
name
=
'fc2'
,
num_hidden
=
64
)
...
...
@@ -119,3 +119,113 @@ Expression的主要成员为ComputationGraph,可以在用户配置网络的过
-
在用户配置网络时,所有的返回值都是Expression,包括最初的输入数据,及参数等
-
Expression已经包含了所有的依赖关系,可以被当做执行的target
下面我们来看几个实例:
-
Mxnet
```
>>> import mxnet as mx
>>> data = mx.symbol.Variable('data')
>>> print data.debug_str()
Variable:data
>>> data = mx.symbol.Flatten(data=data)
>>> print data.debug_str()
Symbol Outputs:
output[0]=flatten0(0)
Variable:data
--------------------
Op:Flatten, Name=flatten0
Inputs:
arg[0]=data(0) version=0
>>> fc1 = mx.symbol.FullyConnected(data = data, name='fc1', num_hidden=128)
>>> print fc1.debug_str()
Symbol Outputs:
output[0]=fc1(0)
Variable:data
--------------------
Op:Flatten, Name=flatten0
Inputs:
arg[0]=data(0) version=0
Variable:fc1_weight
Variable:fc1_bias
--------------------
Op:FullyConnected, Name=fc1
Inputs:
arg[0]=flatten0(0)
arg[1]=fc1_weight(0) version=0
arg[2]=fc1_bias(0) version=0
Attrs:
num_hidden=128
```
-
TensorFlow
```
>>> import tensorflow as tf
>>> c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
>>> print c.graph
<tensorflow.python.framework.ops.Graph object at 0x10f256d50>
>>> d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
>>> print d.graph
<tensorflow.python.framework.ops.Graph object at 0x10f256d50>
>>> e = tf.matmul(c, d)
>>> print e.graph
<tensorflow.python.framework.ops.Graph object at 0x10f256d50>
```
没有找到Graph的debug string接口,但是可以明确知道配置过程中只存在一个Graph。
-
dynet
dynet可以在C++中书写配置
```
ComputationGraph cg;
Expression W = parameter(cg, pW);
cg.print_graphviz();
Expression pred = W * xs[i];
cg.print_graphviz();
Expression loss = square(pred - ys[i]);
cg.print_graphviz();
```
编译运行后,得到打印结果:
```
# first print
digraph G {
rankdir=LR;
nodesep=.05;
N0 [label="v0 = parameters({1}) @ 0x7ffe4de00110"];
}
# second print
digraph G {
rankdir=LR;
nodesep=.05;
N0 [label="v0 = parameters({1}) @ 0x7ffe4de00110"];
N1 [label="v1 = v0 * -0.98"];
N0 -> N1;
}
# third print
digraph G {
rankdir=LR;
nodesep=.05;
N0 [label="v0 = parameters({1}) @ 0x7ffe4de00110"];
N1 [label="v1 = v0 * -0.98"];
N0 -> N1;
N2 [label="v2 = -1.88387 - v1"];
N1 -> N2;
N3 [label="v3 = -v2"];
N2 -> N3;
N4 [label="v4 = square(v3)"];
N3 -> N4;
}
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录