{"id":13606703,"url":"https://github.com/pytorchbearer/torchbearer","last_synced_at":"2026-01-16T14:46:15.012Z","repository":{"id":39738120,"uuid":"124918816","full_name":"pytorchbearer/torchbearer","owner":"pytorchbearer","description":"torchbearer: A model fitting library for PyTorch","archived":false,"fork":false,"pushed_at":"2023-12-04T11:10:47.000Z","size":8264,"stargazers_count":641,"open_issues_count":10,"forks_count":64,"subscribers_count":23,"default_branch":"master","last_synced_at":"2026-01-14T17:14:55.832Z","etag":null,"topics":["deep-learning","differentiable-programming","machine-learning","model-fitting","python3","pytorch"],"latest_commit_sha":null,"homepage":"http://pytorchbearer.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pytorchbearer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-12T16:30:42.000Z","updated_at":"2026-01-08T08:38:16.000Z","dependencies_parsed_at":"2024-06-18T21:30:57.329Z","dependency_job_id":"b485464d-94ec-42f4-bd99-400f095cb809","html_url":"https://github.com/pytorchbearer/torchbearer","commit_stats":{"total_commits":435,"total_committers":16,"mean_commits":27.1875,"dds":0.5724137931034483,"last_synced_commit":"0e8484c93ee25573695934f2ea6874c8126d9cd1"},"previous_names":["ecs-vlc/torchbearer"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/pytorchbearer/torchbearer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytorchbearer%2Ftorchbearer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytorchbearer%2Ftorchbearer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytorchbearer%2Ftorchbearer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytorchbearer%2Ftorchbearer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pytorchbearer","download_url":"https://codeload.github.com/pytorchbearer/torchbearer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytorchbearer%2Ftorchbearer/sbom","scorecard":{"id":752435,"data":{"date":"2025-08-11","repo":{"name":"github.com/pytorchbearer/torchbearer","commit":"0e8484c93ee25573695934f2ea6874c8126d9cd1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 17/30 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/torchbearer.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/torchbearer.yml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/pytorchbearer/torchbearer/torchbearer.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/torchbearer.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/pytorchbearer/torchbearer/torchbearer.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/torchbearer.yml:140: update your workflow using https://app.stepsecurity.io/secureworkflow/pytorchbearer/torchbearer/torchbearer.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:154","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:155","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:156","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:157","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:158","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:159","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:160","Warn: pipCommand not pinned by hash: .github/workflows/torchbearer.yml:161","Warn: downloadThenRun not pinned by hash: .github/workflows/torchbearer.yml:163","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 pipCommand dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"72 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: GHSA-3c5c-7235-994j","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: PYSEC-2021-41 / GHSA-3wvg-mj6g-m9cv","Warn: Project is vulnerable to: PYSEC-2020-77 / GHSA-3xv8-3j54-hgrp","Warn: Project is vulnerable to: PYSEC-2020-80 / GHSA-43fq-w8qq-v88h","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-4fx9-vc88-q2xc","Warn: Project is vulnerable to: PYSEC-2021-35 / GHSA-57h3-9rgr-c24m","Warn: Project is vulnerable to: PYSEC-2020-172 / GHSA-5gm3-px64-rw72","Warn: Project is vulnerable to: PYSEC-2021-331 / GHSA-7534-mm45-c74v","Warn: Project is vulnerable to: PYSEC-2021-92 / GHSA-7r7m-5h27-29hp","Warn: Project is vulnerable to: PYSEC-2020-78 / GHSA-8843-m7mw-mxqm","Warn: Project is vulnerable to: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: PYSEC-2014-87 / GHSA-8m9x-pxwq-j236","Warn: Project is vulnerable to: PYSEC-2022-10 / GHSA-8vj2-vxx3-667w","Warn: Project is vulnerable to: PYSEC-2021-36 / GHSA-8xjq-8fcg-g5hw","Warn: Project is vulnerable to: PYSEC-2016-6 / GHSA-8xjv-v9xq-m5h9","Warn: Project is vulnerable to: PYSEC-2021-42 / GHSA-95q3-8gr9-gm8w","Warn: Project is vulnerable to: PYSEC-2022-168 / GHSA-9j59-75qj-795w","Warn: Project is vulnerable to: PYSEC-2014-10 / GHSA-cfmr-38g9-f2h7","Warn: Project is vulnerable to: PYSEC-2020-76 / GHSA-cqhg-xjhh-p8hf","Warn: Project is vulnerable to: PYSEC-2021-40 / GHSA-f4w8-cv6p-x6r5","Warn: Project is vulnerable to: PYSEC-2021-69 / GHSA-f5g8-5qq7-938w","Warn: Project is vulnerable to: PYSEC-2021-139 / GHSA-g6rj-rv7j-xwp4","Warn: Project is vulnerable to: PYSEC-2015-16 / GHSA-h5rf-vgqx-wjv2","Warn: Project is vulnerable to: PYSEC-2016-5 / GHSA-hggx-3h72-49ww","Warn: Project is vulnerable to: PYSEC-2020-84 / GHSA-hj69-c76v-86wr","Warn: Project is vulnerable to: PYSEC-2016-7 / GHSA-hvr8-466p-75rh","Warn: Project is vulnerable to: PYSEC-2015-15 / GHSA-j6f7-g425-4gmx","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: PYSEC-2019-110 / GHSA-j7mj-748x-7p78","Warn: Project is vulnerable to: GHSA-jgpv-4h4c-xhw3","Warn: Project is vulnerable to: PYSEC-2022-42979 / GHSA-m2vv-5vj5-2hm7","Warn: Project is vulnerable to: PYSEC-2021-37 / GHSA-mvg9-xffr-p774","Warn: Project is vulnerable to: PYSEC-2020-83 / GHSA-p49h-hjvm-jg3h","Warn: Project is vulnerable to: PYSEC-2022-8 / GHSA-pw3c-h7wp-cvhx","Warn: Project is vulnerable to: PYSEC-2021-93 / GHSA-q5hq-fp76-qmrc","Warn: Project is vulnerable to: PYSEC-2020-82 / GHSA-r7rm-8j6h-r933","Warn: Project is vulnerable to: PYSEC-2014-23 / GHSA-r854-96gq-rfg3","Warn: Project is vulnerable to: PYSEC-2016-8 / GHSA-rwr3-c2q8-gm56","Warn: Project is vulnerable to: PYSEC-2020-81 / GHSA-vcqg-3p29-xw73","Warn: Project is vulnerable to: PYSEC-2020-79 / GHSA-vj42-xq3r-hr3r","Warn: Project is vulnerable to: PYSEC-2021-70 / GHSA-vqcj-wrf2-7v73","Warn: Project is vulnerable to: PYSEC-2016-9 / GHSA-w4vg-rf63-f3j3","Warn: Project is vulnerable to: PYSEC-2014-22 / GHSA-x895-2wrm-hvp7","Warn: Project is vulnerable to: PYSEC-2022-9 / GHSA-xrcv-f9gm-v42c","Warn: Project is vulnerable to: PYSEC-2021-137","Warn: Project is vulnerable to: PYSEC-2021-138","Warn: Project is vulnerable to: PYSEC-2021-317","Warn: Project is vulnerable to: PYSEC-2021-38","Warn: Project is vulnerable to: PYSEC-2021-39","Warn: Project is vulnerable to: PYSEC-2021-94","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: PYSEC-2020-107 / GHSA-jjw5-xxj6-pcv5","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: PYSEC-2020-108","Warn: Project is vulnerable to: GHSA-3749-ghw9-m3mg","Warn: Project is vulnerable to: PYSEC-2022-43015 / GHSA-47fc-vmwq-366v","Warn: Project is vulnerable to: PYSEC-2025-41 / GHSA-53q9-r3pm-6pq6","Warn: Project is vulnerable to: PYSEC-2024-252 / GHSA-5pcm-hx3q-hm94","Warn: Project is vulnerable to: GHSA-887c-mr87-cxwp","Warn: Project is vulnerable to: PYSEC-2024-251 / GHSA-pg7h-5qx3-wjr3","Warn: Project is vulnerable to: PYSEC-2024-250","Warn: Project is vulnerable to: PYSEC-2024-259","Warn: Project is vulnerable to: PYSEC-2017-74"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T20:43:24.233Z","repository_id":39738120,"created_at":"2025-08-22T20:43:24.233Z","updated_at":"2025-08-22T20:43:24.233Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","differentiable-programming","machine-learning","model-fitting","python3","pytorch"],"created_at":"2024-08-01T19:01:11.654Z","updated_at":"2026-01-16T14:46:14.993Z","avatar_url":"https://github.com/pytorchbearer.png","language":"Python","funding_links":[],"categories":["机器学习框架","其他_机器学习与深度学习","Python"],"sub_categories":[],"readme":"**Note:**\nWe're moving to PyTorch Lightning! Read about the move [here](https://medium.com/pytorch/pytorch-frameworks-unite-torchbearer-joins-pytorch-lightning-c588e1e68c98). From the end of February, torchbearer will no longer be actively maintained. We'll continue to fix bugs when they are found and ensure that torchbearer runs on new versions of pytorch. However, we won't plan or implement any new functionality (if there's something you'd like to see in a training library, consider creating an issue on [PyTorch Lightning](https://github.com/PyTorchLightning/pytorch-lightning)).\n\n\u003cimg alt=\"logo\" src=\"https://raw.githubusercontent.com/pytorchbearer/torchbearer/master/docs/_static/img/logo_dark_text.svg?sanitize=true\" width=\"100%\"/\u003e\n\n[![PyPI version](https://badge.fury.io/py/torchbearer.svg)](https://badge.fury.io/py/torchbearer) [![Python 2.7 | 3.5 | 3.6 | 3.7](https://img.shields.io/badge/python-2.7%20%7C%203.5%20%7C%203.6%20%7C%203.7-brightgreen.svg)](https://www.python.org/) [![PyTorch 1.0.0 | 1.1.0 | 1.2.0 | 1.3.0 | 1.4.0](https://img.shields.io/badge/pytorch-1.0.0%20%7C%201.1.0%20%7C%201.2.0%20%7C%201.3.0%20%7C%201.4.0-brightgreen.svg)](https://pytorch.org/) [![Build Status](https://travis-ci.com/pytorchbearer/torchbearer.svg?branch=master)](https://travis-ci.com/pytorchbearer/torchbearer) [![codecov](https://codecov.io/gh/pytorchbearer/torchbearer/branch/master/graph/badge.svg)](https://codecov.io/gh/pytorchbearer/torchbearer) [![Documentation Status](https://readthedocs.org/projects/torchbearer/badge/?version=latest)](https://torchbearer.readthedocs.io/en/latest/?badge=latest) [![Downloads](https://pepy.tech/badge/torchbearer)](https://pepy.tech/project/torchbearer)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://pytorchbearer.org\"\u003eWebsite\u003c/a\u003e •\n  \u003ca href=\"https://torchbearer.readthedocs.io/en/latest/\"\u003eDocs\u003c/a\u003e •\n  \u003ca href=\"#examples\"\u003eExamples\u003c/a\u003e •\n  \u003ca href=\"#install\"\u003eInstall\u003c/a\u003e •\n  \u003ca href=\"#citing\"\u003eCiting\u003c/a\u003e •\n  \u003ca href=\"#related\"\u003eRelated\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ca id=\"about\"\u003e\u003c/a\u003e\n\nA PyTorch model fitting library designed for use by researchers (or anyone really) working in deep learning or differentiable programming. Specifically, we aim to dramatically reduce the amount of boilerplate code you need to write without limiting the functionality and openness of PyTorch.\n\n\u003ca id=\"examples\"\u003e\u003c/a\u003e\n\n## Examples\n\n\u003ca id=\"general\"\u003e\u003c/a\u003e\n\n### General\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" width=\"160\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/quickstart.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eQuickstart:\u003c/b\u003e Get up and running with torchbearer, training a simple CNN on CIFAR-10.\n        \u003c/td\u003e\n        \u003ctd align=\"center\" width=\"80\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/quickstart.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/quickstart.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/quickstart.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/callbacks.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eCallbacks:\u003c/b\u003e A detailed exploration of callbacks in torchbearer, with some useful visualisations.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/callbacks.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/callbacks.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/callbacks.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/imaging.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eImaging:\u003c/b\u003e A detailed exploration of the imaging sub-package in torchbearer, useful for showing visualisations during training.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/imaging.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/imaging.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/imaging.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eSerialization:\u003c/b\u003e This guide gives an introduction to serializing and restarting training in torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/serialization.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/serialization.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/serialization.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eHistory and Replay:\u003c/b\u003e This guide gives an introduction to the history returned by a trial and the ability to replay training.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/history.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/history.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/history.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eCustom Data Loaders:\u003c/b\u003e This guide gives an introduction on how to run custom data loaders in torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/custom_loaders.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/custom_loaders.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/custom_loaders.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eData Parallel:\u003c/b\u003e This guide gives an introduction to using torchbearer with DataParrallel.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/data_parallel.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/data_parallel.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/data_parallel.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/livelossplot.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eLiveLossPlot:\u003c/b\u003e A demonstration of the LiveLossPlot callback included in torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/livelossplot.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/livelossplot.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/livelossplot.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/pycm.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003ePyCM:\u003c/b\u003e A demonstration of the PyCM callback included in torchbearer for generating confusion matrices.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/pycm.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/pycm.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/pycm.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eNVIDIA Apex:\u003c/b\u003e A guide showing how to perform half and mixed precision training in torchbearer with NVIDIA Apex.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/apex_torchbearer.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/apex_torchbearer.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/apex_torchbearer.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ca id=\"deep\"\u003e\u003c/a\u003e\n\n### Deep Learning\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" width=\"160\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/vae.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eTraining a VAE:\u003c/b\u003e A demonstration of how to train (add do a simple visualisation of) a Variational Auto-Encoder (VAE) on MNIST with torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\" width=\"80\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/vae.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/vae.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/vae.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/gan.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eTraining a GAN:\u003c/b\u003e A demonstration of how to train (add do a simple visualisation of) a Generative Adversarial Network (GAN) on MNIST with torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/gan.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/gan.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/gan.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/adversarial.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eGenerating Adversarial Examples:\u003c/b\u003e A demonstration of how to perform a simple adversarial attack with torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/adversarial.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/adversarial.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/adversarial.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/transfer.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eTransfer Learning with Torchbearer:\u003c/b\u003e A demonstration of how to perform transfer learning on STL10 with torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/transfer_learning.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/transfer_learning.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/transfer_learning.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/regulariser.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eRegularisers in Torchbearer:\u003c/b\u003e A demonstration of how to use all of the built-in regularisers in torchbearer (Mixup, CutOut, CutMix, Random Erase, Label Smoothing and Sample Pairing).\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/regularisers.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n        \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/regularisers.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/regularisers.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" colspan=\"2\"\u003e\n            \u003cb\u003eManifold Mixup:\u003c/b\u003e A demonstration of how to use the Manifold Mixup callback in Torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/manifold_mixup.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/manifold_mixup.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/manifold_mixup.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/cam.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eClass Appearance Model:\u003c/b\u003e A demonstration of the Class Appearance Model (CAM) callback in torchbearer.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/cam.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/cam.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/cam.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ca id=\"diff\"\u003e\u003c/a\u003e\n\n### Differentiable Programming\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\" width=\"160\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/optimisers.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eOptimising Functions:\u003c/b\u003e An example (and some fun visualisations) showing how torchbearer can be used for the purpose of optimising functions with respect to their parameters using gradient descent.\n        \u003c/td\u003e\n        \u003ctd align=\"center\" width=\"80\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/basic_opt.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/basic_opt.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/basic_opt.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/svm.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eLinear SVM:\u003c/b\u003e Train a linear support vector machine (SVM) using torchbearer, with an interactive visualisation!\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/svm_linear.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/svm_linear.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/svm_linear.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"3\"\u003e\n            \u003cimg src=\"http://www.pytorchbearer.org/assets/img/examples/amsgrad.jpg\" width=\"256\"\u003e\n        \u003c/td\u003e    \n        \u003ctd rowspan=\"3\"\u003e\n            \u003cb\u003eBreaking Adam:\u003c/b\u003e The Adam optimiser doesn't always converge, in this example we reimplement some of the function optimisations from the AMSGrad paper showing this empirically.\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://nbviewer.jupyter.org/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/amsgrad.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/nbviewer_logo.svg\" height=\"34\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://github.com/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/amsgrad.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/github_logo.png\" height=\"32\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\"\u003e\n            \u003ca href=\"https://colab.research.google.com/github/pytorchbearer/torchbearer/blob/master/docs/_static/notebooks/amsgrad.ipynb\"\u003e\n                \u003cimg src=\"http://www.pytorchbearer.org/assets/img/colab_logo.png\" height=\"28\"\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ca id=\"installation\"\u003e\u003c/a\u003e\n\n## Install\n\nThe easiest way to install torchbearer is with pip:\n\n`pip install torchbearer`\n\nAlternatively, build from source with:\n\n`pip install git+https://github.com/pytorchbearer/torchbearer`\n\n\u003ca id=\"citing\"\u003e\u003c/a\u003e\n\n## Citing Torchbearer\n\nIf you find that torchbearer is useful to your research then please consider citing our preprint: [Torchbearer: A Model Fitting Library for PyTorch](https://arxiv.org/abs/1809.03363), with the following BibTeX entry:\n\n```\n@article{torchbearer2018,\n  author = {Ethan Harris and Matthew Painter and Jonathon Hare},\n  title = {Torchbearer: A Model Fitting Library for PyTorch},\n  journal  = {arXiv preprint arXiv:1809.03363},\n  year = {2018}\n}\n```\n\n\u003ca id=\"related\"\u003e\u003c/a\u003e\n\n## Related\n\nTorchbearer isn't the only library for training PyTorch models. Here are a few others that might better suit your needs (this is by no means a complete list, see the [awesome pytorch list](https://github.com/bharathgs/Awesome-pytorch-list) or [the incredible pytorch](https://github.com/ritchieng/the-incredible-pytorch) for more):\n- [skorch](https://github.com/dnouri/skorch), model wrapper that enables use with scikit-learn - crossval etc. can be very useful\n- [PyToune](https://github.com/GRAAL-Research/pytoune), simple Keras style API\n- [ignite](https://github.com/pytorch/ignite), advanced model training from the makers of PyTorch, can need a lot of code for advanced functions (e.g. Tensorboard)\n- [TorchNetTwo (TNT)](https://github.com/pytorch/tnt), can be complex to use but well established, somewhat replaced by ignite\n- [Inferno](https://github.com/inferno-pytorch/inferno), training utilities and convenience classes for PyTorch   \n- [Pytorch Lightning](https://github.com/williamFalcon/pytorch-lightning), lightweight wrapper on top of PyTorch with advanced multi-gpu and cluster support\n- [Pywick](https://github.com/achaiah/pywick), high-level training framework, based on torchsample, support for various segmentation models\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytorchbearer%2Ftorchbearer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpytorchbearer%2Ftorchbearer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytorchbearer%2Ftorchbearer/lists"}