Graph 构建与Session过程:
1 尽量使用变量,而不要使用常量:
在tensorflow中,常量是作为op存在图中,会没必要的占用很多内存,如果使用变量,只会在session中根据实际需求,动态分配内存
2 将所有节点和op提前定义在静态图中,而不要在session中重新添加新的op(lazy loading)
tensorflow有对于静态图计算的优化,每个op只会计算一次然后存储下,而在session中添加的op不会存储,可能导致反复的计算
3 数据的处理尽量在tensorflow之外用python(numpy, pandas等)完成
tensorflow函数:
1 tf.cond: 相当于条件语句
2 tf.data.Dataset、tf.data.TextLineDataset等的使用:效率比使用tf.placeholder高,但也不够灵活,视情况而定
2
特殊功能:
1 eager execution:
热执行,不需要session和构建静态图,所以也就不存在lazy loading 问题,并且语句更加python化,且能和numpy共存
与Graph的大部分用法兼容
2