python - 这段python代码中的大于号是什么意思?

标签 python c++ numpy syntax notation

我正在尝试用 C++ 实现一个受限的玻尔兹曼机。我使用这个 Python 代码作为指南: https://github.com/echen/restricted-boltzmann-machines/blob/master/rbm.py

这是第 37 行:

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

pos_hidden_​​states 和 pos_hidden_​​probs 都是二维矩阵,类型为 vector<vector<double>>在 C++ 中,num_examples 和 num_hidden 都是整数。

谁能解释一下这里的大于号是什么意思?

最佳答案

numpy 翻译成 C++ 可能并不容易,numpy 中有很多抽象。无论如何,它充当矢量化比较,因为 np.random.rand(...) 返回一个 np.ndarray,如果 pos_hidden_​​probs是标量或 np.ndarray 它将以矢量化(即逐元素)方式运行:

>>> rand_array = np.random.rand(2, 2)
>>> rand_array
array([[ 0.1807726 ,  0.67617382],
       [ 0.84396805,  0.04450794]])
>>> 0.5 > rand_array
array([[ True, False],
       [False,  True]], dtype=bool)
>>>

如果 pos_hidden_​​probs 是某种 np.ndarray,该行为可能会受到 broadcasting 的影响。 , 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)
>>>

关于python - 这段python代码中的大于号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43906539/

相关文章:

python - 从 Numpy Rec 数组中选择行

python - Docker 构建在 `add-apt-repository: not found` 上失败

python - 如何在 swig 中使用 numpy.i?

c++ - 快速 n 为大 n 选择 k mod p?

python - numpy: bool 索引和内存使用

python - 需要一个函数来确定一个值的大小

python - 如何使用 python 生成规则的地理网格?

python - 用动态语言编码视频的好库?

python - 在 python 中使用 count()

c++ - 可以创建任意类型的 constexpr 链表吗?