Skip to content

Instantly share code, notes, and snippets.

@amaarora
Created March 7, 2021 00:33
Show Gist options
  • Save amaarora/8f328bb19d2d262e5d172601d00fa330 to your computer and use it in GitHub Desktop.
Save amaarora/8f328bb19d2d262e5d172601d00fa330 to your computer and use it in GitHub Desktop.
aman_arora/git/experiments/nbs/timm_scheduler.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%load_ext autoreload\n%autoreload 2",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "In this nb, we experiment with the various schedulers available in `timm`. "
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from timm.scheduler import scheduler_factory\nimport timm\nfrom timm.optim.optim_factory import create_optimizer\nfrom types import SimpleNamespace \nimport matplotlib.pyplot as plt",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# create simple model\nmodel = timm.create_model('resnet34')",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# mock params\nargs = SimpleNamespace()\nargs.lr = 1e-4\nargs.weight_decay = 0\nargs.opt = 'Adam'\nargs.momentum = 0 ",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "optimizer = create_optimizer(args, model)",
"execution_count": 5,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Plot LR Schedule for defaults"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# mock defaults\nargs = SimpleNamespace()\nargs.epochs = 200\nargs.sched = 'step'\nargs.min_lr = 1e-5\nargs.decay_rate = 0.1\nargs.decay_epochs = 30\nargs.warmup_lr = 1e-4\nargs.warmup_epochs = 3\nargs.cooldown_epochs= 10\nargs.lr_cycle_limit =1\nargs.lr_cycle_mult =1",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lr_scheduler, n_epoch = scheduler_factory.create_scheduler(args, optimizer)",
"execution_count": 10,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lrs = []\nfor i in range(args.epochs):\n lrs.append(lr_scheduler.get_epoch_values(i))",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "plt.plot([i for i in range(args.epochs)], lrs);",
"execution_count": 12,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Plot LR Schedule for `cosine` scheduler"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# mock defaults; but replace `step` with `cosine`\nargs = SimpleNamespace()\nargs.epochs = 200\nargs.sched = 'cosine'\nargs.min_lr = 1e-5\nargs.decay_rate = 0.1\nargs.decay_epochs = 30\nargs.warmup_lr = 1e-4\nargs.warmup_epochs = 3\nargs.cooldown_epochs= 10\nargs.lr_cycle_limit =1\nargs.lr_cycle_mult =1",
"execution_count": 13,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lr_scheduler, n_epoch = scheduler_factory.create_scheduler(args, optimizer)",
"execution_count": 14,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lrs = []\nfor i in range(args.epochs):\n lrs.append(lr_scheduler.get_epoch_values(i))",
"execution_count": 15,
"outputs": []
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "plt.plot([i for i in range(args.epochs)], lrs);",
"execution_count": 16,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Update defaults to actually do the restarts"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "args = SimpleNamespace()\nargs.epochs = 50\nargs.sched = 'cosine'\nargs.min_lr = 1e-8\nargs.decay_rate = 1\nargs.decay_epochs = 10\nargs.warmup_lr = 1e-3\nargs.warmup_epochs = 0\nargs.cooldown_epochs= 0\nargs.lr_cycle_limit= 10\nargs.lr_cycle_mul = 2.",
"execution_count": 38,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lr_scheduler, n_epoch = scheduler_factory.create_scheduler(args, optimizer)",
"execution_count": 39,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lrs = []\nfor i in range(args.epochs*7):\n lrs.append(lr_scheduler.get_epoch_values(i))",
"execution_count": 40,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.plot([i for i in range(args.epochs*7)], lrs);",
"execution_count": 41,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.5",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"gist": {
"id": "",
"data": {
"description": "aman_arora/git/experiments/nbs/timm_scheduler.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment