发布于2019-08-26 12:40 阅读(1433) 评论(0) 点赞(5) 收藏(1)
这个问题是关于访问张量中的单个元素,比如[[1,2,3]]。我需要访问内部元素[1,2,3](这可以使用.eval()或sess.run()执行)但是当张量的大小很大时需要更长的时间)
有没有什么方法可以更快地做到这一点?
提前致谢。
有两种主要方法可以访问张量中元素的子集,其中任何一个都应该适用于您的示例。
使用索引运算符(基于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相同的切片规范。
使用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黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!