/usr/local/lib64/python3.6/site-packages/torch/distributions/__pycache__
Edit: /usr/local/lib64/python3.6/site-packages/torch/distributions/__pycache__/normal.cpython-36.pyc (4138B)
3
Eg
@ sd d dl Z d dlmZ d dlmZ d dlZd dlmZ d dlmZ d dl m
Z
mZ G dd deZdS ) N)Real)Number)constraints)ExponentialFamily)_standard_normal
broadcast_allc s e Zd ZdZejejdZejZdZ dZ
edd Zedd Z
ed d
Zd fdd
Zd! fdd Zej fddZej fddZdd Zdd Zdd Zdd Zedd Zdd Z ZS )"Normala
Creates a normal (also called Gaussian) distribution parameterized by
:attr:`loc` and :attr:`scale`.
Example::
>>> m = Normal(torch.tensor([0.0]), torch.tensor([1.0]))
>>> m.sample() # normally distributed with loc=0 and scale=1
tensor([ 0.1046])
Args:
loc (float or Tensor): mean of the distribution (often referred to as mu)
scale (float or Tensor): standard deviation of the distribution
(often referred to as sigma)
)locscaleTr c C s | j S )N)r )self r F/usr/local/lib64/python3.6/site-packages/torch/distributions/normal.pymean s zNormal.meanc C s | j S )N)r
)r r r r
stddev$ s z
Normal.stddevc C s | j jdS )N )r pow)r r r r
variance( s zNormal.varianceNc sR t ||\| _| _t|tr0t|tr0tj }n
| jj }tt | j
||d d S )N)
validate_args)r r r
isinstancer torchSizesizesuperr __init__)r r r
r batch_shape) __class__r r
r , s
zNormal.__init__c sR | j t|}tj|}| jj||_| jj||_tt|j|dd | j |_ |S )NF)r )
Z_get_checked_instancer r r r expandr
r r _validate_args)r r Z _instancenew)r r r
r 4 s
z
Normal.expandc C s: | j |}tj tj| jj|| jj|S Q R X d S )N)_extended_shaper Zno_gradnormalr r r
)r sample_shapeshaper r r
sample= s
z
Normal.samplec C s0 | j |}t|| jj| jjd}| j|| j S )N)dtypedevice)r r r r$ r% r
)r r! r" Zepsr r r
rsampleB s
zNormal.rsamplec C sn | j r| j| | jd }t| jtr2tj| jn| jj }|| j d d| | tjtjdtj S )Nr )
r _validate_sampler
r r mathlogr sqrtpi)r valuevarZ log_scaler r r
log_probG s
"zNormal.log_probc C s<