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行:
1 | pos_hidden_states = pos_hidden_probs > np.random.rand(num_examples, self.num_hidden + 1) |
POSKHIDENDENI状态和POSSHHIDENDENPROFS都是2D矩阵,在C++中是EDCOX1,0的类型,NUMYSUBLE实例和NUMIHOLD都是整数。
有人能解释"大于"符号在这里意味着什么吗?
在EDCOX1中,不容易将
1 2 3 4 5 6 7 8 | >>> 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) >>> |
如果
1 2 3 4 5 6 7 | >>> 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) >>> |
1 | np.array([[1,2],[3,4]]) > np.array([[2,2],[2,2]]) |
给你一张12
numpy也做广播,这给不同维度数组之间的比较提供了意义。
>正在将隐藏的prob(在本例中为float)与二维numpy数组中的每个项进行比较,并返回布尔值的二维数组:
1 2 3 4 5 6 7 8 9 | >>> 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) >>> |
由于操作符重载,