ó R;]c@smdZddlZddlmZddlmZyddlTWnek rSnXdgZdd „Z dS( sContrib NDArray API of MXNet.i˙˙˙˙Ni(tcurrent_context(tuniformi(t*t rand_zipfianc Csć|d krtƒ}ntj|dƒ}td|d|fddd|ƒ}|jƒdjdƒ|}|j|ƒjdƒ}|d|d jƒ||}|jdƒ} | d| d jƒ|} | |} ||| fS( sƒDraw random samples from an approximately log-uniform or Zipfian distribution. This operation randomly samples *num_sampled* candidates the range of integers [0, range_max). The elements of sampled_candidates are drawn with replacement from the base distribution. The base distribution for this operator is an approximately log-uniform or Zipfian distribution: P(class) = (log(class + 2) - log(class + 1)) / log(range_max + 1) This sampler is useful when the true classes approximately follow such a distribution. For example, if the classes represent words in a lexicon sorted in decreasing order of frequency. If your classes are not ordered by decreasing frequency, do not use this op. Additionaly, it also returns the number of times each of the true classes and the sampled classes is expected to occur. Parameters ---------- true_classes : NDArray A 1-D NDArray of the target classes. num_sampled: int The number of classes to randomly sample. range_max: int The number of possible classes. ctx : Context Device context of output. Default is current context. Overridden by `mu.context` when `mu` is an NDArray. Returns ------- samples: NDArray The sampled candidate classes in 1-D `int64` dtype. expected_count_true: NDArray The expected count for true classes in 1-D `float64` dtype. expected_count_sample: NDArray The expected count for sampled candidates in 1-D `float64` dtype. Examples -------- >>> true_cls = mx.nd.array([3]) >>> samples, exp_count_true, exp_count_sample = mx.nd.contrib.rand_zipfian(true_cls, 4, 5) >>> samples [1 3 3 3] >>> exp_count_true [ 0.12453879] >>> exp_count_sample [ 0.22629439 0.12453879 0.12453879 0.12453879] iitshapetdtypetfloat64tctxtint64g@gđ?N(tNoneRtmathtlogRtexptastypet as_in_context( t true_classest num_sampledt range_maxRt log_rangetrandtsampled_classesttrue_clstexpected_count_truetsampled_cls_fp64texpected_prob_sampledtexpected_count_sampled((sU/usr/local/lib/python2.7/site-packages/mxnet-1.2.1-py2.7.egg/mxnet/ndarray/contrib.pyR s4  $  ( t__doc__R tcontextRtrandomRt gen_contribt ImportErrort__all__R R(((sU/usr/local/lib/python2.7/site-packages/mxnet-1.2.1-py2.7.egg/mxnet/ndarray/contrib.pyts