在这段 python 代码中,大于符号是什么意思
What does the greater-than symbol mean in this piece of python code?
我正在尝试在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 都是 2D 矩阵,C++ 中的类型 vector<vector<double>>
,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
,则行为可能会受到广播的影响,这是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也进行广播,这为不同维度的数组之间的比较提供了意义。
>将隐藏概率(在本例中为浮点数(与 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)
>>>
由于运算符重载,>
运算符几乎可以做任何事情——它只是在对象上调用__gt__
特殊方法。但是如果没有任何其他信息,我希望它只是简单地评估"大于"并返回bool
值。
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 大于65535的C++数组[size]引发不一致的溢出
- vscode g++链路故障:体系结构x86_64的未定义符号
- 查找最接近的大于当前数字的数字的索引
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- 如何打印大于"无符号长长"的"std::bitset"的十进制值?
- 我应该使用无符号字符而不是 int 来存储永远不会大于 255 的值吗?
- 在这段 python 代码中,大于符号是什么意思
- 如果我尝试在 c++ 中将大于 pow(2,64)-1 的值分配给无符号长整型怎么办?
- 大于无符号长整型的整数类型,以及库