Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

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

Repository files navigation

PyTorch Template for DL projects

AboutTutorialsExamplesInstallationHow To UseUseful LinksCreditsLicense

About

This repository contains a template for PyTorch-based Deep Learning projects.

The template utilizes different python-dev techniques to improve code readability. Configuration methods enhance reproducibility and experiments control.

The repository is released as a part of the HSE DLA course, however, can easily be adopted for any DL-task.

This template is the official recommended template for the EPFL CS-433 ML Course.

Tutorials

This template utilizes experiment tracking techniques, such as WandB and Comet ML, and Hydra for the configuration. It also automatically reformats code and conducts several checks via pre-commit. If you are not familiar with these tools, we advise you to look at the tutorials below:

To start working with a template, just click on the use this template button.

You can choose any of the branches as a starting point. Set your choice as the default branch in the repository settings. You can also delete unnecessary branches.

Examples

Important

The main branch leaves some of the code parts empty or fills them with dummy examples, showing just the base structure. The final users can add code required for their own tasks.

You can find examples of this template completed for different tasks in other branches:

  • Image classification: simple classification problem on MNIST and CIFAR-10 datasets.

  • ASR: template for the automatic speech recognition (ASR) task. Some of the parts (for example, collate_fn and beam search for text_encoder) are missing for studying purposes of HSE DLA course.

Installation

Installation may depend on your task. The general steps are the following:

  1. (Optional) Create and activate new environment using conda or venv (+pyenv).

    a. conda version:

    # create env
    conda create -n project_env python=PYTHON_VERSION
    # activate env
    conda activate project_env

    b. venv (+pyenv) version:

    # create env~/.pyenv/versions/PYTHON_VERSION/bin/python3 -m venv project_env
    # alternatively, using default python version
    python3 -m venv project_env
    # activate envsource project_env
  2. Install all required packages

    pip install -r requirements.txt
  3. Install pre-commit:

    pre-commit install

How To Use

To train a model, run the following command:

python3 train.py -cn=CONFIG_NAME HYDRA_CONFIG_ARGUMENTS

Where CONFIG_NAME is a config from src/configs and HYDRA_CONFIG_ARGUMENTS are optional arguments.

To run inference (evaluate the model or save predictions):

python3 inference.py HYDRA_CONFIG_ARGUMENTS

Useful Links:

You may find the following links useful:

Credits

This repository is based on a heavily modified fork of pytorch-template and asr_project_template repositories.

License

License

About

PyTorch Template for DL projects

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages