zoukankan      html  css  js  c++  java
  • 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方法大致如下:

  • 相关阅读:
    [Linux]
    [.Net]
    [.Net]
    [Linux]
    [Google]
    面向对象的7个基本设计原则
    windows SDK中的wininet写http客户端
    C++ 用libcurl库进行http通讯网络编程
    感悟
    关于Windows高DPI的一些简单总结
  • 原文地址:https://www.cnblogs.com/qiezi-online/p/13894193.html
Copyright © 2011-2022 走看看