TensorFlow 的语法看上去好别扭,为啥不用经典的程序语法?

2017-02-22 20:08:04 +08:00
 Aether

比如,这个类似 func 的:

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b
print(sess.run(adder_node, {a: 3, b:4.5}))
print(sess.run(adder_node, {a: [1,3], b: [2, 4]}))

以及

add_and_triple = adder_node * 3.
print(sess.run(add_and_triple, {a: 3, b:4.5}))

抽象一下直接搞成经典的程序不好么 -.- (我是菜鸟不懂其中奥妙请不要拍脸……)

def adder_note(A, B):
    return A+B

看上去不会简洁很多么 😂

4868 次点击
所在节点    Python
9 条回复
snnn
2017-02-22 20:22:08 +08:00
后面这种没法做优化。
Aether
2017-02-22 20:24:31 +08:00
@snnn 恩恩。我想肯定有原因,只是刚点开技能树第一页想来卖个萌 😆
xidianpanpei
2017-02-22 20:41:01 +08:00
建议看看这篇文件就明白了 http://mp.weixin.qq.com/s/wC2EKp14lShUf5tAIBg5ow
glasslion
2017-02-22 20:47:37 +08:00
我觉得纯粹是口味问题, tf 目前的写法比较和原来那帮搞符号式编程的口味, 帖主的比较符合大多数程序员的口味

就像让一帮原来写函数式编程的人转到 Python 上, 他们写出来的感觉最好的代码, 肯定不和传统 Python 程序员的口味

可以看看下面这个项目:

https://github.com/dmlc/minpy
http://www.jiqizhixin.com/article/2159
PythonAnswer
2017-02-22 20:52:54 +08:00
两种口味都能接受啊。。酱油和醋一起上
cxbig
2017-02-22 21:04:52 +08:00
参差多态,这个世界才会美好
所有的东西一模一样,会变得单调无趣
不能接受新事物,思维会僵化
dtysky
2017-02-22 21:05:59 +08:00
lz 看看 hdl 估计就理解了,这和 rtl 那一套极其相似,描述数据流向

忽然感觉 fpga 没白学 233
jerryshao1984
2017-02-22 21:15:38 +08:00
感觉 lazy evaluate 可以更好地优化。当前的数据处理偏向于这种编程方式,便于后期的优化,比如执行绪优化,字节码生成, JIT 之类的。
Aether
2017-02-23 00:49:53 +08:00
@glasslion 好东西呀,谢谢,我去爬爬……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/342413

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX