程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Tensorflow python:访问张量中的各个元素

发布于2019-08-26 12:40     阅读(1433)     评论(0)     点赞(5)     收藏(1)


这个问题是关于访问张量中的单个元素,比如[[1,2,3]]。我需要访问内部元素[1,2,3](这可以使用.eval()或sess.run()执行)但是当张量的大小很大时需要更长的时间)

有没有什么方法可以更快地做到这一点?

提前致谢。


解决方案


有两种主要方法可以访问张量中元素的子集,其中任何一个都应该适用于您的示例。

  1. 使用索引运算符(基于tf.slice())从张量中提取连续切片。

    input = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    
    output = input[0, :]
    print sess.run(output)  # ==> [1 2 3]
    

    索引运算符支持许多与NumPy相同的切片规范。

  2. 使用tf.gather()op从张量中选择一个非连续切片。

    input = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    
    output = tf.gather(input, 0)
    print sess.run(output)  # ==> [1 2 3]
    
    output = tf.gather(input, [0, 2])
    print sess.run(output)  # ==> [[1 2 3] [7 8 9]]
    

    请注意,tf.gather()只允许您选择第0维中的整个切片(矩阵示例中的整行),因此您可能需要tf.reshape()tf.transpose()输入以获取适当的元素。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/60690/a3a61af65a7cbb098c27/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)