Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这段python代码中,大于符号意味着什么? 我试图在C++中实现一个受限的Boltzmann机。我将此Python代码用作指南: _Python_C++_Numpy_Syntax_Notation - Fatal编程技术网

在这段python代码中,大于符号意味着什么? 我试图在C++中实现一个受限的Boltzmann机。我将此Python代码用作指南:

在这段python代码中,大于符号意味着什么? 我试图在C++中实现一个受限的Boltzmann机。我将此Python代码用作指南: ,python,c++,numpy,syntax,notation,Python,C++,Numpy,Syntax,Notation,这是第37行: pos_hidden_states = pos_hidden_probs > np.random.rand(num_examples, self.num_hidden + 1) PosiHydNyStand和PasyHydDyPro都是2D矩阵,C++中的类型为代码>向量< /代码>,NUMYSUBLASH和NUMLHOLD都是整数。p> 有人能解释一下大于符号在这里的含义吗?由于操作符重载,操作符几乎可以做任何事情——它只需调用对象上的特殊方法。但是,如果没有其他信息

这是第37行:

pos_hidden_states = pos_hidden_probs > np.random.rand(num_examples, self.num_hidden + 1)

PosiHydNyStand和PasyHydDyPro都是2D矩阵,C++中的类型为代码>向量< /代码>,NUMYSUBLASH和NUMLHOLD都是整数。p>


有人能解释一下大于符号在这里的含义吗?

由于操作符重载,
操作符几乎可以做任何事情——它只需调用对象上的特殊方法。但是,如果没有其他信息,我希望它能简单地评估“大于”,并返回<代码>布尔O/St>值。

< P>可能不容易将代码> NoMPy<代码>转换成C++,在代码< NoMPy中的大量抽象。无论如何,它作为一个向量化比较,因为
np.random.rand(…)
返回一个
np.ndarray
,如果
pos\u hidden\u probs
是一个标量或
np.ndarray
,它将以向量化(即元素化)的方式运行:

如果
pos\u hidden\u probs
是某种
np.ndarray
,则行为可能受到numpy的一个特性的影响:

>>> np.array([0.5, 0.5]) > rand_array
array([[ True, False],
       [False,  True]], dtype=bool)
>>> np.array([0.5, .9]) > rand_array
array([[ True,  True],
       [False,  True]], dtype=bool)
>>>

操作符在NumPy中按元素工作,例如

np.array([[1,2],[3,4]]) > np.array([[2,2],[2,2]])
为您提供
np.array([[False,False],[True,True]])


NumPy也有,这赋予了不同维度数组之间比较的意义。

将隐藏的prob(本例中为浮点)与2d NumPy数组中的每个项进行比较,并返回一个2d布尔值数组:

>>> import numpy as np
>>> np.random.randn(3,2)array([[-0.74615339, -1.22667606],
       [ 0.22729787,  0.72070398],
       [-1.06876014,  0.06367189]])
>>> 5.  >  np.random.randn(3,2)
array([[ True,  True],
       [ True,  True],
       [ True,  True]], dtype=bool)
>>> 
参考这里&
>>> import numpy as np
>>> np.random.randn(3,2)array([[-0.74615339, -1.22667606],
       [ 0.22729787,  0.72070398],
       [-1.06876014,  0.06367189]])
>>> 5.  >  np.random.randn(3,2)
array([[ True,  True],
       [ True,  True],
       [ True,  True]], dtype=bool)
>>>