/
__init__.py
101 lines (90 loc) · 4.86 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import numpy as _numpy
from cupy_backends.cuda.api import runtime
def bytes(length):
"""Returns random bytes.
.. note:: This function is just a wrapper for :obj:`numpy.random.bytes`.
The resulting bytes are generated on the host (NumPy), not GPU.
.. seealso:: :meth:`numpy.random.bytes
<numpy.random.mtrand.RandomState.bytes>`
"""
# TODO(kmaehashi): should it be provided in CuPy?
return _numpy.random.bytes(length)
def default_rng(seed=None): # NOQA avoid redefinition of seed
"""Construct a new Generator with the default BitGenerator (XORWOW).
Args:
seed (None, int, array_like[ints], numpy.random.SeedSequence, cupy.random.BitGenerator, cupy.random.Generator, optional):
A seed to initialize the :class:`cupy.random.BitGenerator`. If an
``int`` or ``array_like[ints]`` or None is passed, then it will be
passed to :class:`numpy.random.SeedSequence` to detive the initial
:class:`BitGenerator` state. One may also pass in a `SeedSequence
instance. Adiditionally, when passed :class:`BitGenerator`, it will
be wrapped by :class:`Generator`. If passed a :class:`Generator`,
it will be returned unaltered.
Returns:
Generator: The initialized generator object.
""" # NOQA, list of types need to be in one line for sphinx
if runtime.is_hip and int(str(runtime.runtimeGetVersion())[:3]) < 403:
raise RuntimeError('Generator API not supported in ROCm<4.3,'
' please use the legacy one or update ROCm.')
if isinstance(seed, BitGenerator):
return Generator(seed)
elif isinstance(seed, Generator):
return seed
return Generator(XORWOW(seed))
# import class and function
from cupy.random._distributions import beta # NOQA
from cupy.random._distributions import binomial # NOQA
from cupy.random._distributions import chisquare # NOQA
from cupy.random._distributions import dirichlet # NOQA
from cupy.random._distributions import exponential # NOQA
from cupy.random._distributions import f # NOQA
from cupy.random._distributions import gamma # NOQA
from cupy.random._distributions import geometric # NOQA
from cupy.random._distributions import gumbel # NOQA
from cupy.random._distributions import hypergeometric # NOQA
from cupy.random._distributions import laplace # NOQA
from cupy.random._distributions import logistic # NOQA
from cupy.random._distributions import lognormal # NOQA
from cupy.random._distributions import logseries # NOQA
from cupy.random._distributions import multivariate_normal # NOQA
from cupy.random._distributions import negative_binomial # NOQA
from cupy.random._distributions import noncentral_chisquare # NOQA
from cupy.random._distributions import noncentral_f # NOQA
from cupy.random._distributions import normal # NOQA
from cupy.random._distributions import pareto # NOQA
from cupy.random._distributions import poisson # NOQA
from cupy.random._distributions import power # NOQA
from cupy.random._distributions import rayleigh # NOQA
from cupy.random._distributions import standard_cauchy # NOQA
from cupy.random._distributions import standard_exponential # NOQA
from cupy.random._distributions import standard_gamma # NOQA
from cupy.random._distributions import standard_normal # NOQA
from cupy.random._distributions import standard_t # NOQA
from cupy.random._distributions import triangular # NOQA
from cupy.random._distributions import uniform # NOQA
from cupy.random._distributions import vonmises # NOQA
from cupy.random._distributions import wald # NOQA
from cupy.random._distributions import weibull # NOQA
from cupy.random._distributions import zipf # NOQA
from cupy.random._generator import get_random_state # NOQA
from cupy.random._generator import RandomState # NOQA
from cupy.random._generator import reset_states # NOQA
from cupy.random._generator import seed # NOQA
from cupy.random._generator import set_random_state # NOQA
from cupy.random._permutations import permutation # NOQA
from cupy.random._permutations import shuffle # NOQA
from cupy.random._sample import choice # NOQA
from cupy.random._sample import multinomial # NOQA
from cupy.random._sample import rand # NOQA
from cupy.random._sample import randint # NOQA
from cupy.random._sample import randn # NOQA
from cupy.random._sample import random_integers # NOQA
from cupy.random._sample import random_sample # NOQA
from cupy.random._sample import random_sample as random # NOQA
from cupy.random._sample import random_sample as ranf # NOQA
from cupy.random._sample import random_sample as sample # NOQA
from cupy.random._bit_generator import BitGenerator # NOQA
from cupy.random._bit_generator import XORWOW # NOQA
from cupy.random._bit_generator import MRG32k3a # NOQA
from cupy.random._bit_generator import Philox4x3210 # NOQA
from cupy.random._generator_api import Generator # NOQA