|
@@ -0,0 +1,26 @@ |
|
|
|
|
|
from triacontagon.dropout import dropout_sparse, \
|
|
|
|
|
|
dropout_dense
|
|
|
|
|
|
import torch
|
|
|
|
|
|
import numpy as np
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_dropout_01():
|
|
|
|
|
|
for i in range(11):
|
|
|
|
|
|
torch.random.manual_seed(i)
|
|
|
|
|
|
a = torch.rand((5, 10))
|
|
|
|
|
|
a[a < .5] = 0
|
|
|
|
|
|
|
|
|
|
|
|
keep_prob=i/10. + np.finfo(np.float32).eps
|
|
|
|
|
|
|
|
|
|
|
|
torch.random.manual_seed(i)
|
|
|
|
|
|
b = dropout_dense(a, keep_prob=keep_prob)
|
|
|
|
|
|
|
|
|
|
|
|
torch.random.manual_seed(i)
|
|
|
|
|
|
c = dropout_sparse(a.to_sparse(), keep_prob=keep_prob)
|
|
|
|
|
|
|
|
|
|
|
|
print('keep_prob:', keep_prob)
|
|
|
|
|
|
print('a:', a.detach().cpu().numpy())
|
|
|
|
|
|
print('b:', b.detach().cpu().numpy())
|
|
|
|
|
|
print('c:', c, c.to_dense().detach().cpu().numpy())
|
|
|
|
|
|
|
|
|
|
|
|
assert torch.all(b == c.to_dense())
|