linearlr | free learning rate schedule for general and low-budget | Machine Learning library

 by   mtli Python Version: 0.0.1 License: MIT

kandi X-RAY | linearlr Summary

kandi X-RAY | linearlr Summary

linearlr is a Python library typically used in Artificial Intelligence, Machine Learning, Deep Learning, Pytorch applications. linearlr has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can install using 'pip install linearlr' or download it from GitHub, PyPI.

This repository implements a tuning-free learning rate schedule for training deep neural networks and it is studied in Budgeted Training: Rethinking Deep Neural Network Training Under Resource Constraints. This linearly decaying schedule outperforms the popular step decay on many benchmark tasks and is very useful in a low-budget setting (e.g. a small number of epochs).
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              linearlr has a low active ecosystem.
              It has 6 star(s) with 1 fork(s). There are 3 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              linearlr has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of linearlr is 0.0.1

            kandi-Quality Quality

              linearlr has no bugs reported.

            kandi-Security Security

              linearlr has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              linearlr is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              linearlr releases are not available. You will need to build from source code and install.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed linearlr and discovered the below as its top functions. This is intended to give you an instant insight into linearlr implemented functionality, and help decide if they suit your requirements.
            • Gets the learning rate
            • Returns the closed form l
            Get all kandi verified functions for this library.

            linearlr Key Features

            No Key Features are available at this moment for linearlr.

            linearlr Examples and Code Snippets

            LinearLR,Citation
            Pythondot img1Lines of Code : 6dot img1License : Permissive (MIT)
            copy iconCopy
            @article{Li2020BudgetTrain,
              title={Budgeted Training: Rethinking Deep Neural Network Training Under Resource Constraints},
              author={Li, Mengtian and Yumer, Ersin and Ramanan, Deva},
              journal={ICLR},
              year={2020}
            }
              
            LinearLR,Usage
            Pythondot img2Lines of Code : 3dot img2License : Permissive (MIT)
            copy iconCopy
            from linearlr import LinearLR
            
            schedule = LinearLR(optimizer, T)
              
            LinearLR,Installation
            Pythondot img3Lines of Code : 1dot img3License : Permissive (MIT)
            copy iconCopy
            pip install linearlr
              

            Community Discussions

            QUESTION

            Have I implemented implemenation of learning rate finder correctly?
            Asked 2019-Feb-06 at 16:27

            Using implementation of lr_finder from https://github.com/davidtvs/pytorch-lr-finder based on paper https://arxiv.org/abs/1506.01186

            Without the learning rate finder :

            ...

            ANSWER

            Answered 2019-Feb-06 at 16:27

            The code looks like it's using the implementation correctly. To answer your last question,

            Can see the training accuracy is much lower 84.09833333333333 versus 9.93 . Should the learning rate finder find a learning rate that allows to achieve greater training set accuracy ?

            Not really. A few points

            1. You are using Adam, which scales the learning rate adaptively for each parameter in the network. The initial learning rate will matter less, as opposed to traditional SGD, for example. The original authors of Adam write

              The hyper-parameters have intuitive interpre-tations and typically require little tuning. [1]

            2. A well tuned learning rate should make your network converge faster (i.e in less epochs). It might still find the same local minima as a higher learning rate, but faster. The risk with too high learning rates is that you overshoot the local minima and instead find a poor one. With a tiny learning rate you should get the best training accuracy, but it will take very long.

            3. You are training your model for only 2 epochs. If I had to guess, the algorithm has found that a small learning rate leads to good optima, but since it is small, it requires more time to converge. To test this theory, I would recommend running your training longer.

            All that said, your time is probably better spent using Adam with default parameters and directing your attention elsewhere, such as modelling choices (layers, nodes, activations, etc). In my experience standard Adam works really well in most cases.

            [1] https://arxiv.org/abs/1412.6980

            Source https://stackoverflow.com/questions/54553388

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install linearlr

            You can install using 'pip install linearlr' or download it from GitHub, PyPI.
            You can use linearlr like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • PyPI

            pip install linearlr

          • CLONE
          • HTTPS

            https://github.com/mtli/linearlr.git

          • CLI

            gh repo clone mtli/linearlr

          • sshUrl

            git@github.com:mtli/linearlr.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link