tensorflow 小记——如何对张量做任意行求和,得到新tensor(一种方法:列表生成式)
Posted qiezi-online
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow 小记——如何对张量做任意行求和,得到新tensor(一种方法:列表生成式)相关的知识,希望对你有一定的参考价值。
希望实现图片上的功能
import tensorflow as tf
a = tf.range(10,dtype=float)
b = a
a = tf.reshape(a,[-1,1])
a = tf.tile(a,[1,3])
sess = tf.Session()
print(sess.run(b))
print(sess.run(a))
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[[0. 0. 0.]
[1. 1. 1.]
[2. 2. 2.]
[3. 3. 3.]
[4. 4. 4.]
[5. 5. 5.]
[6. 6. 6.]
[7. 7. 7.]
[8. 8. 8.]
[9. 9. 9.]]
有没有什么方法让10*3这个tensor,每三行相加?
解答图片的问题:
tensorflow方法如下:
import tensorflow as tf a = tf.range(10,dtype=float) b = a a = tf.reshape(a,[-1,1]) a = tf.tile(a,[1,3]) c = tf.convert_to_tensor([a[i] if i<=1 else tf.reduce_sum(a[i-2:i+1],0)/3 +a[i] for i in range(a.shape[0])]) sess = tf.Session() print(sess.run(b)) print(sess.run(a)) print(sess.run(c))
pytorch方法大致如下:
以上是关于tensorflow 小记——如何对张量做任意行求和,得到新tensor(一种方法:列表生成式)的主要内容,如果未能解决你的问题,请参考以下文章
深度学习TensorFlow面试题:什么是TensorFlow?你对张量了解多少?TensorFlow有什么优势?TensorFlow比PyTorch有什么不同?该如何选择?