/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__/rprop.cpython-36.pyc (5182B)
3 Eg"@s4ddlZddlmZddlmZGdddeZdS)N) _functional) Optimizercs4eZdZdZdfdd Zejdd d ZZS)RpropaG Implements the resilient backpropagation algorithm. .. math:: \begin{aligned} &\rule{110mm}{0.4pt} \\ &\textbf{input} : \theta_0 \in \mathbf{R}^d \text{ (params)},f(\theta) \text{ (objective)}, \\ &\hspace{13mm} \eta_{+/-} \text{ (etaplus, etaminus)}, \Gamma_{max/min} \text{ (step sizes)} \\ &\textbf{initialize} : g^0_{prev} \leftarrow 0, \: \eta_0 \leftarrow \text{lr (learning rate)} \\ &\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} \textbf{for} \text{ } i = 0, 1, \ldots, d-1 \: \mathbf{do} \\ &\hspace{10mm} \textbf{if} \: g^i_{prev} g^i_t > 0 \\ &\hspace{15mm} \eta^i_t \leftarrow \mathrm{min}(\eta^i_{t-1} \eta_{+}, \Gamma_{max}) \\ &\hspace{10mm} \textbf{else if} \: g^i_{prev} g^i_t < 0 \\ &\hspace{15mm} \eta^i_t \leftarrow \mathrm{max}(\eta^i_{t-1} \eta_{-}, \Gamma_{min}) \\ &\hspace{10mm} \textbf{else} \: \\ &\hspace{15mm} \eta^i_t \leftarrow \eta^i_{t-1} \\ &\hspace{5mm}\theta_t \leftarrow \theta_{t-1}- \eta_t \mathrm{sign}(g_t) \\ &\hspace{5mm}g_{prev} \leftarrow g_t \\ &\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 the paper `A Direct Adaptive Method for Faster Backpropagation Learning: The RPROP Algorithm `_. Args: params (iterable): iterable of parameters to optimize or dicts defining parameter groups lr (float, optional): learning rate (default: 1e-2) etas (Tuple[float, float], optional): pair of (etaminus, etaplis), that are multiplicative increase and decrease factors (default: (0.5, 1.2)) step_sizes (Tuple[float, float], optional): a pair of minimal and maximal allowed step sizes (default: (1e-6, 50)) {Gz??333333?ư>2cs|d|kstdj|d|dko:dko:|dknsXtdj|d|dt|||d}tt|j||dS)NgzInvalid learning rate: {}rg?rzInvalid eta values: {}, {})lretas step_sizes) ValueErrorformatdictsuperr__init__)selfparamsr r r defaults) __class__=/usr/local/lib64/python3.6/site-packages/torch/optim/rprop.pyr4s *zRprop.__init__NcCs@d}|dk r&tj |}WdQRXx|jD]}g}g}g}g}x|dD]}|jdkr`qP|j||j} | jr~td|j| |j|} t| dkrd| d<tj |tj d| d<| j j | j |d| d <|j| d|j| d |d \} } |d \} }| dd 7<qPWtj||||| || | d q0W|S)zPerforms a single optimization step. Args: closure (callable, optional): A closure that reevaluates the model and returns the loss. Nrz'Rprop does not support sparse gradientsrstep)Z memory_formatprevr Z step_sizer r r) step_size_min step_size_maxetaminusetaplus)torchZ enable_gradZ param_groupsgradappendZ is_sparse RuntimeErrorstatelenZ zeros_likeZpreserve_formatnewZ resize_as_Zfill_FZrprop)rZclosureZlossgrouprZgradsZprevsr pr r#rrrrrrrr=sH         z Rprop.steprrr r )rr)r*)N) __name__ __module__ __qualname____doc__rrZno_gradr __classcell__rr)rrrs, r)rrr&Z optimizerrrrrrrs