Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Cutout

This repository contains the code for the paper Improved Regularization of Convolutional Neural Networks with Cutout.

Introduction

Cutout is a simple regularization method for convolutional neural networks which consists of masking out random sections of input images during training. This technique simulates occluded examples and encourages the model to take more minor features into consideration when making decisions, rather than relying on the presence of a few major features.

Cutout applied to CIFAR-10

Bibtex:

@article{devries2017cutout, title={Improved Regularization of Convolutional Neural Networks with Cutout}, author={DeVries, Terrance and Taylor, Graham W}, journal={arXiv preprint arXiv:1708.04552}, year={2017} }

Results and Usage

Dependencies

PyTorch v0.4.0
tqdm

ResNet18

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100
ResNet184.7222.46
ResNet18 + cutout3.9921.96

To train ResNet18 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model resnet18 --data_augmentation --cutout --length 16

To train ResNet18 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model resnet18 --data_augmentation --cutout --length 8

WideResNet

WideResNet model implementation from https://github.com/xternalz/WideResNet-pytorch

Test error (%, flip/translation augmentation, mean/std normalization, mean of 5 runs)

NetworkCIFAR-10CIFAR-100SVHN
WideResNet3.8718.81.60
WideResNet + cutout3.0818.411.30

To train WideResNet 28-10 on CIFAR10 with data augmentation and cutout:
python train.py --dataset cifar10 --model wideresnet --data_augmentation --cutout --length 16

To train WideResNet 28-10 on CIFAR100 with data augmentation and cutout:
python train.py --dataset cifar100 --model wideresnet --data_augmentation --cutout --length 8

To train WideResNet 16-8 on SVHN with cutout:
python train.py --dataset svhn --model wideresnet --learning_rate 0.01 --epochs 160 --cutout --length 20

Shake-shake Regularization Network

Shake-shake regularization model implementation from https://github.com/xgastaldi/shake-shake

Test error (%, flip/translation augmentation, mean/std normalization, mean of 3 runs)

NetworkCIFAR-10CIFAR-100
Shake-shake2.8615.58
Shake-shake + cutout2.5615.20

See README in shake-shake folder for usage instructions.

About

2.56%, 15.20%, 1.30% on CIFAR10, CIFAR100, and SVHN https://arxiv.org/abs/1708.04552

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages