/usr/local/lib64/python3.6/site-packages/torch/optim/__pycache__
NameSizeModeActions
adadelta.cpython-36.pyc48290644editdlrm
adagrad.cpython-36.pyc47670644editdlrm
adam.cpython-36.pyc62500644editdlrm
adamax.cpython-36.pyc48690644editdlrm
adamw.cpython-36.pyc62580644editdlrm
asgd.cpython-36.pyc28480644editdlrm
lbfgs.cpython-36.pyc88020644editdlrm
lr_scheduler.cpython-36.pyc637920644editdlrm
nadam.cpython-36.pyc57270644editdlrm
optimizer.cpython-36.pyc118270644editdlrm
radam.cpython-36.pyc57120644editdlrm
rmsprop.cpython-36.pyc65430644editdlrm
rprop.cpython-36.pyc51820644editdlrm
sgd.cpython-36.pyc62670644editdlrm
sparse_adam.cpython-36.pyc33290644editdlrm
swa_utils.cpython-36.pyc113700644editdlrm
_functional.cpython-36.pyc104070644editdlrm
__init__.cpython-36.pyc10490644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/torch/optim/__pycache__/adagrad.cpython-36.pyc (4767B)
3 ûEg±ã@s4ddlZddlmZddlmZGdd„deƒZdS)éNé)Ú _functional)Ú Optimizercs<eZdZdZd ‡fdd„ Zdd„Zejƒd d d „ƒZ‡Z S)ÚAdagrada¤ Implements Adagrad algorithm. .. math:: \begin{aligned} &\rule{110mm}{0.4pt} \\ &\textbf{input} : \gamma \text{ (lr)}, \: \theta_0 \text{ (params)}, \: f(\theta) \text{ (objective)}, \: \lambda \text{ (weight decay)}, \\ &\hspace{12mm} \tau \text{ (initial accumulator value)}, \: \eta\text{ (lr decay)}\\ &\textbf{initialize} : state\_sum_0 \leftarrow 0 \\[-1.ex] &\rule{110mm}{0.4pt} \\ &\textbf{for} \: t=1 \: \textbf{to} \: \ldots \: \textbf{do} \\ &\hspace{5mm}g_t \leftarrow \nabla_{\theta} f_t (\theta_{t-1}) \\ &\hspace{5mm} \tilde{\gamma} \leftarrow \gamma / (1 +(t-1) \eta) \\ &\hspace{5mm} \textbf{if} \: \lambda \neq 0 \\ &\hspace{10mm} g_t \leftarrow g_t + \lambda \theta_{t-1} \\ &\hspace{5mm}state\_sum_t \leftarrow state\_sum_{t-1} + g^2_t \\ &\hspace{5mm}\theta_t \leftarrow \theta_{t-1}- \tilde{\gamma} \frac{g_t}{\sqrt{state\_sum_t}+\epsilon} \\ &\rule{110mm}{0.4pt} \\[-1.ex] &\bf{return} \: \theta_t \\[-1.ex] &\rule{110mm}{0.4pt} \\[-1.ex] \end{aligned} For further details regarding the algorithm we refer to `Adaptive Subgradient Methods for Online Learning and Stochastic Optimization`_. Args: params (iterable): iterable of parameters to optimize or dicts defining parameter groups lr (float, optional): learning rate (default: 1e-2) lr_decay (float, optional): learning rate decay (default: 0) weight_decay (float, optional): weight decay (L2 penalty) (default: 0) eps (float, optional): term added to the denominator to improve numerical stability (default: 1e-10) .. _Adaptive Subgradient Methods for Online Learning and Stochastic Optimization: http://jmlr.org/papers/v12/duchi11a.html ç{®Gáz„?r绽×Ùß|Û=c sàd|kstdj|ƒƒ‚d|ks,tdj|ƒƒ‚d|ksBtdj|ƒƒ‚d|ksXtdj|ƒƒ‚d|ksntdj|ƒƒ‚t|||||d}tt|ƒj||ƒxH|jD]>}x8|dD],} |j| } d | d <tj | |tj d | d <q¨WqšWdS) NgzInvalid learning rate: {}zInvalid lr_decay value: {}zInvalid weight_decay value: {}z+Invalid initial_accumulator_value value: {}zInvalid epsilon value: {})ÚlrÚlr_decayÚepsÚ weight_decayÚinitial_accumulator_valueÚparamsrÚstep)Z memory_formatÚsum) Ú ValueErrorÚformatÚdictÚsuperrÚ__init__Ú param_groupsÚstateÚtorchZ full_likeZpreserve_format) Úselfr rr r r r ÚdefaultsÚgroupÚpr)Ú __class__©ú?/usr/local/lib64/python3.6/site-packages/torch/optim/adagrad.pyr.s$   zAdagrad.__init__cCs<x6|jD],}x&|dD]}|j|}|djƒqWqWdS)Nr r)rrZ share_memory_)rrrrrrrÚ share_memoryDs  zAdagrad.share_memoryNc CsÜd}|dk r&tjƒ |ƒ}WdQRXx°|jD]¦}g}g}g}g}xf|dD]Z}|jdk rL|j|ƒ|j|jƒ|j|} |j| dƒ| dd7<|j| dƒqLWtj|||||d|d|d|d d q.W|S) z±Performs a single optimization step. Args: closure (callable, optional): A closure that reevaluates the model and returns the loss. Nr rrrrr r r )rr r r )rZ enable_gradrZgradÚappendrÚFZadagrad) rZclosureZlossrZparams_with_gradZgradsZ state_sumsZ state_stepsrrrrrrJs4      z Adagrad.step)rrrrr)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrZno_gradrÚ __classcell__rr)rrrs &r)rÚrr!Z optimizerrrrrrrÚs