Skip to content

Instantly share code, notes, and snippets.

@shaan-shah
Created May 22, 2020 08:32
Show Gist options
  • Save shaan-shah/498f23aabffb5801656c9db097d0704b to your computer and use it in GitHub Desktop.
Save shaan-shah/498f23aabffb5801656c9db097d0704b to your computer and use it in GitHub Desktop.
The gist for training a neural network to sound image data.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"learn = cnn_learner(data, models.resnet34, metrics=accuracy)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>2.903992</td>\n",
" <td>1.606525</td>\n",
" <td>0.449893</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>2.311392</td>\n",
" <td>1.435439</td>\n",
" <td>0.507463</td>\n",
" <td>00:08</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>1.931923</td>\n",
" <td>1.204411</td>\n",
" <td>0.577825</td>\n",
" <td>00:08</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>1.647064</td>\n",
" <td>1.128499</td>\n",
" <td>0.599147</td>\n",
" <td>00:08</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>1.493571</td>\n",
" <td>1.116546</td>\n",
" <td>0.588486</td>\n",
" <td>00:08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(5)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"learn.unfreeze()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='2' class='' max='4', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 50.00% [2/4 00:20<00:20]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1.297750</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>1.244190</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='27' class='' max='29', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 93.10% [27/29 00:09<00:00 3.8385]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1.258497</td>\n",
" <td>1.024088</td>\n",
" <td>0.633262</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>1.142974</td>\n",
" <td>0.908020</td>\n",
" <td>0.663113</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>1.021574</td>\n",
" <td>0.812884</td>\n",
" <td>0.697228</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0.935001</td>\n",
" <td>0.791057</td>\n",
" <td>0.710021</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>0.879942</td>\n",
" <td>0.784591</td>\n",
" <td>0.714286</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(5, max_lr=slice(1e-5,1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='2' class='' max='4', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 50.00% [2/4 00:20<00:20]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>0.759127</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0.869443</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='27' class='' max='29', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 93.10% [27/29 00:09<00:00 2.5499]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>0.771386</td>\n",
" <td>0.758053</td>\n",
" <td>0.735608</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0.722679</td>\n",
" <td>0.711234</td>\n",
" <td>0.737740</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0.683399</td>\n",
" <td>0.716247</td>\n",
" <td>0.731343</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0.626276</td>\n",
" <td>0.682626</td>\n",
" <td>0.744136</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>0.592185</td>\n",
" <td>0.671955</td>\n",
" <td>0.748401</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(5, max_lr=slice(1e-5,1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='2' class='' max='4', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 50.00% [2/4 00:20<00:20]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>0.527904</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0.745673</td>\n",
" <td>#na#</td>\n",
" <td>00:10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='25' class='' max='29', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 86.21% [25/29 00:08<00:01 1.8312]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>0.391362</td>\n",
" <td>0.599757</td>\n",
" <td>0.780384</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0.391886</td>\n",
" <td>0.650113</td>\n",
" <td>0.769723</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0.369666</td>\n",
" <td>0.615565</td>\n",
" <td>0.793177</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0.345813</td>\n",
" <td>0.600803</td>\n",
" <td>0.795309</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>0.313525</td>\n",
" <td>0.593540</td>\n",
" <td>0.801706</td>\n",
" <td>00:11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(5, max_lr=slice(1e-5,1e-4))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment