最近因为工作原因,需要用到tensorflow,对于我这个没搞过深度学习的菜鸟来说,tensorflow实在是。。。。
挺好用的。开个贴记录一些使用方法。
我的记性不好, 只能烂笔头了。
tf.stack
tf.concat
>>> import tensorflow as tf
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = tf.concat([a,b],0)
>>> sess = tf.InteractiveSession()
>>> print(sess.run(c))
[1 2 3 4 5 6]
>>> a = [[1,2,3],[4,5,6]]
>>> b = [[1,1,1],[2,2,2]]
>>> c = tf.concat([a,b],0)
>>> print(sess.run(c))
[[1 2 3]
[4 5 6]
[1 1 1]
[2 2 2]]
>>> c = tf.concat([a,b],1)
>>> print(sess.run(c))
[[1 2 3 1 1 1]
[4 5 6 2 2 2]]
>>> d = tf.stack([a,b],0)
>>> print(sess.run(d))
[[[1 2 3]
[4 5 6]]
[[1 1 1]
[2 2 2]]]
>>> e = tf.stack([a,b],1)
>>> print(sess.run(e))
[[[1 2 3]
[1 1 1]]
[[4 5 6]
[2 2 2]]]
>>> f = tf.reshape(e,[-1,6])
>>> print(sess.run(f))
[[1 2 3 1 1 1]
[4 5 6 2 2 2]]
在我的程序里(自定义了一些Op操作),很奇怪,使用concat会报拓扑有环的问题,但是不影响程序运行和结果输出,不知道什么原因,有时间查一下底层实现。
最终选择用stack曲线救国。