为什么我不能正确使用theano.tensor.argmax和theano.tensor.mean

克里斯

我现在正在学习Theano,但是总是有一些问题。我的代码如下:

import theano 
from numpy import *
import theano.tensor as T
a = [1,2,3,4]
b = [7,8,9,10]
print T.argmax(a)

我以为它将打印索引“ 4”,但结果是:

argmax

而且,当我使用T.neq()时,如下所示:

import theano 
from numpy import *
import theano.tensor as T
a = [1,2,3,4]
b = [7,8,9,10]
print T.neq(a,b)

结果显示:

Elemwise{neq,no_inplace}.0

我真的很陌生,不知道,我想念什么吗?提前谢谢您。

独立AI

T.argmax()需要Theano TensorVariable类型。这里列出了Theano中使用的一些变量类型不要让“完全类型化的构造函数”这个名字吓到您了。关于要用作输入的数据类型,请多考虑一下它们。您在使用浮点矩阵吗?那么相关的TensorVariable类型可能是“ fmatrix”。您正在处理一批RGB图像数据吗?那么相关的TensorVariable类型可能是“ tensor4”。

在您的代码中,我们试图将列表类型输入T.argmax()。因此,从以上角度来看,这是行不通的。另外,请注意type(T.argmax(a))是theano.tensor.var.TensorVariable类型。因此,它期望将TensorVariable作为输入,并且它也会输出TensorVariable类型。因此,这不会返回实际的argmax

好吧,那有什么用?我们如何在Theano中进行此计算?

首先让我们确定您要处理的数据类型。这将是我们将要构建的计算图的起点。在这种情况下,似乎我们要处理数组或向量。Theano具有一个ivector类型(它是整数的向量),或一个fvector类型(它是float32值的向量)。让我们坚持使用数据并执行ivector,因为我们有整数值:

x = T.ivector('input')

这行代码刚刚创建了一个TensorVariable x,它表示我们想要的输入类型,即整数数组。

现在让我们为x元素的argmax定义一个TensorVariable:

y = T.argmax(x)

到目前为止,我们已经构建了一个计算图,该图期望将整数数组作为输入,并将输出该数组的argmax。但是,为了实际执行此操作,我们必须将其编译为一个函数:

get_argmax = theano.function([x], y)

theano.function语法可以在这里找到

将此函数视为现在实际执行我们使用x和y定义的计算。

当我执行时:

get_argmax([1,2,3,4,19,1])

它返回:

array(4)

那我们到底做了什么?通过定义Theano变量并使用theano.tensor函数,我们构建了一个计算图。然后,我们使用theano.function编译了一个函数,该函数实际上对指定的实际输入执行该计算。

结束语:如何做不等于运算?

a = T.ivector('a')
b = T.ivector('b')
out = T.neq(a,b)
get_out = theano.function([a,b], out)
print get_out([1,2,3,4], [7,8,9,10])

将返回:

[1,1,1,1]

概念上的关键差异之一是我将a,b视为theano TensorVariables,而不是为其分配显式变量。

您会摆脱困境,只记得要根据Theano TensorVariables定义计算,然后要真正“使用它”,就必须使用theano.function对其进行编译。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Theano Tensor移除元素?

来自分类Dev

如何指定 theano.tensor.ivector 的值?

来自分类Dev

pytorch中的tensor [:]和tensor有什么区别?

来自分类Dev

更新已使用theano.tensor.cast()强制转换的变量

来自分类Dev

theano.tensor.nnet.conv.conv2d的输出大小

来自分类Dev

ModuleNotFoundError:没有名为“ theano.tensor.shared_randomstreams”的模块

来自分类Dev

Theano / Keras:将Tensor的K-first值设置为一个值

来自分类Dev

为什么我们需要tf.convert_to_tensor?

来自分类Dev

Tensorflow Tensor重塑和填充零

来自分类Dev

如何处理KerasTensor和Tensor?

来自分类Dev

torch.Tensor.add_发生了什么?

来自分类Dev

如何使用Eigen :: Tensor ::: convolve与多个内核?

来自分类Dev

在 Java 中使用 TensorFlow 的 Python Tensor

来自分类Dev

使用 Tensor 模型实现 yolo 模型

来自分类Dev

TypeError:Tensor无法散列。而是使用tensor.ref()作为键。在Keras外科医生

来自分类Dev

使用 tf.cond() 时,Tensorflow 报告“TypeError: List of Tensor when single Tensor expected”

来自分类Dev

Tensor(1.0).item()与float(Tensor(1.0))

来自分类Dev

为什么在Torch C ++ API中就地Tensor方法是const?

来自分类Dev

Tensor Flow安装OSX

来自分类Dev

LuaJIT ffi cdata和Torch Tensor之间的最佳转换

来自分类Dev

Raspberry Pi安装Tensor-flow和Keras

来自分类Dev

PyTorch和Numpy中的Tensor条目选择逻辑发散

来自分类Dev

我不断收到错误TypeError:“ Tensor”对象不可调用

来自分类Dev

检查Torch :: Tensor是否为空的最佳方法是什么?

来自分类Dev

为什么我收到“TypeError:无法将 <type 'dict'> 类型的对象转换为 Tensor。”?

来自分类Dev

如何在python中使用scikit-tensor

来自分类Dev

当网络需要共享的(常量)Tensor时使用`DataParallel`

来自分类Dev

使用Pybind11将Eigen :: Tensor暴露给Python

来自分类Dev

如何在python中使用scikit-tensor

Related 相关文章

  1. 1

    Theano Tensor移除元素?

  2. 2

    如何指定 theano.tensor.ivector 的值?

  3. 3

    pytorch中的tensor [:]和tensor有什么区别?

  4. 4

    更新已使用theano.tensor.cast()强制转换的变量

  5. 5

    theano.tensor.nnet.conv.conv2d的输出大小

  6. 6

    ModuleNotFoundError:没有名为“ theano.tensor.shared_randomstreams”的模块

  7. 7

    Theano / Keras:将Tensor的K-first值设置为一个值

  8. 8

    为什么我们需要tf.convert_to_tensor?

  9. 9

    Tensorflow Tensor重塑和填充零

  10. 10

    如何处理KerasTensor和Tensor?

  11. 11

    torch.Tensor.add_发生了什么?

  12. 12

    如何使用Eigen :: Tensor ::: convolve与多个内核?

  13. 13

    在 Java 中使用 TensorFlow 的 Python Tensor

  14. 14

    使用 Tensor 模型实现 yolo 模型

  15. 15

    TypeError:Tensor无法散列。而是使用tensor.ref()作为键。在Keras外科医生

  16. 16

    使用 tf.cond() 时,Tensorflow 报告“TypeError: List of Tensor when single Tensor expected”

  17. 17

    Tensor(1.0).item()与float(Tensor(1.0))

  18. 18

    为什么在Torch C ++ API中就地Tensor方法是const?

  19. 19

    Tensor Flow安装OSX

  20. 20

    LuaJIT ffi cdata和Torch Tensor之间的最佳转换

  21. 21

    Raspberry Pi安装Tensor-flow和Keras

  22. 22

    PyTorch和Numpy中的Tensor条目选择逻辑发散

  23. 23

    我不断收到错误TypeError:“ Tensor”对象不可调用

  24. 24

    检查Torch :: Tensor是否为空的最佳方法是什么?

  25. 25

    为什么我收到“TypeError:无法将 <type 'dict'> 类型的对象转换为 Tensor。”?

  26. 26

    如何在python中使用scikit-tensor

  27. 27

    当网络需要共享的(常量)Tensor时使用`DataParallel`

  28. 28

    使用Pybind11将Eigen :: Tensor暴露给Python

  29. 29

    如何在python中使用scikit-tensor

热门标签

归档