python - 如何获取作为神经网络输出的向量的一部分?
问题描述
如果我有一个内置的神经网络tensorflow 1.x
,输出是一个向量 Y,我需要取Y(1:4:end)
(这个符号在 MATLAB 中)的值,它在 python 中是等价的Y[0:len(Y):4]
。但是,当我这样做时,我得到如下错误:
raise TypeError(_SLICE_TYPE_ERROR + ", got {!r}".format(idx))
TypeError: Only integers, slices (`:`), ellipsis (`...`), tf.newaxis (`None`) and scalar tf.int32/tf.int64 tensors are valid indices, got TensorShape([Dimension(None), Dimension(8)])
这意味着我认为对称为张量的 NN 的输出使用相同的命令是无效的。那么,我怎样才能为那个向量做到这一点呢?
解决方案
len(Y)
正在返回一个 TensorShape 对象,而不是一个 int。
你能试一下吗:
Y[0:tf.size(Y):4]
获取张量中元素的数量。
你也可以试试:
Y[::4]
索引列表/数组中的每 4 个项目
推荐阅读
- sql - 在一对多表中查找重复项
- text-to-speech - Watson TTS 语音选择
- apache - Apache 2.4 Require all denied 不使用 RewriteRule
- javascript - 每个浏览器如何选择wordpress中的图片url?
- javascript - 如何使用 Javascript 将字符串转换为 AST 对象?
- javascript - 防止多次点击 .click()
- javascript - 在 Javascript 中,如何获取给定对象的键作为值?
- android - 启动应用程序时抛出 java.lang.NoClassDefFoundError
- graphics - glsl“统一网格”分桶
- django-rest-framework - Wagtail 和 DRF 的难度