From d2203e38b622c24d7cee4de67c83f92fdf88dea5 Mon Sep 17 00:00:00 2001 From: Zach Carmichael Date: Wed, 6 Dec 2023 12:59:05 -0500 Subject: [PATCH] Create release 1.0.0 --- .github/workflows/requirements-dev.txt | 5 + .github/workflows/static_checks.yaml | 76 + .gitignore | 241 ++ .pre-commit-config.yaml | 64 + .reuse/dep5 | 9 + .vscode/README_VSCode.md | 14 + .vscode/extensions.json | 7 + .vscode/settings.json | 32 + CONTRIBUTING.md | 10 + LICENSE.md | 660 ++++ LICENSES/BSD-3-Clause.txt | 115 + LICENSES/CC-BY-SA-4.0.txt | 427 +++ LICENSES/MIT.txt | 78 + README.md | 335 ++ configs/protonets/proto-cars224.yaml | 39 + configs/protonets/proto-cifar10-dummy.yaml | 39 + configs/protonets/proto-cub200224-dummy.yaml | 39 + configs/protonets/proto-cub200224.yaml | 39 + data/.gitkeep | 0 img/example-explanation.png | Bin 0 -> 1248452 bytes img/paper-teaser.png | Bin 0 -> 667167 bytes notebooks/explanation_viz.ipynb | 476 +++ notebooks/interpretability_evaluation.ipynb | 392 +++ .../interpretability_evaluation_prp.ipynb | 180 + notebooks/rf_accuracy_analysis.ipynb | 328 ++ pixpnet/__init__.py | 3 + pixpnet/data.py | 509 +++ pixpnet/dataset_labels.py | 1419 ++++++++ pixpnet/lightning/__init__.py | 3 + pixpnet/lightning/lightning_data.py | 77 + pixpnet/lightning/lit_module.py | 164 + pixpnet/macs.py | 79 + pixpnet/optim.py | 123 + pixpnet/pipeline.py | 257 ++ pixpnet/protonets/__init__.py | 3 + pixpnet/protonets/evaluate.py | 628 ++++ pixpnet/protonets/lit_model.py | 366 +++ pixpnet/protonets/loss.py | 90 + pixpnet/protonets/models/__init__.py | 3 + .../protonets/models/feature_extractor_zoo.py | 636 ++++ pixpnet/protonets/models/layers.py | 53 + pixpnet/protonets/models/protonet.py | 692 ++++ pixpnet/protonets/prp/__init__.py | 0 pixpnet/protonets/prp/lrp_general6.py | 1234 +++++++ pixpnet/protonets/prp/prp.py | 555 ++++ pixpnet/protonets/prp/resnet_features.py | 321 ++ pixpnet/protonets/push.py | 173 + pixpnet/protonets/utils.py | 37 + pixpnet/symbolic/__init__.py | 0 pixpnet/symbolic/base_layers.py | 474 +++ pixpnet/symbolic/exceptions.py | 7 + pixpnet/symbolic/index_layers.py | 733 +++++ pixpnet/symbolic/misc.py | 139 + pixpnet/symbolic/models.py | 2916 +++++++++++++++++ pixpnet/utils.py | 515 +++ pixpnet/utils_torch.py | 172 + requirements.txt | 26 + scripts/hackjobs.py | 237 ++ scripts/run_protonet.py | 165 + tests/test_entry_scripts.py | 37 + 60 files changed, 16451 insertions(+) create mode 100644 .github/workflows/requirements-dev.txt create mode 100644 .github/workflows/static_checks.yaml create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 .reuse/dep5 create mode 100644 .vscode/README_VSCode.md create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.md create mode 100644 LICENSES/BSD-3-Clause.txt create mode 100644 LICENSES/CC-BY-SA-4.0.txt create mode 100644 LICENSES/MIT.txt create mode 100644 README.md create mode 100644 configs/protonets/proto-cars224.yaml create mode 100644 configs/protonets/proto-cifar10-dummy.yaml create mode 100644 configs/protonets/proto-cub200224-dummy.yaml create mode 100644 configs/protonets/proto-cub200224.yaml create mode 100644 data/.gitkeep create mode 100644 img/example-explanation.png create mode 100644 img/paper-teaser.png create mode 100644 notebooks/explanation_viz.ipynb create mode 100644 notebooks/interpretability_evaluation.ipynb create mode 100644 notebooks/interpretability_evaluation_prp.ipynb create mode 100644 notebooks/rf_accuracy_analysis.ipynb create mode 100644 pixpnet/__init__.py create mode 100644 pixpnet/data.py create mode 100644 pixpnet/dataset_labels.py create mode 100644 pixpnet/lightning/__init__.py create mode 100644 pixpnet/lightning/lightning_data.py create mode 100644 pixpnet/lightning/lit_module.py create mode 100644 pixpnet/macs.py create mode 100644 pixpnet/optim.py create mode 100644 pixpnet/pipeline.py create mode 100644 pixpnet/protonets/__init__.py create mode 100644 pixpnet/protonets/evaluate.py create mode 100644 pixpnet/protonets/lit_model.py create mode 100644 pixpnet/protonets/loss.py create mode 100644 pixpnet/protonets/models/__init__.py create mode 100644 pixpnet/protonets/models/feature_extractor_zoo.py create mode 100644 pixpnet/protonets/models/layers.py create mode 100644 pixpnet/protonets/models/protonet.py create mode 100644 pixpnet/protonets/prp/__init__.py create mode 100644 pixpnet/protonets/prp/lrp_general6.py create mode 100644 pixpnet/protonets/prp/prp.py create mode 100644 pixpnet/protonets/prp/resnet_features.py create mode 100644 pixpnet/protonets/push.py create mode 100644 pixpnet/protonets/utils.py create mode 100644 pixpnet/symbolic/__init__.py create mode 100644 pixpnet/symbolic/base_layers.py create mode 100644 pixpnet/symbolic/exceptions.py create mode 100644 pixpnet/symbolic/index_layers.py create mode 100644 pixpnet/symbolic/misc.py create mode 100644 pixpnet/symbolic/models.py create mode 100644 pixpnet/utils.py create mode 100644 pixpnet/utils_torch.py create mode 100644 requirements.txt create mode 100644 scripts/hackjobs.py create mode 100644 scripts/run_protonet.py create mode 100644 tests/test_entry_scripts.py diff --git a/.github/workflows/requirements-dev.txt b/.github/workflows/requirements-dev.txt new file mode 100644 index 0000000..42bce9e --- /dev/null +++ b/.github/workflows/requirements-dev.txt @@ -0,0 +1,5 @@ +# Copyright (c) 2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +pre-commit diff --git a/.github/workflows/static_checks.yaml b/.github/workflows/static_checks.yaml new file mode 100644 index 0000000..b4525da --- /dev/null +++ b/.github/workflows/static_checks.yaml @@ -0,0 +1,76 @@ +# Copyright (c) 2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +name: Static code checks + +on: # yamllint disable-line rule:truthy + pull_request: + push: + branches: + - '**' + tags-ignore: + - '**' + +env: + LICENSE: AGPL-3.0-or-later + FETCH_DEPTH: 1 + FULL_HISTORY: 0 + SKIP_WORD_PRESENCE_CHECK: 0 + +jobs: + static-code-check: + if: endsWith(github.event.repository.name, 'private') + + name: Run static code checks + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + + steps: + - name: Setup history + if: github.ref == 'refs/heads/oss' + run: | + echo "FETCH_DEPTH=0" >> $GITHUB_ENV + echo "FULL_HISTORY=1" >> $GITHUB_ENV + + - name: Setup version + if: github.ref == 'refs/heads/melco' + run: | + echo "SKIP_WORD_PRESENCE_CHECK=1" >> $GITHUB_ENV + + - name: Check out code + uses: actions/checkout@v3 + with: + fetch-depth: ${{ env.FETCH_DEPTH }} # '0' to check full history + + - name: Set up environment + run: git config user.email github-bot@merl.com + + - name: Set up python + uses: actions/setup-python@v4 + with: + python-version: 3 + cache: 'pip' + cache-dependency-path: '.github/workflows/requirements-dev.txt' + + - name: Install python packages + run: pip install -r .github/workflows/requirements-dev.txt + + - name: Ensure lint and pre-commit steps have been run + uses: pre-commit/action@v3.0.0 + + - name: Check files + uses: merl-oss-private/merl-file-check-action@v1 + with: + license: ${{ env.LICENSE }} + full-history: ${{ env.FULL_HISTORY }} # If true, use fetch-depth 0 above + skip-word-presence-check: ${{ env.SKIP_WORD_PRESENCE_CHECK }} + + - name: Check license compatibility + if: github.ref != 'refs/heads/melco' + uses: merl-oss-private/merl_license_compatibility_checker@v1 + with: + input-filename: requirements.txt + license: ${{ env.LICENSE }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89565f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,241 @@ +# Copyright (c) 2023 Mitsubishi Electric Research Laboratories (MERL). +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +# Profiling +*.pstat +*.lprof + +# Data +/data/* +!/data/.gitkeep + +/logs/ +*.pkl +*.out +*.swp +*.png +!img +!img/*.png +*.pdf +*.npz +*.npy +*.gif +*.mp4 +# *.txt +*.pth +*.gz +*.csv +*.tar +*-idx*-ubyte +*.ckpt +*.tex +*.svg +*.tfevents.* +# treat YAML data slightly differently (keep config YAML only) +# *.yaml +# !configs/**/*.yaml +data_old + +# lock files in cache +.*.lock + +# Virtual Environment +venv/ + +# === PyCharm === +.idea/ + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# === Python === + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +.DS_Store diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..bfabfe7 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,64 @@ +# Copyright (c) 2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# +# Pre-commit configuration. See https://pre-commit.com + +default_language_version: + python: python3 + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace + - id: check-yaml + - id: check-added-large-files + args: ['--maxkb=5000'] + + - repo: https://gitlab.com/bmares/check-json5 + rev: v1.0.0 + hooks: + - id: check-json5 + + - repo: https://github.com/homebysix/pre-commit-macadmin + rev: v1.12.3 + hooks: + - id: check-git-config-email + args: ['--domains', 'merl.com'] + + - repo: https://github.com/psf/black + rev: 22.12.0 + hooks: + - id: black + args: + - --line-length=120 + + - repo: https://github.com/pycqa/isort + rev: 5.12.0 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files", "--line-length", "120", "--skip-gitignore"] + + # Uncomment to use pyupgrade (https://github.com/asottile/pyupgrade) to automatically upgrade syntax for newer python + # - repo: https://github.com/asottile/pyupgrade + # rev: v3.3.1 + # hooks: + # - id: pyupgrade + + # To stop flake8 error from causing a failure, use --exit-zero. By default, pre-commit will not show the warnings, + # so use verbose: true to see them. + - repo: https://github.com/pycqa/flake8 + rev: 5.0.4 + hooks: + - id: flake8 + # Black compatibility, Eradicate options + args: ["--max-line-length=120", "--extend-ignore=E203", + "--eradicate-whitelist-extend", "eradicate:\\s*no", + "--exit-zero"] + verbose: true + additional_dependencies: [ + # https://github.com/myint/eradicate, https://github.com/wemake-services/flake8-eradicate + "flake8-eradicate" + ] diff --git a/.reuse/dep5 b/.reuse/dep5 new file mode 100644 index 0000000..9bb4e1b --- /dev/null +++ b/.reuse/dep5 @@ -0,0 +1,9 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: .vscode/* +Copyright: 2023 Mitsubishi Electric Research Laboratories (MERL) +License: AGPL-3.0-or-later + +Files: configs/*.yaml img/*.png notebooks/*.ipynb +Copyright: 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +License: AGPL-3.0-or-later diff --git a/.vscode/README_VSCode.md b/.vscode/README_VSCode.md new file mode 100644 index 0000000..7884876 --- /dev/null +++ b/.vscode/README_VSCode.md @@ -0,0 +1,14 @@ + +# VS Code recommended extensions and settings + +These files provide recommended extensions and workspace settings for VS Code for python development. The recommended extensions are: + +* [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python"): Official python extension from Microsoft +* [Python Type Hint](https://marketplace.visualstudio.com/items?itemName=njqdev.vscode-python-typehint): Type hint completion for Python +* [autoDocstring](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring): Generates python docstrings automatically + +If these extensions are not already globally installed, they will be recommended to you for installation when you open the project in VS Code. diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..2d42587 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "ms-python.python", + "njqdev.vscode-python-typehint", + "njpwerner.autodocstring" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b5520a9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,32 @@ +{ + "editor.rulers": [ + 120 + ], + "[python]": { + "editor.tabSize": 4 + }, + "[markdown]": { + "editor.wordWrap": "bounded", + "editor.wordWrapColumn": 120 + }, + "files.eol": "\n", + "files.insertFinalNewline": true, + "files.trimFinalNewlines": true, + "files.trimTrailingWhitespace": true, + "editor.formatOnSave": true, + "python.formatting.provider": "black", + "python.formatting.blackArgs": [ + "--line-length=120" + ], + "python.linting.flake8Enabled": true, + "python.linting.enabled": true, + "python.linting.flake8Args": [ + "--max-line-length=120", + "--extend-ignore=E203" + ], + "python.testing.pytestArgs": [ + "tests" + ], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..088512f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,10 @@ + + +# Contributing + +Sorry, but we do not currently accept contributions in the form of pull requests to this repository. However, you are +welcome to post issues (bug reports, feature requests, questions, etc). diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..aaa0537 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,660 @@ +### GNU AFFERO GENERAL PUBLIC LICENSE + +Version 3, 19 November 2007 + +Copyright (c) 2007 Free Software Foundation, Inc. + + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +### Preamble + +The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains +free software for all its users. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + +A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + +The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + +An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing +under this license. + +The precise terms and conditions for copying, distribution and +modification follow. + +### TERMS AND CONDITIONS + +#### 0. Definitions. + +"This License" refers to version 3 of the GNU Affero General Public +License. + +"Copyright" also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting work is called a "modified version" of +the earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based +on the Program. + +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user +through a computer network, with no transfer of a copy, is not +conveying. + +An interactive user interface displays "Appropriate Legal Notices" to +the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +#### 1. Source Code. + +The "source code" for a work means the preferred form of the work for +making modifications to it. "Object code" means any non-source form of +a work. + +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same +work. + +#### 2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes +it unnecessary. + +#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with +respect to the covered work, and you disclaim any intention to limit +operation or modification of the work as a means of enforcing, against +the work's users, your or third parties' legal rights to forbid +circumvention of technological measures. + +#### 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +#### 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these +conditions: + +- a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. +- b) The work must carry prominent notices stating that it is + released under this License and any conditions added under + section 7. This requirement modifies the requirement in section 4 + to "keep intact all notices". +- c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. +- d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +#### 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: + +- a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. +- b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the Corresponding + Source from a network server at no charge. +- c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. +- d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. +- e) Convey the object code using peer-to-peer transmission, + provided you inform other peers where the object code and + Corresponding Source of the work are being offered to the general + public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, +family, or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of +coverage. For a particular product received by a particular user, +"normally used" refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected +to use, the product. A product is a consumer product regardless of +whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant +mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to +install and execute modified versions of a covered work in that User +Product from a modified version of its Corresponding Source. The +information must suffice to ensure that the continued functioning of +the modified object code is in no case prevented or interfered with +solely because modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or +updates for a work that has been modified or installed by the +recipient, or for the User Product in which it has been modified or +installed. Access to a network may be denied when the modification +itself materially and adversely affects the operation of the network +or violates the rules and protocols for communication across the +network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +#### 7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: + +- a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or +- b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or +- c) Prohibiting misrepresentation of the origin of that material, + or requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or +- d) Limiting the use for publicity purposes of names of licensors + or authors of the material; or +- e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or +- f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions + of it) with contractual assumptions of liability to the recipient, + for any liability that these contractual assumptions directly + impose on those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the +above requirements apply either way. + +#### 8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +#### 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run +a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +#### 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +#### 11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned +or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you +are a party to an arrangement with a third party that is in the +business of distributing software, under which you make payment to the +third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties +who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by +you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the +covered work, unless you entered into that arrangement, or that patent +license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +#### 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under +this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree to +terms that obligate you to collect a royalty for further conveying +from those to whom you convey the Program, the only way you could +satisfy both those terms and this License would be to refrain entirely +from conveying the Program. + +#### 13. Remote Network Interaction; Use with the GNU General Public License. + +Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your +version supports such interaction) an opportunity to receive the +Corresponding Source of your version by providing access to the +Corresponding Source from a network server at no charge, through some +standard or customary means of facilitating copying of software. This +Corresponding Source shall include the Corresponding Source for any +work covered by version 3 of the GNU General Public License that is +incorporated pursuant to the following paragraph. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + +#### 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions +of the GNU Affero General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever +published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions +of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +#### 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + +#### 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM +TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +#### 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + +### How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively state +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (c) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper +mail. + +If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for +the specific requirements. + +You should also get your employer (if you work as a programmer) or +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. For more information on this, and how to apply and follow +the GNU AGPL, see . diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 0000000..ac4b376 --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,115 @@ +------------------------------------------------------------------------------- +PyTorch (https://github.com/pytorch/pytorch) +------------------------------------------------------------------------------- + +From PyTorch: + +Copyright (c) 2016- Facebook, Inc (Adam Paszke) +Copyright (c) 2014- Facebook, Inc (Soumith Chintala) +Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert) +Copyright (c) 2012-2014 Deepmind Technologies (Koray Kavukcuoglu) +Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu) +Copyright (c) 2011-2013 NYU (Clement Farabet) +Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston) +Copyright (c) 2006 Idiap Research Institute (Samy Bengio) +Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz) + +From Caffe2: + +Copyright (c) 2016-present, Facebook Inc. All rights reserved. + +All contributions by Facebook: +Copyright (c) 2016 Facebook Inc. + +All contributions by Google: +Copyright (c) 2015 Google Inc. +All rights reserved. + +All contributions by Yangqing Jia: +Copyright (c) 2015 Yangqing Jia +All rights reserved. + +All contributions by Kakao Brain: +Copyright 2019-2020 Kakao Brain + +All contributions by Cruise LLC: +Copyright (c) 2022 Cruise LLC. +All rights reserved. + +All contributions from Caffe: +Copyright(c) 2013, 2014, 2015, the respective contributors +All rights reserved. + +All other contributions: +Copyright(c) 2015, 2016 the respective contributors +All rights reserved. + +Caffe2 uses a copyright model similar to Caffe: each contributor holds +copyright over their contributions to Caffe2. The project versioning records +all such contribution and copyright details. If a contributor wants to further +mark their specific copyright on a particular contribution, they should +indicate their copyright solely in the commit message of the change when it is +committed. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories America + and IDIAP Research Institute nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------- +PyTorch TorchVision (https://github.com/pytorch/vision) +------------------------------------------------------------------------------- + +BSD 3-Clause License + +Copyright (c) Soumith Chintala 2016, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/CC-BY-SA-4.0.txt b/LICENSES/CC-BY-SA-4.0.txt new file mode 100644 index 0000000..c0338f7 --- /dev/null +++ b/LICENSES/CC-BY-SA-4.0.txt @@ -0,0 +1,427 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..cb6d479 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,78 @@ +------------------------------------------------------------------------------- +pytorch-fgvc-dataset (https://github.com/lvyilin/pytorch-fgvc-dataset) +------------------------------------------------------------------------------- + +MIT License + +Copyright (c) 2020 lvyilin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------- +ProtoPNet (https://github.com/cfchen-duke/ProtoPNet/) +------------------------------------------------------------------------------- + +MIT License + +Copyright (c) 2019 Chaofan Chen (cfchen-duke), Oscar Li (OscarcarLi), +Chaofan Tao, Alina Jade Barnett, Cynthia Rudin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +------------------------------------------------------------------------------- +PRP (https://github.com/SrishtiGautam/PRP) +------------------------------------------------------------------------------- + +MIT License + +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..46939fd --- /dev/null +++ b/README.md @@ -0,0 +1,335 @@ + + +# PixPNet: Pixel-Grounded Prototypical Part Networks + +This repository contains the code for the paper, _Pixel-Grounded Prototypical +Part Networks_ by Zachariah Carmichael, Suhas Lohit, Anoop Cherian, Michael +Jones, and Walter J Scheirer. **PixPNet** (**Pix**el-Grounded **P**rototypical +Part **Net**work) is an improvement upon existing prototypical part neural +networks (ProtoPartNNs): PixPNet _truly localizes to object parts_ (unlike other +approaches, including ProtoPNet), has quantitatively better interpretability, +and is competitive on image classification benchmarks. + + +

+ The issues with ProtoPartNNs that PixPNet solves. + An example of a PixPNet explanation +

+ +**Abstract**: + +> Prototypical part neural networks (ProtoPartNNs), namely ProtoPNet and its +> derivatives, are an intrinsically interpretable approach to machine learning. +> Their prototype learning scheme enables intuitive explanations of the form, +> _this_ (prototype) looks like _that_ (testing image patch). But, does _this_ +> actually look like _that_? In this work, we delve into why object part +> localization and associated heat maps in past work are misleading. Rather +> than localizing to object parts, existing ProtoPartNNs localize to the entire +> image, contrary to generated explanatory visualizations. We argue that +> detraction from these underlying issues is due to the alluring nature of +> visualizations and an over-reliance on intuition. To alleviate these issues, +> we devise new receptive field-based architectural constraints for meaningful +> localization and a principled pixel space mapping for ProtoPartNNs. To +> improve interpretability, we propose additional architectural improvements, +> including a simplified classification head. We also make additional +> corrections to ProtoPNet and its derivatives, such as the use of a validation +> set, rather than a test set, to evaluate generalization during training. Our +> approach, PixPNet (Pixel-grounded Prototypical part Network), is the **only** +> ProtoPartNN that truly learns and localizes to prototypical object parts. We +> demonstrate that PixPNet achieves quantifiably improved interpretability +> without sacrificing accuracy. + + +* [Installation](#installation) +* [Running](#running) + * [Running PixPNet](#running-pixpnet) + * [Overview](#overview) + * [Verifying Your Installation](#verifying-your-installation) + * [Training PixPNet](#training-pixpnet) + * [Visualizing Explanations](#visualizing-explanations) + * [Interpretability Evaluation](#interpretability-evaluation) + * [Log Level](#log-level) + * [Running "Goldilocks" Zone Experiments](#-goldilocks--zone-experiments) +* [License](#license) +* [Citation](#citation) + + +## Installation + +After cloning this repository, the required packages listed in +`requirements.txt` need to be installed. They can be installed in a virtual +environment using tools such as `virtualenv` or `conda`. + +Example of installation via `pip`: + +```shell +pip install -r requirements.txt +``` + +## Running + +There are two primary scripts and several notebooks included in this repository. + +### Running PixPNet + +#### Overview + +To train a PixPNet, the `scripts/run_protonet.py` script should be used. To view +all the documented command-line options, run the following: + +```shell +python scripts/run_protonet.py --help +``` + +These options can be specified in YAML config files for convenience. You can +see config file examples in the `configs/protonets/` directory. + +The output of a run is by default stored in `logs/protonet` and is controlled by +the `--log-dir` option. The saved files have the following directory structure: + +```text +logs/ +└── protonet + └── + └── protonet + └── + ├── csv + │ └── version_0 + │ ├── checkpoints + │ │ └── epoch=0-step=.ckpt + │ ├── hparams.yaml + │ └── metrics.csv + ├── results + │ ├── config.yaml + │ ├── model_info.yaml + │ └── scores.yaml + └── tensorboard + └── version_0 + ├── events.out.tfevents. + ├── events.out.tfevents. + └── hparams.yaml +``` + +The following explains each file of interest: + +- `config.yaml`: the full configuration of the run +- `model_info.yaml`: statistics of the model, including train/test run times, +model MACS, model size, and parameters +- `scores.yaml`: the scores on the test set, e.g., accuracy +- `tensorboard/` files: events that can be visualized using `tensorboard` +- `epoch=0-step=.ckpt`: the final model checkpoint that be loaded +- `metrics.csv`: logged metrics of the train and validation splits in CSV form + +#### Verifying Your Installation + +To test that your installation is working properly, you can run a dummy version +of the training on CUB-200-2011 (the script will download the data for you). In +this version, the batch size, epochs, augmentation factor, and some PixPNet +parameters are reduced. To test your installation: + +```shell +python scripts/run_protonet.py -c configs/protonets/proto-cub200224-dummy.yaml +``` + +You should expect the reported `test_accuracy` to be quite low. This is +expected as this a dummy configuration to verify your installation. + +Alternatively you can test all entry scripts by running `pytest`: + +```shell +pytest +``` + +#### Training PixPNet + +To train PixPNet on CUB-200-2011, the following should be run: + +```shell +python scripts/run_protonet.py -c configs/protonets/proto-cub200224.yaml +``` + +Results for other architectures can be given by changing the +`--model.feature-extractor` and `--model.feature-layer` options either through +the command line or the YAML config file. Note that command line options take +precedence over config file options. + +For Stanford Cars, simply use the config `configs/protonets/proto-cars224.yaml` +instead. + +#### Visualizing Explanations + +Once a PixPNet has been trained, its explanations can be visualized with the +notebook `notebooks/explanation_viz.ipynb`. The notebook indicates where the +result path (log directory) should be inserted. + +#### Interpretability Evaluation + +To evaluate the interpretability of a trained PixPNet, use the notebook +`notebooks/interpretability_evaluation.ipynb`. The notebook evaluates the +consistency, stability and relevance ordering test metrics for several +pixel space mappings: ours, upsampling (original from ProtoPNet), and random. +To evaluate the prototypical relevance propagation (PRP) pixel space mapping, +the `notebooks/interpretability_evaluation_prp.ipynb` notebook must be used. +The result of this notebook can be loaded by the former notebook for +visualization. The reason for this is that the external PRP code base modifies +models in-place. Both notebooks indicate where the result path (log directory) +should be inserted. + +#### Log Level +The log level (verbosity) can be controlled using the `PIXPNET_LOG_LEVEL` +environmental variable. Example usage: + +```shell +PIXPNET_LOG_LEVEL="INFO" python scripts/run_protonet.py -c ... +``` + + +### Running "Goldilocks" Zone Experiments + +These experiments are described in the paper. Therein, various architectures +are evaluated on ImageNette (a 10-class subset of ImageNet) at various +intermediate layers. See the paper or the code for additional details. To run +these experiments, use the script `scripts/hackjobs.py`. To list its options: + + +```shell +python scripts/hackjobs.py --help +``` + +Running the script without any options will give the results reported in the +paper. **Note**: you will first have to acquire the +[ImageNet](https://www.image-net.org/) dataset yourself and place it in the +directory `data/imagenette`. The output of the script will be written to a CSV +in the directory `results/hackjob/` with the filename +`hackjob_results_.csv`. This file can then be visualized in the +notebook `notebooks/rf_accuracy_analysis.ipynb`. The notebook indicates where +this result path should be inserted. + + +## Citation + +If you use the software, please cite the following [arXiv paper](https://arxiv.org/abs/2309.14531). + +For LaTeX bibliography style files that do **not** support `eprint` fields: + +```BibTeX +@article{carmichaelPixPNet2023, + author = {Carmichael, Zachariah and Lohit, Suhas and Cherian, Anoop and + Jones, Michael and Scheirer, Walter J}, + title = {Pixel-Grounded Prototypical Part Networks}, + year = 2023, + journal = {arXiv}, + volume = {2309.14531}, + url = {https://arxiv.org/abs/2309.14531}, +} +``` + +For LaTeX bibliography style files that **do** support `eprint` fields: + +```BibTeX +@misc{carmichaelPixPNet2023, + author = {Carmichael, Zachariah and Lohit, Suhas and Cherian, Anoop and + Jones, Michael and Scheirer, Walter J}, + title = {Pixel-Grounded Prototypical Part Networks}, + year = 2023, + archiveprefix = {arXiv}, + eprint = {2309.14531}, + primaryclass = {cs.CV}, + url = {https://arxiv.org/abs/2309.14531}, +} +``` + +## Contact + +Mike Jones + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) for our policy on contributions. + +## License + +Released under `AGPL-3.0-or-later` license, as found in the [LICENSE.md](LICENSE.md) +file. + +All files, except as listed below: + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL). + +SPDX-License-Identifier: AGPL-3.0-or-later +``` + +Files `pixpnet/utils_torch.py`, `pixpnet/symbolic/base_layers.py`, +`pixpnet/symbolic/index_layers.py`, `pixpnet/symbolic/misc.py`, and +`pixpnet/symbolic/models.py` were adapted from +[PyTorch](https://github.com/pytorch/pytorch) +(`BSD 3-Clause License`, see: [LICENSES/BSD-3-Clause.txt](LICENSES/BSD-3-Clause.txt)) +and +[PyTorch TorchVision](https://github.com/pytorch/vision) +(`BSD 3-Clause License`, see: [LICENSES/BSD-3-Clause.txt](LICENSES/BSD-3-Clause.txt)) + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) PyTorch Contributors 2022 + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: BSD-3-Clause +``` + +Files `pixpnet/protonets/prp/lrp_general6.py` and `pixpnet/protonets/prp/prp.py` +were adapted from +[PRP](https://github.com/SrishtiGautam/PRP) +(`MIT License`, see: [LICENSES/MIT.txt](LICENSES/MIT.txt)) + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +``` + +File `pixpnet/protonets/prp/resnet_features.py` +was adapted from +[PRP](https://github.com/SrishtiGautam/PRP) +(`MIT License`, see: [LICENSES/MIT.txt](LICENSES/MIT.txt)) +and +[ProtoPNet](https://github.com/cfchen-duke/ProtoPNet/) +(`MIT License`, see: [LICENSES/MIT.txt](LICENSES/MIT.txt)) + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer +Copyright (c) 2019 Chaofan Chen (cfchen-duke), Oscar Li (OscarcarLi), Chaofan Tao, Alina Jade Barnett, Cynthia Rudin + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +``` + +File `pixpnet/utils.py` was adapted from +[StackOverflow](https://stackoverflow.com/a/40239615/6557588) +(`CC-BY-SA 4.0`, see: [LICENSES/CC-BY-SA-4.0.txt](LICENSES/CC-BY-SA-4.0.txt), for +attribution, see: [utils.py](pixpnet/utils.py)). + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: CC-BY-SA-4.0 +``` + +File `pixpnet/data.py` was adapted from +[pytorch-fgvc-dataset](https://github.com/lvyilin/pytorch-fgvc-dataset) +(`MIT License`, see: [LICENSES/MIT.txt](LICENSES/MIT.txt)) + +``` +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +``` diff --git a/configs/protonets/proto-cars224.yaml b/configs/protonets/proto-cars224.yaml new file mode 100644 index 0000000..5c59459 --- /dev/null +++ b/configs/protonets/proto-cars224.yaml @@ -0,0 +1,39 @@ +seed: 42 +dataset: + name: CARS224 + val-size: .1 + augment-factor: 16 +model: + name: protonet + init-weights: true + feature-extractor: vgg16_bn + feature-layer: maxpool5 + pretrained: true + num-prototypes: 1960 + prototype-dim: 192 + prototype-kernel-size: 1 + prototype-activation: log + add-on-layers-type: regular + epsilon: 1e-6 + learn-prototypes: true + class-specific: true + readout-type: proto + distance: cosine +optimizer: + name: adam + lr: 3e-3 + fine-tune-lr: 1e-4 + readout-lr: 1e-4 + lr-scheduler: cosine + warmup-period: 5 + weight-decay: 1e-3 +train: + epochs: 20 + push-prototypes: true + push-every: 4 + batch-size: 64 + no-checkpoint: true +loss: + xent: 1.0 + cluster: 0.0 + separation: 0.0 diff --git a/configs/protonets/proto-cifar10-dummy.yaml b/configs/protonets/proto-cifar10-dummy.yaml new file mode 100644 index 0000000..c244b21 --- /dev/null +++ b/configs/protonets/proto-cifar10-dummy.yaml @@ -0,0 +1,39 @@ +seed: 42 +dataset: + name: CIFAR10 + val-size: .1 + augment-factor: 1 +model: + name: protonet + init-weights: true + feature-extractor: vgg11_bn + feature-layer: maxpool4 + pretrained: true + num-prototypes: 20 + prototype-dim: 16 + prototype-kernel-size: 1 + prototype-activation: log + add-on-layers-type: regular + epsilon: 1e-6 + learn-prototypes: true + class-specific: true + readout-type: proto + distance: cosine +optimizer: + name: adam + lr: 3e-3 + fine-tune-lr: 1e-4 + readout-lr: 1e-4 + lr-scheduler: cosine + warmup-period: 0 + weight-decay: 1e-3 +train: + epochs: 1 + push-prototypes: true + push-every: 1 + batch-size: 32 + no-checkpoint: true +loss: + xent: 1.0 + cluster: 0.0 + separation: 0.0 diff --git a/configs/protonets/proto-cub200224-dummy.yaml b/configs/protonets/proto-cub200224-dummy.yaml new file mode 100644 index 0000000..4007b0f --- /dev/null +++ b/configs/protonets/proto-cub200224-dummy.yaml @@ -0,0 +1,39 @@ +seed: 42 +dataset: + name: CUB200224 + val-size: .1 + augment-factor: 1 +model: + name: protonet + init-weights: true + feature-extractor: vgg11_bn + feature-layer: maxpool4 + pretrained: true + num-prototypes: 400 + prototype-dim: 32 + prototype-kernel-size: 1 + prototype-activation: log + add-on-layers-type: regular + epsilon: 1e-6 + learn-prototypes: true + class-specific: true + readout-type: proto + distance: cosine +optimizer: + name: adam + lr: 3e-3 + fine-tune-lr: 1e-4 + readout-lr: 1e-4 + lr-scheduler: cosine + warmup-period: 0 + weight-decay: 1e-3 +train: + epochs: 1 + push-prototypes: true + push-every: 1 + batch-size: 32 + no-checkpoint: true +loss: + xent: 1.0 + cluster: 0.0 + separation: 0.0 diff --git a/configs/protonets/proto-cub200224.yaml b/configs/protonets/proto-cub200224.yaml new file mode 100644 index 0000000..a890d2d --- /dev/null +++ b/configs/protonets/proto-cub200224.yaml @@ -0,0 +1,39 @@ +seed: 42 +dataset: + name: CUB200224 + val-size: .1 + augment-factor: 16 +model: + name: protonet + init-weights: true + feature-extractor: vgg16_bn + feature-layer: maxpool5 + pretrained: true + num-prototypes: 2000 + prototype-dim: 192 + prototype-kernel-size: 1 + prototype-activation: log + add-on-layers-type: regular + epsilon: 1e-6 + learn-prototypes: true + class-specific: true + readout-type: proto + distance: cosine +optimizer: + name: adam + lr: 3e-3 + fine-tune-lr: 1e-4 + readout-lr: 1e-4 + lr-scheduler: cosine + warmup-period: 5 + weight-decay: 1e-3 +train: + epochs: 20 + push-prototypes: true + push-every: 4 + batch-size: 64 + no-checkpoint: true +loss: + xent: 1.0 + cluster: 0.0 + separation: 0.0 diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/img/example-explanation.png b/img/example-explanation.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee55fd3a794f340852393ee3dbdd25a421ca85a GIT binary patch literal 1248452 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

_bD3UTh8K@6;L-%p`q)%Ha1|z%PbYEc1Qrd) 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

FP6lA33q$H)s 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 z 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�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˗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

k+OY z*mqf7{Evb5v$5`r$(~D_L)Q)E<_EiA|b4)R|f0JxHumtR^|SzT9GSyfe0RbAKE+}hT>fSFm5V#%1^1^l4Z zDAkkp0@I0dayNvgH5>V1;FxDgvP zGZxTYxQWXwL|#ZW_8_qMEG+?$OwI;(k(`;jGge0(V3s_YoD##B4(C^ z)vlwr+GHRmrbU47ln~ow3ylg&la|pQ)Ish>c@I;{AHMpJ6SMe#Dy#hRtA2Uruh3u3 zDjZ)XrOC@k!LR=5m--*UDw#C)fPT&@M^!jtm7j1W!zzLAS^n=>-miGRFZu4zM4snt z+XJe41H*Aah$=9K-QG7|-`rABUR+d|Q;>T-_x9!6*Uw(Rax&|}`&Z7rlXdakYnR@+ zmGyq!trG<~r%H=20IDj_s;|jzZz=9-FPj){n4V}w!TJfP(O28kuWoArg^n{~5KNlH zV21)~mruJDGgdjsD4x{vMs@s2qXcSGq1<|Wc$Jj2lh>S-br*fj!ALl%aVI@uV+O1& zKtU@bXa(NV6L#8~gRq_l@A&0g#!t^~MSUdEQ2w(h2<+)MyV);!$Za0X`XrIzm|GujLY zgJz;ZGHw(P8@Ro8(TGnz5mZgab)d8nx?x6dJILD(`i7n1QP0chV^~lrb|N1)kxQJ& zUzjSKAIqKVy9V#M0_(m!H;{uJ&LK|ZE>7pMk!5Ono1We4QB4Q+sIZ9`G?2VnqEU+0 z3SqpZQ4Vcf#DVLS6t`I%_nD$Wo6#ueaB#4hrde<`e6oZ`9yCcXArmX<5CVi|Rn09k z2NjfN-C~ndFc8ziww>eyALGEw+I2DGCbC*A#PF zs+LE)g5cp0VlqA1V{a&7SLRdeOGHf-ipDZ|O%cB;pH*APZLO5{HZAuyX$M;^prHt8 zI5^mA8SFKU4moC~;xI^}t5Z|oAn6;l&Om~&+3?tid1BNCnsCp-l8Bk)#Hh2gRX#oG zM9s!=i1g^_YJab`w@p1bZ2s{#yKwC%(fTh!tzQN^zY2DLAMF0l)B2^o{gI|>Us8G? zs(37^OXDy5W{$GS)@bNA-2J*8DXyz#QUdCp161^>%xU|7cZW_a^+H1)|Kq+TZM)BnVl;6xdlaq zg~dgA`T0dfC6yUkX(-QFX?0EcK!5i#8!w~Js`=2Ei<@+dw?c~Th-53Me2_M5y4gZv zvzj#=Hd5|JRF9L(2@{?UFM;-5TS9aRNj)rl^Ae(F3EId)^)cpqIph&J3uKm~f+n&@ zkF_XZCOO2Z!9`XHX$LuAK#OU;ddak3jSgzzX3^jZw8KF{4A^@C!JPo-PJnq3;Xg>p??$Bw2QzFXM{NsRUUooB zreSO8xWiMqyJ}?`I%Xb3ogl*BU#Rm1Hu#pOkod;39XJuYS?Q$)H4?>L3wsnuw z8i2$wpgP2O`68^20k5RbRw#%yF7fcTos={YEm9~NT;5P|ysP2-L{~lz+{|5QHHk(8 zN=)2@O*`ig!|bPN&3;s(k@6LWUnbNS|&R9&Q;oLt>i}%^|dES=~}Xorc^cCbdYZ%_?fU zn%3%+4()gd_hX#zzx@A(U*&J#uX6PE&+3;5@pJvzlD|Cj*Xgfgm7hT6FJzU!QM|yv z0Q!klxc@b)u!Dd230M9VTE1uczGZs8=6Js5dA<;MK4;mV&~$q^K?qJ=g_0DV!_daI zu9}*vl9K%V{2O`MS8m@tcm2voSI@t9`Rv-fsTv+G7uSS+sobd2{JqW1EQUfa4#aho0Mk~+OB0foRo`cU!JqdX4H&69i!LC z?6h!uox*{jYQnDqC08*UHtMd28(djXbHR9U#XP7KJqAqE3khRIn8ED1o*VFM{=>_IRtPX4PGQ$sMj!hJSs@ohy!Y!vNNMrhFeFmYY2KNQX`&Qk5F|qBaiG1kbb@ce{g{eHsbRH8{CMPx7gd<)BXv0Cc7iK-q zrk%LhobFH{z!A zU;|eX{aLV{tBAfExX}XKRQ?jYnu~6iFATBK?SK5|Z(nU3uZ_(@&1X)Mj~`q5;Mn3n z{TBK6e~)W5?+)#W-=2efli#%sKw4Gu#s= zS?A92Z`@FIH@VvyRy&#vps^@;Yz+q9nFXyQ!0XuAE$DctrAF4>qz4W8G1Ke#nYGzr zPkkY~Fl({CSO)y5xmsQeuu2i9p+eGFscxy!b~G3UI~~&_p~*qlaQEs+k7;DkGd1pl zfL!BamiAW7K)-!-Ff=`G8tK;bcgv?nf^#!r_)Hu$?(gYX>F?D*CapMF2!ZhR4Z2$U z6rDYmqjB(FxcEt+@e^PB=dO+~oh>gM&0o3NzcP0`TW)$JZFnN7doF2s$gU2}UJA}! z{!-HSopkg&@$i?N?u;XaQ2hW~`4Cg{09E@G-|}Lq_b#kDHF*6FDF4g(mhTn@zgrmj z1l8oIJ8!Kx8EiZsZ9EgMKa=jdaCa>G6IjK^GZlBn3mmnlWjFp#ne&#h{FI~NY-;H0 z?!@hfkkY5f>W@iPFKA8QvHL$~w5K6AB15NRBd1bRXYOFLzYujj=5&UT*S(NaoAc*B zmF0Z1QuV^zc~4yzgAzh8d~g=& z1fzVYSsxZ2z|IATV}1I$NiPcOf5R$o?De!i&nk&%u(Bktq@*anATRqy*2#~KpE`XO z0F|Sy_5iM2zn*pT=JmYX?2PjzKPR*2KED7!ma?*n+S>Z6s;bJ$%8H7z_O_OJ#3+jb z=26FO8baDD+m34QuA2{1D|b`+O%G49*s14@r(Ep2QStq#FlL-%p-N^4uPq@vxrAOm zsgH$iVi=##f(xO0HM*Fg8GkT%Jb ziq(-@BzcAro8O3meVA?K&ZM*3&)1tAwD-@jocJxSlS8!`~9x&(vlYo>B zwe6=IL^uawal*xl*k}Mer^Z@tz_bwbc{*23LZ4Tx7_5%3F+Oq#HB}N;tRto#HeZudt@&l z*^ik#t1Kl4BwuRr$okf-b5D|z?U2@{WvRpq203X}4Arta)y$@&ntq%XJ>6Y7SX+tO z`C1`V$>^67n-!#X#X>s(DjH^oj@e-q_Qg%`9q;0|Up#oVas0aWFaP=fIpUDNT1Rlg z_W$vx<6pAM(J^rH&*~L)`6ZM5RP2@W|JJAea{cYB@=N_C<$qb`-_jAN{G?3yua^

3(^=#;Fv^E`bHrQO^xLhB?SdH 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

R*jh=dd^%e8e+I3JsALM@jQk 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

    8%4(VlU@=llnFv=m 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

    R?$RZ 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

    A!jy| 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�_U-NH*EeHc-AexOG&lJJt}r7x=6TffJ8z!c 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 a^*`hJLuLL!{SUq}0D-5gpUXO@geCxl4wC%< literal 0 HcmV?d00001 diff --git a/img/paper-teaser.png b/img/paper-teaser.png new file mode 100644 index 0000000000000000000000000000000000000000..004ea00feb45eb167570cda4fcb6b59ab9cce0e9 GIT binary patch literal 667167 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

    U);WYIMBP$yZ$6;Z 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éG`E-uy3;hDPsM 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%0AIE-!Ka}hX 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%0DP<#8s1ZzFPh1g_BZvS>&gy*UV3c9Q4Vaa}c)F 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

    -7!RQyTuh?M0*K#fy@(o$3BSU3=Y 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

    Ui>&;Y0)5t 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 MbxgFYwC+6of1pf41ONa4 literal 0 HcmV?d00001 diff --git a/notebooks/explanation_viz.ipynb b/notebooks/explanation_viz.ipynb new file mode 100644 index 0000000..ab86dbf --- /dev/null +++ b/notebooks/explanation_viz.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# Visualization Notebook\n", + "Scroll down to the bottom of the notebook to access the visualization code. You will need to provide a log\n", + "directory to a trained protonet." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "483ad603", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Tuple\n", + "from typing import Union\n", + "\n", + "import os.path as osp\n", + "\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.patches as patches\n", + "from matplotlib import cm\n", + "\n", + "import torch\n", + "\n", + "from torchvision.transforms import functional as F\n", + "from skimage.transform import resize\n", + "\n", + "import numpy as np\n", + "from numpy import unravel_index\n", + "\n", + "try:\n", + " import pixpnet\n", + "except ImportError:\n", + " import sys\n", + "\n", + " sys.path.append('..')\n", + "\n", + " import pixpnet\n", + "finally:\n", + " from pixpnet.data import get_datasets\n", + " from pixpnet.data import get_metadata\n", + " from pixpnet.protonets.lit_model import ProtoLitModel\n", + " from pixpnet.protonets.utils import load_config_and_best_model\n", + " from pixpnet.symbolic.models import compute_rf_data\n", + " from pixpnet.utils import parse_config_file\n", + " from pixpnet.utils_torch import slices_to_bboxes\n", + " from pixpnet.utils_torch import take_rf_from_bbox\n", + " from pixpnet.utils_torch import take_rf\n", + "\n", + "sns.set(\n", + " style='whitegrid',\n", + " font_scale=2.5,\n", + ")\n", + "from matplotlib import rc\n", + "\n", + "rc('font', **{\n", + " 'family': 'serif',\n", + " 'sans-serif': ['Times']\n", + "})\n", + "rc('text', usetex=True)\n", + "\n", + "\n", + "def projected_prototypical_samples(metadata, model, ds_train, rf_layer):\n", + " corresponding_sample_idxs = model.model.corresponding_sample_idxs\n", + " min_fmap_idxs = model.model.min_fmap_idxs\n", + "\n", + " num_prototypes = model.model.num_prototypes\n", + " assert len(corresponding_sample_idxs) == num_prototypes\n", + " assert len(min_fmap_idxs) == num_prototypes\n", + "\n", + " projected_samples = []\n", + " projected_patches = []\n", + " projected_patch_slices = []\n", + "\n", + " for j in range(num_prototypes):\n", + " idx = corresponding_sample_idxs[j]\n", + " if idx == -1:\n", + " print(f'prototype {j} has no corresponding sample!')\n", + " projected_samples.append(None)\n", + " projected_patches.append(None)\n", + " else:\n", + " idx_, x, y = ds_train[idx]\n", + " assert idx_ == idx, (idx_, idx) # BIST\n", + "\n", + " (fmap_h_start, fmap_h_end,\n", + " fmap_w_start, fmap_w_end) = min_fmap_idxs[j]\n", + " rf_feat = take_rf(rf_layer, fmap_h_start, fmap_h_end,\n", + " fmap_w_start, fmap_w_end)\n", + "\n", + " patch = rf_feat.take_from(\n", + " x[None], all_channels=True).squeeze(axis=0)\n", + " patch = rescale_image(patch, metadata.input_size)\n", + " patch = patch.numpy().transpose(1, 2, 0)\n", + " projected_patches.append(patch)\n", + "\n", + " sample = rescale_image(x, metadata.input_size)\n", + " sample = sample.numpy().transpose(1, 2, 0)\n", + " projected_samples.append(sample)\n", + " projected_patch_slices.append(rf_feat.as_slices(\n", + " all_channels=True))\n", + "\n", + " return projected_samples, projected_patches, projected_patch_slices\n", + "\n", + "\n", + "def rescale_image(img: Union[torch.Tensor, np.ndarray, Tuple], meta_size: int,\n", + " max_size: int = 256):\n", + " if meta_size < max_size:\n", + " return img\n", + " scaler = max_size / meta_size\n", + " if isinstance(img, torch.Tensor):\n", + " c, h, w = img.size()\n", + " return F.resize(img, [round(h * scaler), round(w * scaler)])\n", + " elif isinstance(img, np.ndarray):\n", + " h, w, c = img.shape\n", + " return resize(img, [round(h * scaler), round(w * scaler)])\n", + " elif isinstance(img, tuple): # bbox\n", + " (x, y), width, height = img\n", + " return (x * scaler, y * scaler), width * scaler, height * scaler\n", + " else:\n", + " raise NotImplementedError(type(img))\n", + "\n", + "\n", + "def get_last_layer_coef(readout_type, last_layer, y_i, proto_idx, proto_class):\n", + " if last_layer is None:\n", + " return None\n", + " if readout_type == 'linear':\n", + " coef = last_layer.weight[y_i, proto_idx]\n", + " elif readout_type == 'sparse':\n", + " if proto_class != y_i:\n", + " coef = 0\n", + " else:\n", + " proto_idx_group = proto_idx % last_layer.groups\n", + " coef = last_layer.weight[y_i, proto_idx_group]\n", + " elif readout_type == 'proto':\n", + " coef = 1 if y_i == proto_class else 0\n", + " else:\n", + " raise NotImplementedError(readout_type)\n", + " return coef\n", + "\n", + "\n", + "def compute_contributions_sample_proto2patch(readout_type, last_layer, y_i,\n", + " proto_sims_i):\n", + " if readout_type == 'linear':\n", + " contributions = last_layer.weight[y_i] * proto_sims_i\n", + " elif readout_type == 'sparse':\n", + " proto_sims_grouped = proto_sims_i.reshape(\n", + " last_layer.groups, last_layer.in_features_per_group)\n", + " contributions = torch.zeros_like(proto_sims_i)\n", + " contributions[y_i, :] = (\n", + " last_layer.weight[y_i] * proto_sims_grouped[y_i, :])\n", + " contributions = contributions.flatten()\n", + " elif readout_type == 'proto':\n", + " proto_sims_grouped = proto_sims_i.reshape(\n", + " last_layer.groups, last_layer.in_features_per_group)\n", + " contributions = torch.zeros_like(proto_sims_grouped)\n", + " contributions[y_i, :] = proto_sims_grouped[y_i, :]\n", + " contributions = contributions.flatten()\n", + " else:\n", + " raise NotImplementedError(readout_type)\n", + " return contributions\n", + "\n", + "\n", + "def min_max_norm(arr, min=None, max=None, inplace=True):\n", + " if not inplace:\n", + " arr = arr.copy()\n", + " # min-max normalize to 0-1\n", + " arr -= arr.min() if min is None else min\n", + " arr /= arr.max() if max is None else (max - min)\n", + " return arr\n", + "\n", + "\n", + "def overlay_heatmap(img: np.ndarray,\n", + " heatmap: np.ndarray,\n", + " heatmap_weight: float = 0.5,\n", + " cmap: str = 'jet',\n", + " data_format='channels_first'):\n", + " assert img.ndim == 3, img.shape\n", + " if data_format == 'channels_first':\n", + " img = img.transpose((1, 2, 0))\n", + " if heatmap.ndim == 3:\n", + " heatmap = heatmap.transpose((1, 2, 0))\n", + " if heatmap.ndim == 3:\n", + " assert heatmap.shape[2] == 1, heatmap.shape\n", + " heatmap = heatmap.squeeze(axis=2)\n", + " else:\n", + " assert heatmap.ndim == 2, heatmap.shape\n", + " cmap = cm.get_cmap(cmap)\n", + " overlaid = (\n", + " cmap(heatmap)[:, :, :3] * heatmap_weight +\n", + " img * (1. - heatmap_weight)\n", + " )\n", + " return overlaid" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "367da00e", + "metadata": {}, + "outputs": [], + "source": [ + "def savefig(logdir: str, prefix: str, fig: Union[plt.Figure, sns.FacetGrid],\n", + " show: bool = False, save: bool = True):\n", + " basenames = []\n", + " logdir_running = logdir\n", + " subdir_count = 0\n", + " while subdir_count < 3:\n", + " logdir_running, basename = osp.split(logdir_running)\n", + " if basename:\n", + " basenames.append(basename)\n", + " subdir_count += 1\n", + " if not logdir_running:\n", + " break\n", + " basenames = '_'.join(reversed(basenames))\n", + " # append basenames string so there are unique filenames when uploading\n", + " # figures to things where filename conflicts are bad\n", + " save_path = osp.join(logdir, 'results', f'{prefix}_{basenames}.pdf')\n", + " if save:\n", + " print(f'Saving to \"{save_path}\"')\n", + " fig.savefig(save_path)\n", + " if show is True or (isinstance(show, str) and prefix.startswith(show)):\n", + " plt.show(block=True)\n", + " if isinstance(fig, sns.FacetGrid):\n", + " plt.close(fig.fig)\n", + " else:\n", + " plt.close(fig)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fbd6046c", + "metadata": {}, + "outputs": [], + "source": [ + "def explain(logdir, metadata, model, sample_norm, sample, y, rf_layer,\n", + " projected_patches, sample_id, k=11, sort='contributions',\n", + " plot=True, save=True):\n", + " \"\"\"\"\"\"\n", + " class_specific = model.model.class_specific\n", + " prototype_class_identity = model.model.prototype_class_identity\n", + " proto_layer_stride = model.model.prototype_layer_stride\n", + " n_prototypes, _, proto_h, proto_w = model.model.prototype_shape\n", + " if k is None:\n", + " k = n_prototypes\n", + " last_layer = model.model.last_layer\n", + " readout_type = model.model.readout_type\n", + "\n", + " with torch.no_grad():\n", + " result = model(sample_norm[None].to(model.device),\n", + " return_features=True)\n", + " logits = result['logits']\n", + " proto_dists = result['distances']\n", + " min_dist_idxs = result['min_dist_idxs']\n", + " proto_max_sims = result['max_similarities']\n", + "\n", + " preds = torch.argmax(logits, dim=1)\n", + "\n", + " contributions = compute_contributions_sample_proto2patch(\n", + " readout_type, last_layer, preds[0], proto_max_sims[0])\n", + "\n", + " if sort == 'contributions':\n", + " sort_idxs = torch.argsort(contributions, descending=True)\n", + " elif sort == 'similarity':\n", + " sort_idxs = torch.argsort(proto_max_sims[0], descending=True)\n", + " elif not sort:\n", + " sort_idxs = torch.arange(len(contributions))\n", + " else:\n", + " raise ValueError(f'sort = {sort}')\n", + " sample_npy = sample.numpy()\n", + "\n", + " ncols = 5\n", + " scale = 3\n", + " fig, axes = plt.subplots(k, ncols, squeeze=False,\n", + " figsize=(ncols * scale, k * scale))\n", + "\n", + " pred_lab = preds[0]\n", + " y_lab = y\n", + " if metadata.label_names is not None:\n", + " pred_lab = metadata.label_names[pred_lab]\n", + " y_lab = metadata.label_names[y]\n", + "\n", + " # PxHxW\n", + " sample_heat_map_max_all = model.model.pixel_space_map(\n", + " sample_norm.to(model.device), proto_dists, sigma_factor=1.)[0].cpu().numpy()\n", + "\n", + " for j, axes_j in enumerate(axes):\n", + " j_adjust = sort_idxs[j]\n", + "\n", + " projected_patch = projected_patches[j_adjust]\n", + "\n", + " fmap_h_start, fmap_w_start = unravel_index(\n", + " min_dist_idxs[:, j_adjust].item(), proto_dists.shape[2:])\n", + " # retrieve the corresponding feature map patch\n", + " rf_feat = take_rf_from_bbox(rf_layer, fmap_h_start, fmap_w_start,\n", + " proto_h, proto_w, proto_layer_stride)\n", + " sample_patch = rf_feat.take_from(\n", + " sample_npy[None], all_channels=True).squeeze(axis=0)\n", + "\n", + " sample_heat_map_max = sample_heat_map_max_all[j_adjust][None]\n", + " sample_heat_map_max = min_max_norm(sample_heat_map_max)\n", + " sample_heat_map_max_overlaid = overlay_heatmap(\n", + " sample_npy, sample_heat_map_max, heatmap_weight=.4)\n", + "\n", + " bboxes_sample = slices_to_bboxes(rf_feat.as_slices(all_channels=True))\n", + "\n", + " if class_specific:\n", + " proto_class = torch.argmax(\n", + " prototype_class_identity[j_adjust]).item()\n", + " if metadata.label_names is not None:\n", + " proto_class = metadata.label_names[proto_class]\n", + " proj_extra = f'\\n{proto_class}'\n", + " else:\n", + " proj_extra = ''\n", + "\n", + " contrib_str = f' = {contributions[j_adjust]:.3g}'\n", + " print(f'Predicted: {pred_lab} | Actual: {y_lab}')\n", + " print(proj_extra)\n", + " for ax, (patch, title, bboxes) in zip(axes_j, (\n", + " # The test sample (full w/ patch bbox)\n", + " (rescale_image(sample_npy.transpose(1, 2, 0),\n", + " metadata.input_size), 'Sample', bboxes_sample),\n", + " # Pushed/projected training sample (patch)\n", + " (projected_patch, f'Prototype', None),\n", + " # The test sample (patch)\n", + " (rescale_image(sample_patch.transpose(1, 2, 0),\n", + " metadata.input_size),\n", + " f'Corresponding\\nImage Patch', None),\n", + " (rescale_image(sample_heat_map_max_overlaid,\n", + " metadata.input_size),\n", + " 'Overlaid Heat Map', bboxes_sample),\n", + " (contrib_str, 'Contribution', None),\n", + " )):\n", + " if isinstance(patch, str):\n", + " ax.text(0, 0, patch, va='center', ha='center')\n", + " ax.set_xlim(-3, 3)\n", + " ax.set_ylim(-3, 3)\n", + " elif patch is not None:\n", + " kwargs = {}\n", + " if patch.shape[2] == 1:\n", + " kwargs['cmap'] = 'jet'\n", + " ax.imshow(patch, **kwargs)\n", + " if bboxes is not None:\n", + " for bbox in bboxes:\n", + " bbox = rescale_image(bbox, metadata.input_size)\n", + " rect = patches.Rectangle(*bbox, linewidth=2,\n", + " edgecolor='r',\n", + " facecolor='none')\n", + " ax.add_patch(rect)\n", + " if j == 0:\n", + " ax.set_title(title)\n", + " ax.axis('off')\n", + " ax.set_xticks([])\n", + " ax.set_yticks([])\n", + "\n", + " fig.tight_layout()\n", + " topk = '' if k is None else f'_top{k}'\n", + " sort_str = ('_' + sort) if sort else ''\n", + " # Uncomment to save figure\n", + " # savefig(logdir, f'explanation{sort_str}_{sample_id}{topk}', fig, show=plot,\n", + " # save=save)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# To Run\n", + "Replace `logdir` with the path to your log directory (relative to the notebook). A template format is shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb2ab3d6", + "metadata": {}, + "outputs": [], + "source": [ + "logdir = '/path/to/logs/protonet/dataset/protonet/timestamp'\n", + "\n", + "config, model = load_config_and_best_model(logdir)\n", + "model.eval()\n", + "if torch.cuda.is_available():\n", + " model.cuda()\n", + "\n", + "config.dataset.val_size = 0\n", + "config.debug = False\n", + "print('get unnormalized datasets')\n", + "_, ds_train, _, ds_test = get_datasets(config, normalize=False)\n", + "print('get normalized datasets')\n", + "_, _, _, ds_test_norm = get_datasets(config, normalize=True)\n", + "\n", + "metadata = get_metadata(config)\n", + "\n", + "print('compute rf data')\n", + "_, rf_data = compute_rf_data(config.model.feature_extractor,\n", + " metadata.input_size,\n", + " metadata.input_size,\n", + " num_classes=1)\n", + "assert model.model.features.last_module_name == config.model.feature_layer\n", + "rf_layer = rf_data[model.model.features.last_module_name]\n", + "rf_hcc_lens = [len(hcc) for hcc in rf_layer.flat]\n", + "im_size = metadata.input_size * metadata.input_size\n", + "print(f'mean/max/min rf: {100 * np.mean(rf_hcc_lens) / im_size:.2f}% / '\n", + " f'{100 * np.max(rf_hcc_lens) / im_size:.2f}% / '\n", + " f'{100 * np.min(rf_hcc_lens) / im_size:.2f}%')\n", + "\n", + "print('project prototypical samples')\n", + "with torch.no_grad():\n", + " (projected_samples, projected_patches,\n", + " projected_patch_slices) = projected_prototypical_samples(\n", + " metadata, model, ds_train, rf_layer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "102a9bfb", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "plot = True\n", + "save = True\n", + "\n", + "idxs_to_explain = torch.randperm(len(ds_test))[:10]\n", + "\n", + "for sort in ['contributions']:\n", + " for idx in idxs_to_explain:\n", + " print(f'Explain by {sort} for idx={idx}')\n", + " if hasattr(idx, 'item'):\n", + " idx = idx.item()\n", + "\n", + " with torch.no_grad():\n", + " explain(\n", + " logdir, metadata, model, ds_test_norm[idx][0],\n", + " ds_test[idx][0], ds_test[idx][1], rf_layer,\n", + " projected_patches, f'{idx}', sort=sort, plot=plot,\n", + " save=save, k=4,\n", + " )" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ngn", + "language": "python", + "name": "ngn" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/interpretability_evaluation.ipynb b/notebooks/interpretability_evaluation.ipynb new file mode 100644 index 0000000..c2033aa --- /dev/null +++ b/notebooks/interpretability_evaluation.ipynb @@ -0,0 +1,392 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "35a185ef", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import os.path as osp\n", + "\n", + "import torch\n", + "\n", + "try:\n", + " import pixpnet\n", + "except ImportError:\n", + " import sys\n", + "\n", + " sys.path.append('..')\n", + "\n", + " import pixpnet\n", + "finally:\n", + " from pixpnet.data import get_datasets\n", + " from pixpnet.lightning.lightning_data import LitData\n", + " from pixpnet.protonets.evaluate import consistency\n", + " from pixpnet.protonets.evaluate import stability\n", + " from pixpnet.protonets.evaluate import relevance_ordering_test\n", + " from pixpnet.protonets.utils import load_config_and_best_model\n", + " from pixpnet.utils_torch import unravel_index" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# To Run\n", + "Replace `logdir` with the path to your log directory (relative to the notebook). A template format is shown below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48b7d3e0", + "metadata": {}, + "outputs": [], + "source": [ + "logdir = '/path/to/logs/protonet/dataset/protonet/timestamp'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcfeca86", + "metadata": {}, + "outputs": [], + "source": [ + "config, model = load_config_and_best_model(logdir)\n", + "print(config.model.feature_extractor, config.model.feature_layer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "290c319c", + "metadata": {}, + "outputs": [], + "source": [ + "model = model.eval().to('cuda')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dcceab22", + "metadata": {}, + "outputs": [], + "source": [ + "data_parts = LitData(\n", + " config,\n", + " yield_img_id=True,\n", + " yield_orig_shape=True,\n", + " part_annotations=True,\n", + " num_workers=0, # due to notebook multiprocessing issues\n", + ")\n", + "data_parts.setup()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## Choose one of these options to run" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f60c019", + "metadata": {}, + "outputs": [], + "source": [ + "pixel_space_method = 'bbox'\n", + "# pixel_space_method = 'upsample'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34e291cd", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "consistency_score_soft, consistency_score_hard = consistency(\n", + " model=model.model,\n", + " data=data_parts.test_dataloader(),\n", + " config=config,\n", + " parts=data_parts.test.df_parts,\n", + " metadata=data_parts.test.data,\n", + " method=pixel_space_method,\n", + ")\n", + "print(f'consistency_score_soft={consistency_score_soft}\\n'\n", + " f'consistency_score_hard={consistency_score_hard}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34118876", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "stability_score_soft, stability_score = stability(\n", + " model=model.model,\n", + " data=data_parts.test_dataloader(),\n", + " config=config,\n", + " parts=data_parts.test.df_parts,\n", + " metadata=data_parts.test.data,\n", + " method=pixel_space_method,\n", + ")\n", + "print(f'stability_score_soft={stability_score_soft}\\n'\n", + " f'stability_score ={stability_score}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb43103f", + "metadata": {}, + "outputs": [], + "source": [ + "data = LitData(config, num_workers=0)\n", + "data.setup()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cbee463e", + "metadata": {}, + "outputs": [], + "source": [ + "rot_viz_dir = osp.join(logdir, 'rot_data_viz')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44387587", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "rot_results = {}\n", + "\n", + "# NOTE: Reduce num_samples and/or prop_pixels to speed this up\n", + "rot_params = dict(\n", + " num_samples=50,\n", + " normalized=False,\n", + " prop_pixels=1.,\n", + " same_class=True,\n", + " zeros=False, # if false, use a random image\n", + " seed=4, # for consistency between methods\n", + ")\n", + "\n", + "rot_save_dir = osp.join(logdir, 'rot_data')\n", + "os.makedirs(rot_save_dir, exist_ok=True)\n", + "\n", + "save_basename = f'{config.dataset.name}'\n", + "for k, v in rot_params.items():\n", + " if isinstance(v, float):\n", + " if v.is_integer():\n", + " v = str(int(v))\n", + " else:\n", + " v = f'{v:.5f}'\n", + " save_basename += f'__{k}-{v}'\n", + "\n", + "for method in [\n", + " 'rf',\n", + " 'upscale',\n", + " 'random',\n", + " 'prp',\n", + "]:\n", + " print(f'Begin method = {method}')\n", + "\n", + " rot_save_path = osp.join(rot_save_dir, save_basename + f'__method-{method}.pt')\n", + " print(rot_save_path)\n", + "\n", + " if osp.exists(rot_save_path):\n", + " print('Load results from', rot_save_path)\n", + " rot_results[method] = torch.load(rot_save_path)\n", + " elif method == 'prp':\n", + " print(f'WARNING: prp result is missing from {rot_save_path}! Ensure you '\n", + " f'have gathered it with the companion interpretability_evaluation_prp.ipynb notebook.')\n", + " else:\n", + " cum_sims, cum_sims_agg = relevance_ordering_test(\n", + " model=model.model,\n", + " data=data.test_dataloader(),\n", + " method=method,\n", + " savedir_for_viz=rot_viz_dir,\n", + " **rot_params,\n", + " )\n", + " rot_results[method] = {\n", + " 'cum_sims': cum_sims,\n", + " 'cum_sims_agg': cum_sims_agg,\n", + " }\n", + " print('Save to', rot_save_path)\n", + " torch.save(rot_results[method], rot_save_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "222b1475", + "metadata": {}, + "outputs": [], + "source": [ + "% matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "944cb0e5", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import rc\n", + "import seaborn as sns\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "sns.set(\n", + " context='talk',\n", + " style='ticks',\n", + " font_scale=0.5,\n", + ")\n", + "\n", + "rc('font', **{\n", + " 'family': 'serif',\n", + " 'sans-serif': ['Times']\n", + "})\n", + "rc('text', usetex=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b732c24b", + "metadata": {}, + "outputs": [], + "source": [ + "from pixpnet.data import get_metadata\n", + "\n", + "metadata = get_metadata(config)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad353f78", + "metadata": {}, + "outputs": [], + "source": [ + "from pixpnet.symbolic.models import compute_rf_data\n", + "\n", + "_, rf_data = compute_rf_data(config.model.feature_extractor,\n", + " metadata.input_size, metadata.input_size,\n", + " num_classes=1)\n", + "rf_layer = rf_data[config.model.feature_layer]\n", + "rf_hcc_lens = [len(hcc) for hcc in rf_layer.flat]\n", + "im_size = metadata.input_size ** 2\n", + "\n", + "mean_rf_pct = np.mean(rf_hcc_lens) / im_size * 100" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2f45415", + "metadata": {}, + "outputs": [], + "source": [ + "dfs = []\n", + "\n", + "for method, scores in rot_results.items():\n", + " cum_sims_agg = scores['cum_sims_agg']\n", + " pcts = np.arange(len(cum_sims_agg)) / (metadata.input_size ** 2) * 100\n", + "\n", + " # area above the baseline similarity value\n", + " # [0] is the baseline similarity value (all random) - used as min\n", + " # [-1] is the original similarity value - used as max\n", + " # it is possible for area to be negative or positive\n", + " area = np.trapz(x=pcts / 100, y=(cum_sims_agg - cum_sims_agg[0]) / (cum_sims_agg[-1] - cum_sims_agg[0]))\n", + "\n", + " # pct at which we hit/surpass the original similarity score\n", + " past_orig_sim_idx = np.where(cum_sims_agg >= cum_sims_agg[-1])[0][0]\n", + " pct_orig_sim_point = pcts[past_orig_sim_idx]\n", + "\n", + " print(f'{method} area = {area} | pct@orig. sim = {pct_orig_sim_point:.3f}%')\n", + "\n", + " df_m = pd.DataFrame({\n", + " 'Mean Prototype Similarity': cum_sims_agg,\n", + " '\\% Pixels Added Back': pcts,\n", + " 'Method': method,\n", + " })\n", + " dfs.append(df_m)\n", + "\n", + "if dfs:\n", + " df = pd.concat(dfs, ignore_index=True)\n", + "\n", + " df['Method'] = df['Method'].replace({\n", + " 'rf': 'Ours',\n", + " 'upscale': 'Upsample',\n", + " 'random': 'Random',\n", + " 'prp': 'PRP',\n", + " })\n", + "\n", + " hue_order = ['Random', 'Ours', 'Upsample']\n", + " if ('PRP' == df['Method']).any():\n", + " hue_order.append('PRP')\n", + " g = sns.relplot(\n", + " data=df,\n", + " x='\\% Pixels Added Back',\n", + " y='Mean Prototype Similarity',\n", + " hue='Method',\n", + " hue_order=hue_order,\n", + " kind='line',\n", + " aspect=1.4,\n", + " )\n", + " ylim = g.ax.get_ylim()\n", + " g.ax.plot([mean_rf_pct, mean_rf_pct], [ylim[0], ylim[1]], 'k--', label='Mean Receptive Field of Layer')\n", + " g.ax.set_ylim(ylim)\n", + "\n", + " # Uncomment to save figure\n", + " # !mkdir -p ../ figures\n", + " # save_basename = f'../figures/rot_{config.model.feature_extractor}_{config.model.feature_layer}'\n", + " # g.savefig(f'{save_basename}.pdf')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ngn", + "language": "python", + "name": "ngn" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/interpretability_evaluation_prp.ipynb b/notebooks/interpretability_evaluation_prp.ipynb new file mode 100644 index 0000000..de0e661 --- /dev/null +++ b/notebooks/interpretability_evaluation_prp.ipynb @@ -0,0 +1,180 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "35a185ef", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import os.path as osp\n", + "\n", + "import torch\n", + "\n", + "try:\n", + " import pixpnet\n", + "except ImportError:\n", + " import sys\n", + "\n", + " sys.path.append('..')\n", + "\n", + " import pixpnet\n", + "finally:\n", + " from pixpnet.lightning.lightning_data import LitData\n", + " from pixpnet.protonets.evaluate import relevance_ordering_test\n", + " from pixpnet.protonets.utils import load_config_and_best_model\n", + " from pixpnet.protonets.prp.prp import prp_canonized_model" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# To Run\n", + "Replace `logdir` with the path to your log directory (relative to the notebook). A template format is shown below.\n", + "\n", + "This notebook generates data that can then be visualized in the `interpretability_evaluation.ipynb` notebook. It needs\n", + "to be run separately due to the in-place modifications the PRP codebase does to the ProtoPartNN objects." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48b7d3e0", + "metadata": {}, + "outputs": [], + "source": [ + "logdir = '/path/to/logs/protonet/dataset/protonet/timestamp'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcfeca86", + "metadata": {}, + "outputs": [], + "source": [ + "config, model = load_config_and_best_model(logdir)\n", + "print(config.model.feature_extractor, config.model.feature_layer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "290c319c", + "metadata": {}, + "outputs": [], + "source": [ + "model = model.eval().to('cuda')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "babf7c41", + "metadata": {}, + "outputs": [], + "source": [ + "prp_model = prp_canonized_model(model.model, config)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fb43103f", + "metadata": {}, + "outputs": [], + "source": [ + "data = LitData(config, num_workers=0)\n", + "data.setup()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44387587", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "rot_results = {}\n", + "\n", + "# NOTE: Reduce num_samples and/or prop_pixels to speed this up\n", + "rot_params = dict(\n", + " num_samples=50,\n", + " normalized=False,\n", + " prop_pixels=1.,\n", + " same_class=True,\n", + " zeros=False, # if false, use a random image\n", + " seed=4, # for consistency between methods\n", + ")\n", + "\n", + "rot_save_dir = osp.join(logdir, 'rot_data')\n", + "os.makedirs(rot_save_dir, exist_ok=True)\n", + "\n", + "save_basename = f'{config.dataset.name}'\n", + "for k, v in rot_params.items():\n", + " if isinstance(v, float):\n", + " if v.is_integer():\n", + " v = str(int(v))\n", + " else:\n", + " v = f'{v:.5f}'\n", + " save_basename += f'__{k}-{v}'\n", + "\n", + "for method in [\n", + " 'prp',\n", + "]:\n", + " if method != 'prp':\n", + " print('You aren\\'t running prp...make sure you know that you\\'re doing...')\n", + "\n", + " print(f'Begin method = {method}')\n", + "\n", + " rot_save_path = osp.join(rot_save_dir, save_basename + f'__method-{method}.pt')\n", + "\n", + " if osp.exists(rot_save_path):\n", + " print('Load results from', rot_save_path)\n", + " rot_results[method] = torch.load(rot_save_path)\n", + " else:\n", + " cum_sims, cum_sims_agg = relevance_ordering_test(\n", + " model=model.model,\n", + " data=data.test_dataloader(),\n", + " method=method,\n", + " config=config,\n", + " **rot_params,\n", + " )\n", + " rot_results[method] = {\n", + " 'cum_sims': cum_sims,\n", + " 'cum_sims_agg': cum_sims_agg,\n", + " }\n", + "\n", + " print('Save to', rot_save_path)\n", + " torch.save(rot_results[method], rot_save_path)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ngn", + "language": "python", + "name": "ngn" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/rf_accuracy_analysis.ipynb b/notebooks/rf_accuracy_analysis.ipynb new file mode 100644 index 0000000..6b8ba75 --- /dev/null +++ b/notebooks/rf_accuracy_analysis.ipynb @@ -0,0 +1,328 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "% matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sns.set(\n", + " style='ticks',\n", + " context='talk',\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import rc\n", + "\n", + "rc('font', **{\n", + " 'family': 'serif',\n", + " 'sans-serif': ['Times']\n", + "})\n", + "rc('text', usetex=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# To Run\n", + "Be sure to replace `hackjob_results_.csv` with the path to the result of running `scripts/hackjobs.py`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import os.path as osp\n", + "import re\n", + "\n", + "dirname = osp.join('..', 'results', 'hackjob')\n", + "filenames = [\n", + " 'hackjob_results_.csv',\n", + "]\n", + "df_hackjob = pd.concat([\n", + " pd.read_csv(osp.join(dirname, filename)).rename(\n", + " columns={'Test Accuracy Epoch': 'Test Accuracy',\n", + " 'Test Accuracy Top5 Epoch': 'Test Accuracy Top5'})\n", + " for filename in filenames\n", + "], ignore_index=True)\n", + "\n", + "\n", + "def model_sort(value):\n", + " match = re.search(r'^([^\\d]*)(\\d+).*$', value)\n", + " if match is None:\n", + " return (value, 0)\n", + " name, num = match.groups()\n", + " return (name, int(num))\n", + "\n", + "\n", + "df_hackjob.sort_values(by=['Dataset', 'Model'], inplace=True,\n", + " key=lambda col: col.apply(model_sort))\n", + "df_hackjob" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_sub = df_hackjob[['Model', 'Stage Name']]\n", + "for model, df_sub_model in df_sub.groupby('Model'):\n", + " print(' ', model.replace('_', r'\\_'), '&', ','.join(df_sub_model['Stage Name'].values).replace('_', r'\\_'),\n", + " r'\\\\')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "root_dir = osp.dirname(osp.realpath('.'))\n", + "try:\n", + " import pixpnet\n", + "except ImportError:\n", + " import sys\n", + "\n", + " sys.path.append(root_dir)\n", + "\n", + " import pixpnet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from pixpnet.symbolic import models as sym_models\n", + "\n", + "\n", + "def compute_rf_stats(model_name, height, width, stage_names):\n", + " out, intermediates = sym_models.compute_rf_data(\n", + " model_name, height, width, num_classes=1)\n", + " assert all(name in intermediates for name in stage_names), (\n", + " stage_names, intermediates.keys())\n", + "\n", + " stats = []\n", + " for stage_name in stage_names:\n", + " intermediate = intermediates[stage_name]\n", + " if getattr(intermediate, 'identical_channels', False):\n", + " intermediate = intermediate[:, 0]\n", + " intermediate = intermediate.flatten()\n", + " inter_inp_symbols_lens = [*map(len, intermediate)]\n", + " stats.append(np.mean(inter_inp_symbols_lens))\n", + " return stats # Patch Sizes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def assert_same(df, col):\n", + " uniq_col = df.loc[:, col].unique()\n", + " assert len(uniq_col) == 1, f'{col} is not unique with {len(uniq_col)} values: {uniq_col}'\n", + " return uniq_col[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df_hackjob = df_hackjob[~df_hackjob.loc[:, 'Stage Name'].isin({'norm0', 'norm5'})] # fix for densenets\n", + "patch_sizes = []\n", + "for (ds_name, model_name), df_ds_model in df_hackjob.groupby(\n", + " ['Dataset', 'Model'], sort=False):\n", + " print(model_name)\n", + " height = assert_same(df_ds_model, 'Height')\n", + " width = assert_same(df_ds_model, 'Width')\n", + " stage_names = df_ds_model['Stage Name']\n", + " patch_sizes.extend(compute_rf_stats(\n", + " model_name, height, width, stage_names))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = df_hackjob.copy()\n", + "df['Patch Size'] = patch_sizes\n", + "df['Size'] = df['Height'] * df['Width']\n", + "df['Image Size'] = df['Height'].astype(str) + ' × ' + df['Width'].astype(str)\n", + "df['Patch % of Image'] = df['Patch Size'] / df['Size'] * 100\n", + "stage_num_normed = []\n", + "for _, df_model in df.groupby(['Dataset', 'Model'], sort=False):\n", + " stage_num_normed.append(\n", + " (df_model['Stage #'] - df_model['Stage #'].min()) /\n", + " (df_model['Stage #'].max() - df_model['Stage #'].min())\n", + " )\n", + "df['Stage # Norm'] = pd.concat(stage_num_normed, ignore_index=True)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "g = sns.relplot(\n", + " data=df,\n", + " x='Patch % of Image',\n", + " y='Test Accuracy',\n", + " hue='Model',\n", + " style='Model',\n", + " markers=True,\n", + " kind='scatter',\n", + " row='Dataset',\n", + " height=8,\n", + " s=200,\n", + ")\n", + "g.set(xscale='log')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pixpnet.utils import is_pareto_efficient\n", + "\n", + "df['Pareto Rank'] = -1\n", + "df_running = df\n", + "rank = 1\n", + "max_rank = np.inf\n", + "while len(df_running) and not rank >= max_rank:\n", + " nd_mask = is_pareto_efficient(\n", + " df_running[['Test Accuracy', 'Patch % of Image']].values,\n", + " maximize=[True, False],\n", + " )\n", + " df.loc[df_running.index[nd_mask], 'Pareto Rank'] = rank\n", + " df_running = df_running[~nd_mask]\n", + " rank += 1\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from adjustText import adjust_text\n", + "\n", + "df_tex = df.copy()\n", + "df_tex['Model'] = df_tex['Model'].apply(\n", + " lambda s: re.sub(r'vgg(\\d+)_bn', r'vgg\\1', s))\n", + "df_tex['Model'] = df_tex['Model'].str.replace('_', '\\\\_')\n", + "\n", + "g = sns.relplot(\n", + " data=df_tex[df_tex['Pareto Rank'] < 2],\n", + " x='Patch % of Image',\n", + " y='Test Accuracy',\n", + " hue='Model',\n", + " style='Model',\n", + " markers=True,\n", + " kind='scatter',\n", + " height=6,\n", + " s=250,\n", + ")\n", + "\n", + "\n", + "def maybe_int(v):\n", + " try:\n", + " return int(v)\n", + " except ValueError:\n", + " return v\n", + "\n", + "\n", + "for ax in g.axes.flat:\n", + " df_nd = df_tex[df_tex['Pareto Rank'] == 1]\n", + " df_nd_sort = df_nd.sort_values(by=g._x_var)\n", + " ax.step(df_nd_sort[g._x_var], df_nd_sort[g._y_var], c='gray', linestyle='--',\n", + " linewidth=1.5, where='post')\n", + " texts = []\n", + " for i in df_nd.index:\n", + " txt = ax.text(\n", + " df_nd.loc[i, g._x_var] + 2.5,\n", + " df_nd.loc[i, g._y_var],\n", + " df_nd.loc[i, 'Stage Name'],\n", + " horizontalalignment='left',\n", + " size='small', color='black'\n", + " )\n", + " texts.append(txt)\n", + " adjust_text(texts, only_move={'points': 'y', 'texts': 'y'},\n", + " arrowprops=dict(arrowstyle=\"-\", color='gray', lw=1))\n", + "\n", + " ax.set_xlabel('Mean Receptive Field Size (\\\\%)')\n", + "\n", + "# Uncomment to save figure\n", + "# !mkdir -p ../ figures\n", + "# g.savefig('../figures/imagenette_rf_vs_accuracy_pareto_front.pdf')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ngn", + "language": "python", + "name": "ngn" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/pixpnet/__init__.py b/pixpnet/__init__.py new file mode 100644 index 0000000..10445ab --- /dev/null +++ b/pixpnet/__init__.py @@ -0,0 +1,3 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/pixpnet/data.py b/pixpnet/data.py new file mode 100644 index 0000000..8b82bef --- /dev/null +++ b/pixpnet/data.py @@ -0,0 +1,509 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: MIT + +import os.path as osp +from collections import namedtuple +from typing import Dict, List, Tuple + +import pandas as pd +import torch +from torch.utils import data +from torchvision import datasets, transforms +from torchvision.datasets.folder import default_loader +from torchvision.datasets.utils import download_url +from torchvision.transforms.functional import get_dimensions + +import pixpnet +from pixpnet import dataset_labels +from pixpnet.utils import get_logger + +logger = get_logger(__name__) + +ROOT_DIR = osp.dirname(osp.dirname(osp.realpath(pixpnet.__file__))) +DATA_DIR = osp.join(ROOT_DIR, "data") + +DATA_MEAN_STD = { + "IMAGENET": ((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)), + "IMAGENETTE": ((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)), + "CUB200": ((0.4862, 0.5005, 0.4334), (0.2321, 0.2277, 0.2665)), + "CUB200224": ((0.4862, 0.5005, 0.4334), (0.2321, 0.2277, 0.2665)), + "CUB200BBOX": ((0.4862, 0.5005, 0.4334), (0.2321, 0.2277, 0.2665)), + "CUB200224BBOX": ((0.4862, 0.5005, 0.4334), (0.2321, 0.2277, 0.2665)), + "CARS224": ((0.4708, 0.4602, 0.4550), (0.2891, 0.2882, 0.2967)), + "CIFAR10": ((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), +} + +DATA_CHANNELS = {} +# BIST +for _ds, (_mean, _std) in DATA_MEAN_STD.items(): + assert len(_mean) == len(_std) + DATA_CHANNELS[_ds] = len(_mean) + +DATA_NUM_OUTPUTS = { + "IMAGENET": 1000, + "IMAGENETTE": 10, + "CUB200": 200, + "CUB200224": 200, + "CUB200BBOX": 200, + "CUB200224BBOX": 200, + "CARS224": 196, + "CIFAR10": 10, +} + +DATA_CROP_AND_PAD = { + "IMAGENET": (224, None), + "IMAGENETTE": (224, None), + # https://github.com/chou141253/FGVC-PIM/blob/master/configs/AICUP_SwinT.yaml + "CUB200": (384, None), + "CUB200224": (384, None), + "CUB200BBOX": (None, None), + "CUB200224BBOX": (224, None), + "CARS224": (None, None), + "CIFAR10": (32, 4), +} + +DATA_RESIZE = { + "CUB200": 510, + "CUB200224": 510, + "CUB200224BBOX": 224, + "CARS224": 224, +} + +DATA_DOWNSAMPLE = { + "CUB200224": 224, + "CARS224": 224, + "CUB200BBOX": 384, +} + +LABEL_NAMES = { + "IMAGENET": dataset_labels.imagenet_labels, + "IMAGENETTE": dataset_labels.imagenette_labels, + "CUB200": dataset_labels.cub200_labels, + "CUB200224": dataset_labels.cub200_labels, + "CARS224": dataset_labels.cars_labels, + "CUB200BBOX": dataset_labels.cub200_labels, + "CUB200224BBOX": dataset_labels.cub200_labels, + "CIFAR10": dataset_labels.cifar10_labels, +} + +DatasetMeta = namedtuple("DatasetMeta", "output_size,input_channels,input_size,label_names") + + +def _get_input_size(dataset): + input_size = DATA_DOWNSAMPLE.get(dataset, DATA_CROP_AND_PAD.get(dataset, (None, None))[0]) + return input_size + + +# noinspection PyPep8Naming +class CUB200_2011(data.Dataset): + """Adapted from + https://github.com/lvyilin/pytorch-fgvc-dataset/blob/master/LICENSE""" + + base_folder = "CUB_200_2011/images" + url = "https://data.caltech.edu/records/65de6-vp158/files/CUB_200_2011.tgz" + filename = "CUB_200_2011.tgz" + tgz_md5 = "97eceeb196236b17998738112f37df78" + + def __init__( + self, + root, + train=True, + transform=None, + loader=default_loader, + download=True, + yield_img_id=False, + yield_orig_shape=False, + crop_to_bbox=False, + part_annotations=False, + ): + self.root = osp.expanduser(root) + self.transform = transform + self.loader = loader + self.train = train + self.crop_to_bbox = crop_to_bbox + self.part_annotations = part_annotations + self.yield_img_id = yield_img_id + self.yield_orig_shape = yield_orig_shape + + if download: + self._download() + + if not self._check_integrity(): + raise RuntimeError("Dataset not found or corrupted. You can use " "download=True to download it") + + def _load_metadata(self): + df_images = pd.read_csv( + osp.join(self.root, "CUB_200_2011", "images.txt"), sep=" ", names=["img_id", "filepath"] + ) + df_image_class_labels = pd.read_csv( + osp.join(self.root, "CUB_200_2011", "image_class_labels.txt"), sep=" ", names=["img_id", "target"] + ) + df_train_test_split = pd.read_csv( + osp.join(self.root, "CUB_200_2011", "train_test_split.txt"), sep=" ", names=["img_id", "is_training_img"] + ) + + self.data = df_images.merge(df_image_class_labels, on="img_id") + self.data = self.data.merge(df_train_test_split, on="img_id") + + if self.crop_to_bbox: + df_bbox = pd.read_csv( + osp.join(self.root, "CUB_200_2011", "bounding_boxes.txt"), sep=" ", names=["img_id", "x", "y", "w", "h"] + ) + df_bbox_int = df_bbox.astype(int) + assert (df_bbox == df_bbox_int).all().all() + self.data = self.data.merge(df_bbox_int, on="img_id") + + if self.part_annotations: + # + df_parts = pd.read_csv( + osp.join(self.root, "CUB_200_2011", "parts", "part_locs.txt"), + sep=" ", + names=["img_id", "part_id", "x", "y", "visible"], + ) + df_parts_int = df_parts.astype(int) + assert (df_parts.astype(float) == df_parts_int).all().all() + df_parts = df_parts_int + df_parts["part_id_orig"] = df_parts["part_id"] + df_parts["part_id"] -= 1 + df_parts["part_id"] = df_parts["part_id"].replace( + { + 0: 0, # back + 1: 1, # beak + 2: 2, # belly + 3: 3, # breast + 4: 4, # crown + 5: 5, # forehead + 6: 6, # eye + 7: 7, # leg + 8: 8, # wing + 9: 9, # nape + 10: 6, + 11: 7, + 12: 8, + 13: 10, # tail + 14: 11, # throat + } + ) + self.df_parts = df_parts + else: + self.df_parts = None + + if self.train: + self.data = self.data[self.data.is_training_img == 1] + else: + self.data = self.data[self.data.is_training_img == 0] + + def _check_integrity(self): + try: + self._load_metadata() + except Exception: # noqa + return False + + for index, row in self.data.iterrows(): + filepath = osp.join(self.root, self.base_folder, row.filepath) + if not osp.isfile(filepath): + logger.warning(f"{filepath} is not a file...") + return False + return True + + def _download(self): + import tarfile + + if self._check_integrity(): + logger.info(f"{type(self).__name__} Files already downloaded and " f"verified") + return + + download_url(self.url, self.root, self.filename, self.tgz_md5) + + with tarfile.open(osp.join(self.root, self.filename), "r:gz") as tar: + tar.extractall(path=self.root) + + def __len__(self): + return len(self.data) + + def __getitem__(self, idx): + sample = self.data.iloc[idx] + path = osp.join(self.root, self.base_folder, sample.filepath) + # Targets start at 1 by default, so shift to 0 + target = sample.target - 1 + img = self.loader(path) + + if self.yield_orig_shape: + orig_shape = torch.tensor(get_dimensions(img)) + + if self.crop_to_bbox: + img = img.crop((sample.x, sample.y, sample.x + sample.w, sample.y + sample.h)) + + if self.transform is not None: + img = self.transform(img) + + if self.yield_img_id: + if self.yield_orig_shape: + return sample.img_id, orig_shape, img, target + return sample.img_id, img, target + elif self.yield_orig_shape: + return orig_shape, img, target + return img, target + + +class RepeatDataset(data.Dataset): + def __init__(self, dataset, repeat_factor=2): + self.dataset = dataset + self.repeat_factor = repeat_factor + + def __len__(self): + return round(len(self.dataset) * self.repeat_factor) + + def __getitem__(self, idx): + if idx < 0: + assert abs(idx) - 1 < len(self) + else: + assert idx < len(self) + + idx = idx % len(self.dataset) + return self.dataset[idx] + + +class SubsetWithIdx(data.Subset): + def __getitem__(self, idx): + if isinstance(idx, list): + orig_idxs = [self._get_orig_idx(i) for i in idx] + return [*zip(orig_idxs, *zip(*self.dataset[orig_idxs]))] + orig_idx = self._get_orig_idx(idx) + return (orig_idx, *self.dataset[orig_idx]) + + def _get_orig_idx(self, idx, dataset=None): + if dataset is None: + dataset = self.dataset + if isinstance(dataset, data.Subset): + return self._get_orig_idx(self.indices[idx], dataset.dataset) + else: + return self.indices[idx] + + +class ImageNette(datasets.ImageNet): + # tench, English springer, cassette player, chain saw, church, French horn, + # garbage truck, gas pump, golf ball, parachute + class_subset = [ + "n01440764", + "n02102040", + "n02979186", + "n03000684", + "n03028079", + "n03394916", + "n03417042", + "n03425413", + "n03445777", + "n03888257", + ] + + def find_classes(self, directory: str) -> Tuple[List[str], Dict[str, int]]: + classes, class_to_idx = super().find_classes(directory) + classes = self.class_subset + assert all(cls in class_to_idx for cls in classes) + class_to_idx = {k: classes.index(k) for k in classes} + return classes, class_to_idx + + +class ConditionalResize(transforms.Resize): + """ + Resize transform but only if the input is smaller than the resize dims + """ + + @property + def resize_height(self): + return self.size if isinstance(self.size, int) else self.size[0] + + @property + def resize_width(self): + return self.size if isinstance(self.size, int) else self.size[1] + + def forward(self, img): + """ + Args: + img (PIL Image or Tensor): Image to be scaled. + + Returns: + PIL Image or Tensor: Rescaled image. + """ + r_h, r_w = self.resize_height, self.resize_width + if isinstance(img, torch.Tensor): + h, w = img.shape[1:] + else: # PIL Image + w, h = img.size + if w < r_w or h < r_h: + return super().forward(img) + else: + return img + + +def get_image_data_transform(normalize, augment, dataset): + """ + Augmentations from SOTA (w/o additional data) + https://github.com/chou141253/FGVC-PIM/blob/master/data/dataset.py + """ + mean, std = DATA_MEAN_STD[dataset] + crop_size, padding = DATA_CROP_AND_PAD[dataset] + resize = DATA_RESIZE.get(dataset) + downsample = DATA_DOWNSAMPLE.get(dataset) + + # ensure minimum image size is at least crop_size on both dimensions + transform_list: List = [ConditionalResize(crop_size)] if crop_size and (not resize or resize < crop_size) else [] + + if resize: + if crop_size: + transform_list.append(transforms.Resize(resize, transforms.InterpolationMode.BILINEAR)) + else: + transform_list.append(transforms.Resize((resize, resize), transforms.InterpolationMode.BILINEAR)) + + if augment: + transform_list.extend( + [ + transforms.RandomApply( + [transforms.GaussianBlur(kernel_size=(5, 5), sigma=(0.1, 5))], + p=0.1, + ), + transforms.RandomAdjustSharpness(sharpness_factor=1.5, p=0.1), + transforms.RandomApply([transforms.RandomRotation(15)], p=1 / 3), + transforms.RandomPerspective(p=1 / 3, distortion_scale=0.2), + transforms.RandomApply([transforms.RandomAffine(0, shear=10)], p=1 / 3), + transforms.RandomHorizontalFlip(0.5), + ] + ) + if crop_size: + transform_list.append( + transforms.RandomResizedCrop(crop_size) + if not padding + else transforms.RandomCrop(crop_size, padding=padding) + ) + else: + if crop_size: + transform_list.extend([transforms.CenterCrop(crop_size)]) + + if downsample: + transform_list.append(transforms.Resize((downsample, downsample), transforms.InterpolationMode.BILINEAR)) + + transform_list.append(transforms.ToTensor()) + if normalize: + transform_list.append(transforms.Normalize(mean, std)) + + return transforms.Compose(transform_list) + + +def get_transform(dataset, normalize=False, augment=False): + dataset = dataset.upper() + if dataset not in DATA_MEAN_STD: + logger.info(f"Will not apply any dataset transforms to {dataset}") + transform = transforms.Compose([]) + else: + transform = get_image_data_transform(normalize, augment, dataset) + return transform + + +def get_datasets(config, normalize=True, augment=True, do_transforms=True, **kwargs): + """Function to get pytorch dataloader objects + Args: + config: Namespace, config + normalize: bool, Data normalization switch + augment: bool, Data augmentation switch + do_transforms: bool, Data transforms switch + Returns: + ds_train: Pytorch dataset object with training data + ds_val: Pytorch dataset object with validation data + ds_test: Pytorch dataset object with testing data + """ + dataset_name = config.dataset.name.upper().replace("-", "") + transform_train = get_transform(dataset_name, normalize, augment) + transform_test = get_transform(dataset_name, normalize, False) + + data_root = config.dataset.root or DATA_DIR + data_root = osp.join(data_root, dataset_name.lower()) + + kwargs_train = {"root": data_root, "download": True} + kwargs_test = kwargs_train.copy() + + if dataset_name == "IMAGENET": + ds_cls = datasets.ImageNet + kwargs_train.pop("download") + kwargs_test.pop("download") + kwargs_train["split"] = "train" + kwargs_test["split"] = "val" + elif dataset_name == "IMAGENETTE": + ds_cls = ImageNette + kwargs_train.pop("download") + kwargs_test.pop("download") + kwargs_train["split"] = "train" + kwargs_test["split"] = "val" + elif dataset_name == "CARS224": + ds_cls = datasets.StanfordCars + kwargs_train["split"] = "train" + kwargs_test["split"] = "test" + elif dataset_name.startswith("CUB200"): + assert dataset_name in DATA_CROP_AND_PAD, dataset_name + ds_cls = CUB200_2011 + if dataset_name in {"CUB200BBOX", "CUB200224BBOX"}: + kwargs_train["crop_to_bbox"] = True + kwargs_test["crop_to_bbox"] = True + kwargs_train["train"] = True + kwargs_test["train"] = False + elif dataset_name == "CIFAR10": + ds_cls = datasets.CIFAR10 + kwargs_train["train"] = True + kwargs_test["train"] = False + else: + raise NotImplementedError(f"Dataset {dataset_name} not implemented in " f"get_datasets()") + + if do_transforms: + kwargs_train["transform"] = transform_train + kwargs_test["transform"] = transform_test + + # hasattr for legacy configs + if hasattr(config.dataset, "crop_to_bbox") and config.dataset.crop_to_bbox: + kwargs_train["crop_to_bbox"] = True + kwargs_test["crop_to_bbox"] = True + + ds_train = ds_cls(**kwargs_train, **kwargs) + ds_test = ds_cls(**kwargs_test, **kwargs) + + val_len = round(len(ds_train) * config.dataset.val_size) + if val_len != 0: + train_len = len(ds_train) - val_len + ds_train, ds_val = data.random_split(ds_train, [train_len, val_len]) + else: + ds_train = data.Subset(ds_train, [*range(len(ds_train))]) + ds_val = None + + if config.debug: + n_debug_batches = 3 + logger.warning( + "--config.debug enabled. Reducing the size of the " f"dataset to {n_debug_batches} batches worth." + ) + debug_indices = [*range(n_debug_batches * config.train.batch_size)] + ds_train = data.Subset(ds_train, debug_indices) + debug_indices = [*range(n_debug_batches * config.test.batch_size)] + ds_val = data.Subset(ds_val, debug_indices) + ds_test = data.Subset(ds_test, debug_indices) + + ds_train_repeat = RepeatDataset(ds_train, repeat_factor=config.dataset.augment_factor) + + if config.dataset.needs_unaugmented: + if do_transforms: + kwargs_train["transform"] = transform_test + # ds_train is Subset, reuse its indices + ds_train_no_aug = SubsetWithIdx(ds_cls(**kwargs_train, **kwargs), ds_train.indices) + return ds_train_repeat, ds_train_no_aug, ds_val, ds_test + + return ds_train_repeat, ds_val, ds_test + + +def get_metadata(config): + dataset = config.dataset.name.upper().replace("-", "") + metadata = DatasetMeta( + output_size=DATA_NUM_OUTPUTS[dataset], + input_channels=DATA_CHANNELS[dataset], + input_size=_get_input_size(dataset), + label_names=LABEL_NAMES.get(dataset), + ) + return metadata diff --git a/pixpnet/dataset_labels.py b/pixpnet/dataset_labels.py new file mode 100644 index 0000000..e3ffefa --- /dev/null +++ b/pixpnet/dataset_labels.py @@ -0,0 +1,1419 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +imagenet_labels = [ + "tench", + "goldfish", + "great white shark", + "tiger shark", + "hammerhead", + "electric ray", + "stingray", + "cock", + "hen", + "ostrich", + "brambling", + "goldfinch", + "house finch", + "junco", + "indigo bunting", + "robin", + "bulbul", + "jay", + "magpie", + "chickadee", + "water ouzel", + "kite", + "bald eagle", + "vulture", + "great grey owl", + "European fire salamander", + "common newt", + "eft", + "spotted salamander", + "axolotl", + "bullfrog", + "tree frog", + "tailed frog", + "loggerhead", + "leatherback turtle", + "mud turtle", + "terrapin", + "box turtle", + "banded gecko", + "common iguana", + "American chameleon", + "whiptail", + "agama", + "frilled lizard", + "alligator lizard", + "Gila monster", + "green lizard", + "African chameleon", + "Komodo dragon", + "African crocodile", + "American alligator", + "triceratops", + "thunder snake", + "ringneck snake", + "hognose snake", + "green snake", + "king snake", + "garter snake", + "water snake", + "vine snake", + "night snake", + "boa constrictor", + "rock python", + "Indian cobra", + "green mamba", + "sea snake", + "horned viper", + "diamondback", + "sidewinder", + "trilobite", + "harvestman", + "scorpion", + "black and gold garden spider", + "barn spider", + "garden spider", + "black widow", + "tarantula", + "wolf spider", + "tick", + "centipede", + "black grouse", + "ptarmigan", + "ruffed grouse", + "prairie chicken", + "peacock", + "quail", + "partridge", + "African grey", + "macaw", + "sulphur-crested cockatoo", + "lorikeet", + "coucal", + "bee eater", + "hornbill", + "hummingbird", + "jacamar", + "toucan", + "drake", + "red-breasted merganser", + "goose", + "black swan", + "tusker", + "echidna", + "platypus", + "wallaby", + "koala", + "wombat", + "jellyfish", + "sea anemone", + "brain coral", + "flatworm", + "nematode", + "conch", + "snail", + "slug", + "sea slug", + "chiton", + "chambered nautilus", + "Dungeness crab", + "rock crab", + "fiddler crab", + "king crab", + "American lobster", + "spiny lobster", + "crayfish", + "hermit crab", + "isopod", + "white stork", + "black stork", + "spoonbill", + "flamingo", + "little blue heron", + "American egret", + "bittern", + "crane (bird)", + "limpkin", + "European gallinule", + "American coot", + "bustard", + "ruddy turnstone", + "red-backed sandpiper", + "redshank", + "dowitcher", + "oystercatcher", + "pelican", + "king penguin", + "albatross", + "grey whale", + "killer whale", + "dugong", + "sea lion", + "Chihuahua", + "Japanese spaniel", + "Maltese dog", + "Pekinese", + "Shih-Tzu", + "Blenheim spaniel", + "papillon", + "toy terrier", + "Rhodesian ridgeback", + "Afghan hound", + "basset", + "beagle", + "bloodhound", + "bluetick", + "black-and-tan coonhound", + "Walker hound", + "English foxhound", + "redbone", + "borzoi", + "Irish wolfhound", + "Italian greyhound", + "whippet", + "Ibizan hound", + "Norwegian elkhound", + "otterhound", + "Saluki", + "Scottish deerhound", + "Weimaraner", + "Staffordshire bullterrier", + "American Staffordshire terrier", + "Bedlington terrier", + "Border terrier", + "Kerry blue terrier", + "Irish terrier", + "Norfolk terrier", + "Norwich terrier", + "Yorkshire terrier", + "wire-haired fox terrier", + "Lakeland terrier", + "Sealyham terrier", + "Airedale", + "cairn", + "Australian terrier", + "Dandie Dinmont", + "Boston bull", + "miniature schnauzer", + "giant schnauzer", + "standard schnauzer", + "Scotch terrier", + "Tibetan terrier", + "silky terrier", + "soft-coated wheaten terrier", + "West Highland white terrier", + "Lhasa", + "flat-coated retriever", + "curly-coated retriever", + "golden retriever", + "Labrador retriever", + "Chesapeake Bay retriever", + "German short-haired pointer", + "vizsla", + "English setter", + "Irish setter", + "Gordon setter", + "Brittany spaniel", + "clumber", + "English springer", + "Welsh springer spaniel", + "cocker spaniel", + "Sussex spaniel", + "Irish water spaniel", + "kuvasz", + "schipperke", + "groenendael", + "malinois", + "briard", + "kelpie", + "komondor", + "Old English sheepdog", + "Shetland sheepdog", + "collie", + "Border collie", + "Bouvier des Flandres", + "Rottweiler", + "German shepherd", + "Doberman", + "miniature pinscher", + "Greater Swiss Mountain dog", + "Bernese mountain dog", + "Appenzeller", + "EntleBucher", + "boxer", + "bull mastiff", + "Tibetan mastiff", + "French bulldog", + "Great Dane", + "Saint Bernard", + "Eskimo dog", + "malamute", + "Siberian husky", + "dalmatian", + "affenpinscher", + "basenji", + "pug", + "Leonberg", + "Newfoundland", + "Great Pyrenees", + "Samoyed", + "Pomeranian", + "chow", + "keeshond", + "Brabancon griffon", + "Pembroke", + "Cardigan", + "toy poodle", + "miniature poodle", + "standard poodle", + "Mexican hairless", + "timber wolf", + "white wolf", + "red wolf", + "coyote", + "dingo", + "dhole", + "African hunting dog", + "hyena", + "red fox", + "kit fox", + "Arctic fox", + "grey fox", + "tabby", + "tiger cat", + "Persian cat", + "Siamese cat", + "Egyptian cat", + "cougar", + "lynx", + "leopard", + "snow leopard", + "jaguar", + "lion", + "tiger", + "cheetah", + "brown bear", + "American black bear", + "ice bear", + "sloth bear", + "mongoose", + "meerkat", + "tiger beetle", + "ladybug", + "ground beetle", + "long-horned beetle", + "leaf beetle", + "dung beetle", + "rhinoceros beetle", + "weevil", + "fly", + "bee", + "ant", + "grasshopper", + "cricket", + "walking stick", + "cockroach", + "mantis", + "cicada", + "leafhopper", + "lacewing", + "dragonfly", + "damselfly", + "admiral", + "ringlet", + "monarch", + "cabbage butterfly", + "sulphur butterfly", + "lycaenid", + "starfish", + "sea urchin", + "sea cucumber", + "wood rabbit", + "hare", + "Angora", + "hamster", + "porcupine", + "fox squirrel", + "marmot", + "beaver", + "guinea pig", + "sorrel", + "zebra", + "hog", + "wild boar", + "warthog", + "hippopotamus", + "ox", + "water buffalo", + "bison", + "ram", + "bighorn", + "ibex", + "hartebeest", + "impala", + "gazelle", + "Arabian camel", + "llama", + "weasel", + "mink", + "polecat", + "black-footed ferret", + "otter", + "skunk", + "badger", + "armadillo", + "three-toed sloth", + "orangutan", + "gorilla", + "chimpanzee", + "gibbon", + "siamang", + "guenon", + "patas", + "baboon", + "macaque", + "langur", + "colobus", + "proboscis monkey", + "marmoset", + "capuchin", + "howler monkey", + "titi", + "spider monkey", + "squirrel monkey", + "Madagascar cat", + "indri", + "Indian elephant", + "African elephant", + "lesser panda", + "giant panda", + "barracouta", + "eel", + "coho", + "rock beauty", + "anemone fish", + "sturgeon", + "gar", + "lionfish", + "puffer", + "abacus", + "abaya", + "academic gown", + "accordion", + "acoustic guitar", + "aircraft carrier", + "airliner", + "airship", + "altar", + "ambulance", + "amphibian", + "analog clock", + "apiary", + "apron", + "ashcan", + "assault rifle", + "backpack", + "bakery", + "balance beam", + "balloon", + "ballpoint", + "Band Aid", + "banjo", + "bannister", + "barbell", + "barber chair", + "barbershop", + "barn", + "barometer", + "barrel", + "barrow", + "baseball", + "basketball", + "bassinet", + "bassoon", + "bathing cap", + "bath towel", + "bathtub", + "beach wagon", + "beacon", + "beaker", + "bearskin", + "beer bottle", + "beer glass", + "bell cote", + "bib", + "bicycle-built-for-two", + "bikini", + "binder", + "binoculars", + "birdhouse", + "boathouse", + "bobsled", + "bolo tie", + "bonnet", + "bookcase", + "bookshop", + "bottlecap", + "bow", + "bow tie", + "brass", + "brassiere", + "breakwater", + "breastplate", + "broom", + "bucket", + "buckle", + "bulletproof vest", + "bullet train", + "butcher shop", + "cab", + "caldron", + "candle", + "cannon", + "canoe", + "can opener", + "cardigan", + "car mirror", + "carousel", + "carpenter's kit", + "carton", + "car wheel", + "cash machine", + "cassette", + "cassette player", + "castle", + "catamaran", + "CD player", + "cello", + "cellular telephone", + "chain", + "chainlink fence", + "chain mail", + "chain saw", + "chest", + "chiffonier", + "chime", + "china cabinet", + "Christmas stocking", + "church", + "cinema", + "cleaver", + "cliff dwelling", + "cloak", + "clog", + "cocktail shaker", + "coffee mug", + "coffeepot", + "coil", + "combination lock", + "computer keyboard", + "confectionery", + "container ship", + "convertible", + "corkscrew", + "cornet", + "cowboy boot", + "cowboy hat", + "cradle", + "crane", + "crash helmet", + "crate", + "crib", + "Crock Pot", + "croquet ball", + "crutch", + "cuirass", + "dam", + "desk", + "desktop computer", + "dial telephone", + "diaper", + "digital clock", + "digital watch", + "dining table", + "dishrag", + "dishwasher", + "disk brake", + "dock", + "dogsled", + "dome", + "doormat", + "drilling platform", + "drum", + "drumstick", + "dumbbell", + "Dutch oven", + "electric fan", + "electric guitar", + "electric locomotive", + "entertainment center", + "envelope", + "espresso maker", + "face powder", + "feather boa", + "file", + "fireboat", + "fire engine", + "fire screen", + "flagpole", + "flute", + "folding chair", + "football helmet", + "forklift", + "fountain", + "fountain pen", + "four-poster", + "freight car", + "French horn", + "frying pan", + "fur coat", + "garbage truck", + "gasmask", + "gas pump", + "goblet", + "go-kart", + "golf ball", + "golfcart", + "gondola", + "gong", + "gown", + "grand piano", + "greenhouse", + "grille", + "grocery store", + "guillotine", + "hair slide", + "hair spray", + "half track", + "hammer", + "hamper", + "hand blower", + "hand-held computer", + "handkerchief", + "hard disc", + "harmonica", + "harp", + "harvester", + "hatchet", + "holster", + "home theater", + "honeycomb", + "hook", + "hoopskirt", + "horizontal bar", + "horse cart", + "hourglass", + "iPod", + "iron", + "jack-o'-lantern", + "jean", + "jeep", + "jersey", + "jigsaw puzzle", + "jinrikisha", + "joystick", + "kimono", + "knee pad", + "knot", + "lab coat", + "ladle", + "lampshade", + "laptop", + "lawn mower", + "lens cap", + "letter opener", + "library", + "lifeboat", + "lighter", + "limousine", + "liner", + "lipstick", + "Loafer", + "lotion", + "loudspeaker", + "loupe", + "lumbermill", + "magnetic compass", + "mailbag", + "mailbox", + "maillot (tights)", + "maillot (bathing suit)", + "manhole cover", + "maraca", + "marimba", + "mask", + "matchstick", + "maypole", + "maze", + "measuring cup", + "medicine chest", + "megalith", + "microphone", + "microwave", + "military uniform", + "milk can", + "minibus", + "miniskirt", + "minivan", + "missile", + "mitten", + "mixing bowl", + "mobile home", + "Model T", + "modem", + "monastery", + "monitor", + "moped", + "mortar", + "mortarboard", + "mosque", + "mosquito net", + "motor scooter", + "mountain bike", + "mountain tent", + "mouse", + "mousetrap", + "moving van", + "muzzle", + "nail", + "neck brace", + "necklace", + "nipple", + "notebook", + "obelisk", + "oboe", + "ocarina", + "odometer", + "oil filter", + "organ", + "oscilloscope", + "overskirt", + "oxcart", + "oxygen mask", + "packet", + "paddle", + "paddlewheel", + "padlock", + "paintbrush", + "pajama", + "palace", + "panpipe", + "paper towel", + "parachute", + "parallel bars", + "park bench", + "parking meter", + "passenger car", + "patio", + "pay-phone", + "pedestal", + "pencil box", + "pencil sharpener", + "perfume", + "Petri dish", + "photocopier", + "pick", + "pickelhaube", + "picket fence", + "pickup", + "pier", + "piggy bank", + "pill bottle", + "pillow", + "ping-pong ball", + "pinwheel", + "pirate", + "pitcher", + "plane", + "planetarium", + "plastic bag", + "plate rack", + "plow", + "plunger", + "Polaroid camera", + "pole", + "police van", + "poncho", + "pool table", + "pop bottle", + "pot", + "potter's wheel", + "power drill", + "prayer rug", + "printer", + "prison", + "projectile", + "projector", + "puck", + "punching bag", + "purse", + "quill", + "quilt", + "racer", + "racket", + "radiator", + "radio", + "radio telescope", + "rain barrel", + "recreational vehicle", + "reel", + "reflex camera", + "refrigerator", + "remote control", + "restaurant", + "revolver", + "rifle", + "rocking chair", + "rotisserie", + "rubber eraser", + "rugby ball", + "rule", + "running shoe", + "safe", + "safety pin", + "saltshaker", + "sandal", + "sarong", + "sax", + "scabbard", + "scale", + "school bus", + "schooner", + "scoreboard", + "screen", + "screw", + "screwdriver", + "seat belt", + "sewing machine", + "shield", + "shoe shop", + "shoji", + "shopping basket", + "shopping cart", + "shovel", + "shower cap", + "shower curtain", + "ski", + "ski mask", + "sleeping bag", + "slide rule", + "sliding door", + "slot", + "snorkel", + "snowmobile", + "snowplow", + "soap dispenser", + "soccer ball", + "sock", + "solar dish", + "sombrero", + "soup bowl", + "space bar", + "space heater", + "space shuttle", + "spatula", + "speedboat", + "spider web", + "spindle", + "sports car", + "spotlight", + "stage", + "steam locomotive", + "steel arch bridge", + "steel drum", + "stethoscope", + "stole", + "stone wall", + "stopwatch", + "stove", + "strainer", + "streetcar", + "stretcher", + "studio couch", + "stupa", + "submarine", + "suit", + "sundial", + "sunglass", + "sunglasses", + "sunscreen", + "suspension bridge", + "swab", + "sweatshirt", + "swimming trunks", + "swing", + "switch", + "syringe", + "table lamp", + "tank", + "tape player", + "teapot", + "teddy", + "television", + "tennis ball", + "thatch", + "theater curtain", + "thimble", + "thresher", + "throne", + "tile roof", + "toaster", + "tobacco shop", + "toilet seat", + "torch", + "totem pole", + "tow truck", + "toyshop", + "tractor", + "trailer truck", + "tray", + "trench coat", + "tricycle", + "trimaran", + "tripod", + "triumphal arch", + "trolleybus", + "trombone", + "tub", + "turnstile", + "typewriter keyboard", + "umbrella", + "unicycle", + "upright", + "vacuum", + "vase", + "vault", + "velvet", + "vending machine", + "vestment", + "viaduct", + "violin", + "volleyball", + "waffle iron", + "wall clock", + "wallet", + "wardrobe", + "warplane", + "washbasin", + "washer", + "water bottle", + "water jug", + "water tower", + "whiskey jug", + "whistle", + "wig", + "window screen", + "window shade", + "Windsor tie", + "wine bottle", + "wing", + "wok", + "wooden spoon", + "wool", + "worm fence", + "wreck", + "yawl", + "yurt", + "web site", + "comic book", + "crossword puzzle", + "street sign", + "traffic light", + "book jacket", + "menu", + "plate", + "guacamole", + "consomme", + "hot pot", + "trifle", + "ice cream", + "ice lolly", + "French loaf", + "bagel", + "pretzel", + "cheeseburger", + "hotdog", + "mashed potato", + "head cabbage", + "broccoli", + "cauliflower", + "zucchini", + "spaghetti squash", + "acorn squash", + "butternut squash", + "cucumber", + "artichoke", + "bell pepper", + "cardoon", + "mushroom", + "Granny Smith", + "strawberry", + "orange", + "lemon", + "fig", + "pineapple", + "banana", + "jackfruit", + "custard apple", + "pomegranate", + "hay", + "carbonara", + "chocolate sauce", + "dough", + "meat loaf", + "pizza", + "potpie", + "burrito", + "red wine", + "espresso", + "cup", + "eggnog", + "alp", + "bubble", + "cliff", + "coral reef", + "geyser", + "lakeside", + "promontory", + "sandbar", + "seashore", + "valley", + "volcano", + "ballplayer", + "groom", + "scuba diver", + "rapeseed", + "daisy", + "yellow lady's slipper", + "corn", + "acorn", + "hip", + "buckeye", + "coral fungus", + "agaric", + "gyromitra", + "stinkhorn", + "earthstar", + "hen-of-the-woods", + "bolete", + "ear", + "toilet tissue", +] +imagenette_labels = [ + "tench", + "English springer", + "cassette player", + "chain saw", + "church", + "French horn", + "garbage truck", + "gas pump", + "golf ball", + "parachute", +] +cub200_labels = [ + "Black footed Albatross", + "Laysan Albatross", + "Sooty Albatross", + "Groove billed Ani", + "Crested Auklet", + "Least Auklet", + "Parakeet Auklet", + "Rhinoceros Auklet", + "Brewer Blackbird", + "Red winged Blackbird", + "Rusty Blackbird", + "Yellow headed Blackbird", + "Bobolink", + "Indigo Bunting", + "Lazuli Bunting", + "Painted Bunting", + "Cardinal", + "Spotted Catbird", + "Gray Catbird", + "Yellow breasted Chat", + "Eastern Towhee", + "Chuck will Widow", + "Brandt Cormorant", + "Red faced Cormorant", + "Pelagic Cormorant", + "Bronzed Cowbird", + "Shiny Cowbird", + "Brown Creeper", + "American Crow", + "Fish Crow", + "Black billed Cuckoo", + "Mangrove Cuckoo", + "Yellow billed Cuckoo", + "Gray crowned Rosy Finch", + "Purple Finch", + "Northern Flicker", + "Acadian Flycatcher", + "Great Crested Flycatcher", + "Least Flycatcher", + "Olive sided Flycatcher", + "Scissor tailed Flycatcher", + "Vermilion Flycatcher", + "Yellow bellied Flycatcher", + "Frigatebird", + "Northern Fulmar", + "Gadwall", + "American Goldfinch", + "European Goldfinch", + "Boat tailed Grackle", + "Eared Grebe", + "Horned Grebe", + "Pied billed Grebe", + "Western Grebe", + "Blue Grosbeak", + "Evening Grosbeak", + "Pine Grosbeak", + "Rose breasted Grosbeak", + "Pigeon Guillemot", + "California Gull", + "Glaucous winged Gull", + "Heermann Gull", + "Herring Gull", + "Ivory Gull", + "Ring billed Gull", + "Slaty backed Gull", + "Western Gull", + "Anna Hummingbird", + "Ruby throated Hummingbird", + "Rufous Hummingbird", + "Green Violetear", + "Long tailed Jaeger", + "Pomarine Jaeger", + "Blue Jay", + "Florida Jay", + "Green Jay", + "Dark eyed Junco", + "Tropical Kingbird", + "Gray Kingbird", + "Belted Kingfisher", + "Green Kingfisher", + "Pied Kingfisher", + "Ringed Kingfisher", + "White breasted Kingfisher", + "Red legged Kittiwake", + "Horned Lark", + "Pacific Loon", + "Mallard", + "Western Meadowlark", + "Hooded Merganser", + "Red breasted Merganser", + "Mockingbird", + "Nighthawk", + "Clark Nutcracker", + "White breasted Nuthatch", + "Baltimore Oriole", + "Hooded Oriole", + "Orchard Oriole", + "Scott Oriole", + "Ovenbird", + "Brown Pelican", + "White Pelican", + "Western Wood Pewee", + "Sayornis", + "American Pipit", + "Whip poor Will", + "Horned Puffin", + "Common Raven", + "White necked Raven", + "American Redstart", + "Geococcyx", + "Loggerhead Shrike", + "Great Grey Shrike", + "Baird Sparrow", + "Black throated Sparrow", + "Brewer Sparrow", + "Chipping Sparrow", + "Clay colored Sparrow", + "House Sparrow", + "Field Sparrow", + "Fox Sparrow", + "Grasshopper Sparrow", + "Harris Sparrow", + "Henslow Sparrow", + "Le Conte Sparrow", + "Lincoln Sparrow", + "Nelson Sharp tailed Sparrow", + "Savannah Sparrow", + "Seaside Sparrow", + "Song Sparrow", + "Tree Sparrow", + "Vesper Sparrow", + "White crowned Sparrow", + "White throated Sparrow", + "Cape Glossy Starling", + "Bank Swallow", + "Barn Swallow", + "Cliff Swallow", + "Tree Swallow", + "Scarlet Tanager", + "Summer Tanager", + "Artic Tern", + "Black Tern", + "Caspian Tern", + "Common Tern", + "Elegant Tern", + "Forsters Tern", + "Least Tern", + "Green tailed Towhee", + "Brown Thrasher", + "Sage Thrasher", + "Black capped Vireo", + "Blue headed Vireo", + "Philadelphia Vireo", + "Red eyed Vireo", + "Warbling Vireo", + "White eyed Vireo", + "Yellow throated Vireo", + "Bay breasted Warbler", + "Black and white Warbler", + "Black throated Blue Warbler", + "Blue winged Warbler", + "Canada Warbler", + "Cape May Warbler", + "Cerulean Warbler", + "Chestnut sided Warbler", + "Golden winged Warbler", + "Hooded Warbler", + "Kentucky Warbler", + "Magnolia Warbler", + "Mourning Warbler", + "Myrtle Warbler", + "Nashville Warbler", + "Orange crowned Warbler", + "Palm Warbler", + "Pine Warbler", + "Prairie Warbler", + "Prothonotary Warbler", + "Swainson Warbler", + "Tennessee Warbler", + "Wilson Warbler", + "Worm eating Warbler", + "Yellow Warbler", + "Northern Waterthrush", + "Louisiana Waterthrush", + "Bohemian Waxwing", + "Cedar Waxwing", + "American Three toed Woodpecker", + "Pileated Woodpecker", + "Red bellied Woodpecker", + "Red cockaded Woodpecker", + "Red headed Woodpecker", + "Downy Woodpecker", + "Bewick Wren", + "Cactus Wren", + "Carolina Wren", + "House Wren", + "Marsh Wren", + "Rock Wren", + "Winter Wren", + "Common Yellowthroat", +] +cars_labels = [ + "AM General Hummer SUV 2000", + "Acura RL Sedan 2012", + "Acura TL Sedan 2012", + "Acura TL Type-S 2008", + "Acura TSX Sedan 2012", + "Acura Integra Type R 2001", + "Acura ZDX Hatchback 2012", + "Aston Martin V8 Vantage Convertible 2012", + "Aston Martin V8 Vantage Coupe 2012", + "Aston Martin Virage Convertible 2012", + "Aston Martin Virage Coupe 2012", + "Audi RS 4 Convertible 2008", + "Audi A5 Coupe 2012", + "Audi TTS Coupe 2012", + "Audi R8 Coupe 2012", + "Audi V8 Sedan 1994", + "Audi 100 Sedan 1994", + "Audi 100 Wagon 1994", + "Audi TT Hatchback 2011", + "Audi S6 Sedan 2011", + "Audi S5 Convertible 2012", + "Audi S5 Coupe 2012", + "Audi S4 Sedan 2012", + "Audi S4 Sedan 2007", + "Audi TT RS Coupe 2012", + "BMW ActiveHybrid 5 Sedan 2012", + "BMW 1 Series Convertible 2012", + "BMW 1 Series Coupe 2012", + "BMW 3 Series Sedan 2012", + "BMW 3 Series Wagon 2012", + "BMW 6 Series Convertible 2007", + "BMW X5 SUV 2007", + "BMW X6 SUV 2012", + "BMW M3 Coupe 2012", + "BMW M5 Sedan 2010", + "BMW M6 Convertible 2010", + "BMW X3 SUV 2012", + "BMW Z4 Convertible 2012", + "Bentley Continental Supersports Conv. Convertible 2012", + "Bentley Arnage Sedan 2009", + "Bentley Mulsanne Sedan 2011", + "Bentley Continental GT Coupe 2012", + "Bentley Continental GT Coupe 2007", + "Bentley Continental Flying Spur Sedan 2007", + "Bugatti Veyron 16.4 Convertible 2009", + "Bugatti Veyron 16.4 Coupe 2009", + "Buick Regal GS 2012", + "Buick Rainier SUV 2007", + "Buick Verano Sedan 2012", + "Buick Enclave SUV 2012", + "Cadillac CTS-V Sedan 2012", + "Cadillac SRX SUV 2012", + "Cadillac Escalade EXT Crew Cab 2007", + "Chevrolet Silverado 1500 Hybrid Crew Cab 2012", + "Chevrolet Corvette Convertible 2012", + "Chevrolet Corvette ZR1 2012", + "Chevrolet Corvette Ron Fellows Edition Z06 2007", + "Chevrolet Traverse SUV 2012", + "Chevrolet Camaro Convertible 2012", + "Chevrolet HHR SS 2010", + "Chevrolet Impala Sedan 2007", + "Chevrolet Tahoe Hybrid SUV 2012", + "Chevrolet Sonic Sedan 2012", + "Chevrolet Express Cargo Van 2007", + "Chevrolet Avalanche Crew Cab 2012", + "Chevrolet Cobalt SS 2010", + "Chevrolet Malibu Hybrid Sedan 2010", + "Chevrolet TrailBlazer SS 2009", + "Chevrolet Silverado 2500HD Regular Cab 2012", + "Chevrolet Silverado 1500 Classic Extended Cab 2007", + "Chevrolet Express Van 2007", + "Chevrolet Monte Carlo Coupe 2007", + "Chevrolet Malibu Sedan 2007", + "Chevrolet Silverado 1500 Extended Cab 2012", + "Chevrolet Silverado 1500 Regular Cab 2012", + "Chrysler Aspen SUV 2009", + "Chrysler Sebring Convertible 2010", + "Chrysler Town and Country Minivan 2012", + "Chrysler 300 SRT-8 2010", + "Chrysler Crossfire Convertible 2008", + "Chrysler PT Cruiser Convertible 2008", + "Daewoo Nubira Wagon 2002", + "Dodge Caliber Wagon 2012", + "Dodge Caliber Wagon 2007", + "Dodge Caravan Minivan 1997", + "Dodge Ram Pickup 3500 Crew Cab 2010", + "Dodge Ram Pickup 3500 Quad Cab 2009", + "Dodge Sprinter Cargo Van 2009", + "Dodge Journey SUV 2012", + "Dodge Dakota Crew Cab 2010", + "Dodge Dakota Club Cab 2007", + "Dodge Magnum Wagon 2008", + "Dodge Challenger SRT8 2011", + "Dodge Durango SUV 2012", + "Dodge Durango SUV 2007", + "Dodge Charger Sedan 2012", + "Dodge Charger SRT-8 2009", + "Eagle Talon Hatchback 1998", + "FIAT 500 Abarth 2012", + "FIAT 500 Convertible 2012", + "Ferrari FF Coupe 2012", + "Ferrari California Convertible 2012", + "Ferrari 458 Italia Convertible 2012", + "Ferrari 458 Italia Coupe 2012", + "Fisker Karma Sedan 2012", + "Ford F-450 Super Duty Crew Cab 2012", + "Ford Mustang Convertible 2007", + "Ford Freestar Minivan 2007", + "Ford Expedition EL SUV 2009", + "Ford Edge SUV 2012", + "Ford Ranger SuperCab 2011", + "Ford GT Coupe 2006", + "Ford F-150 Regular Cab 2012", + "Ford F-150 Regular Cab 2007", + "Ford Focus Sedan 2007", + "Ford E-Series Wagon Van 2012", + "Ford Fiesta Sedan 2012", + "GMC Terrain SUV 2012", + "GMC Savana Van 2012", + "GMC Yukon Hybrid SUV 2012", + "GMC Acadia SUV 2012", + "GMC Canyon Extended Cab 2012", + "Geo Metro Convertible 1993", + "HUMMER H3T Crew Cab 2010", + "HUMMER H2 SUT Crew Cab 2009", + "Honda Odyssey Minivan 2012", + "Honda Odyssey Minivan 2007", + "Honda Accord Coupe 2012", + "Honda Accord Sedan 2012", + "Hyundai Veloster Hatchback 2012", + "Hyundai Santa Fe SUV 2012", + "Hyundai Tucson SUV 2012", + "Hyundai Veracruz SUV 2012", + "Hyundai Sonata Hybrid Sedan 2012", + "Hyundai Elantra Sedan 2007", + "Hyundai Accent Sedan 2012", + "Hyundai Genesis Sedan 2012", + "Hyundai Sonata Sedan 2012", + "Hyundai Elantra Touring Hatchback 2012", + "Hyundai Azera Sedan 2012", + "Infiniti G Coupe IPL 2012", + "Infiniti QX56 SUV 2011", + "Isuzu Ascender SUV 2008", + "Jaguar XK XKR 2012", + "Jeep Patriot SUV 2012", + "Jeep Wrangler SUV 2012", + "Jeep Liberty SUV 2012", + "Jeep Grand Cherokee SUV 2012", + "Jeep Compass SUV 2012", + "Lamborghini Reventon Coupe 2008", + "Lamborghini Aventador Coupe 2012", + "Lamborghini Gallardo LP 570-4 Superleggera 2012", + "Lamborghini Diablo Coupe 2001", + "Land Rover Range Rover SUV 2012", + "Land Rover LR2 SUV 2012", + "Lincoln Town Car Sedan 2011", + "MINI Cooper Roadster Convertible 2012", + "Maybach Landaulet Convertible 2012", + "Mazda Tribute SUV 2011", + "McLaren MP4-12C Coupe 2012", + "Mercedes-Benz 300-Class Convertible 1993", + "Mercedes-Benz C-Class Sedan 2012", + "Mercedes-Benz SL-Class Coupe 2009", + "Mercedes-Benz E-Class Sedan 2012", + "Mercedes-Benz S-Class Sedan 2012", + "Mercedes-Benz Sprinter Van 2012", + "Mitsubishi Lancer Sedan 2012", + "Nissan Leaf Hatchback 2012", + "Nissan NV Passenger Van 2012", + "Nissan Juke Hatchback 2012", + "Nissan 240SX Coupe 1998", + "Plymouth Neon Coupe 1999", + "Porsche Panamera Sedan 2012", + "Ram C/V Cargo Van Minivan 2012", + "Rolls-Royce Phantom Drophead Coupe Convertible 2012", + "Rolls-Royce Ghost Sedan 2012", + "Rolls-Royce Phantom Sedan 2012", + "Scion xD Hatchback 2012", + "Spyker C8 Convertible 2009", + "Spyker C8 Coupe 2009", + "Suzuki Aerio Sedan 2007", + "Suzuki Kizashi Sedan 2012", + "Suzuki SX4 Hatchback 2012", + "Suzuki SX4 Sedan 2012", + "Tesla Model S Sedan 2012", + "Toyota Sequoia SUV 2012", + "Toyota Camry Sedan 2012", + "Toyota Corolla Sedan 2012", + "Toyota 4Runner SUV 2012", + "Volkswagen Golf Hatchback 2012", + "Volkswagen Golf Hatchback 1991", + "Volkswagen Beetle Hatchback 2012", + "Volvo C30 Hatchback 2012", + "Volvo 240 Sedan 1993", + "Volvo XC90 SUV 2007", + "smart fortwo Convertible 2012", +] +cifar10_labels = ["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"] diff --git a/pixpnet/lightning/__init__.py b/pixpnet/lightning/__init__.py new file mode 100644 index 0000000..10445ab --- /dev/null +++ b/pixpnet/lightning/__init__.py @@ -0,0 +1,3 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/pixpnet/lightning/lightning_data.py b/pixpnet/lightning/lightning_data.py new file mode 100644 index 0000000..e0672df --- /dev/null +++ b/pixpnet/lightning/lightning_data.py @@ -0,0 +1,77 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +from pytorch_lightning import LightningDataModule +from torch.utils.data import DataLoader + +from pixpnet.data import get_datasets +from pixpnet.utils import get_logger, num_cpus + +logger = get_logger(__name__) + + +class LitData(LightningDataModule): + def __init__(self, config, num_workers=None, **kwargs): + super().__init__() + self.config = config + self.train = self.train_no_aug = self.val = self.test = None + self.kwargs = kwargs + # Required to check if setup was called prior... + # https://github.com/Lightning-AI/lightning/issues/9865 + self.datasets_loaded = False + if num_workers is None: + num_workers = num_cpus() + self.num_workers = num_workers + + def setup(self, stage=None): + """called on every GPU""" + if self.datasets_loaded: + return + + logger.info(f"Loading the {self.config.dataset.name} dataset " f"(val_size={self.config.dataset.val_size})") + + datasets = get_datasets(self.config, **self.kwargs) + + if self.config.dataset.needs_unaugmented: + self.train, self.train_no_aug, self.val, self.test = datasets + else: + self.train, self.val, self.test = datasets + + # get_datasets may modify val_size + if self.config.dataset.val_size == 0: + if self.trainer: + self.trainer.limit_val_batches = 0 + self.trainer.num_sanity_val_steps = 0 + + self.datasets_loaded = True + + def train_dataloader(self): + return DataLoader( + self.train, + batch_size=self.config.train.batch_size, + shuffle=True, + num_workers=self.num_workers, + drop_last=True, + ) + + def train_no_aug_dataloader(self): + if not self.config.dataset.needs_unaugmented: + raise ValueError("Unaugmented train data set requested, but " "--dataset.needs-unaugmented is False") + return DataLoader( + self.train_no_aug, + batch_size=self.config.train.batch_size, + shuffle=False, + num_workers=self.num_workers, + drop_last=False, + ) + + def val_dataloader(self): + return DataLoader( + self.val, batch_size=self.config.test.batch_size, num_workers=self.num_workers, drop_last=False + ) + + def test_dataloader(self): + return DataLoader( + self.test, batch_size=self.config.test.batch_size, num_workers=self.num_workers, drop_last=False + ) diff --git a/pixpnet/lightning/lit_module.py b/pixpnet/lightning/lit_module.py new file mode 100644 index 0000000..05878a7 --- /dev/null +++ b/pixpnet/lightning/lit_module.py @@ -0,0 +1,164 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import time +from abc import ABCMeta, abstractmethod +from typing import Any + +import torch +from pytorch_lightning import LightningModule +from pytorch_lightning.loggers import TensorBoardLogger +from torch import nn + +from pixpnet.utils import get_logger + +logger = get_logger(__name__) + + +class CollisionlessModuleDict(nn.ModuleDict): + __slots__ = () + + __internal_prefix = "_no_collision__" + + def _correct_key(self, key): + return self.__internal_prefix + key + + def _uncorrect_key(self, key): + return key[len(self.__internal_prefix) :] + + def __getitem__(self, key: str) -> nn.Module: + key = self._correct_key(key) + return super().__getitem__(key) + + def __setitem__(self, key: str, module: nn.Module) -> None: + key = self._correct_key(key) + super().__setitem__(key, module) + + def __delitem__(self, key: str) -> None: + key = self._correct_key(key) + super().__delitem__(key) + + def __contains__(self, key: str) -> bool: + key = self._correct_key(key) + return super().__contains__(key) + + def pop(self, key: str) -> nn.Module: + r"""Remove key from the ModuleDict and return its module. + + Args: + key (string): key to pop from the ModuleDict + """ + key = self._correct_key(key) + return super().pop(key) + + def keys(self): + r"""Return an iterable of the ModuleDict keys.""" + return tuple(map(self._uncorrect_key, super().keys())) + + def items(self): + r"""Return an iterable of the ModuleDict key/value pairs.""" + return tuple(zip(self.keys(), self.values())) + + +class BaseLitModel(LightningModule, metaclass=ABCMeta): + def __init__(self, config): + super().__init__() + self.config = config + self.optimizer = None + + # training stats + self._train_time_total = 0 + self._train_time_per_epoch = 0 + self._actual_epoch_count = 0 + self._infer_count = 0 + self._infer_batch_count = 0 + self._inference_time_per_sample = 0 + self._inference_time_per_batch = 0 + self._train_t0 = None + self._inference_t0 = None + + @property + def train_time_total(self): + return self._train_time_total + + @property + def train_time_per_epoch(self): + return self._train_time_per_epoch + + @property + def inference_time_per_sample(self): + return self._inference_time_per_sample + + @property + def inference_time_per_batch(self): + return self._inference_time_per_batch + + @abstractmethod + def _forward(self, *args, **kwargs) -> Any: + raise NotImplementedError + + @staticmethod + def _metric_per_split(metric, *args, **kwargs): + return CollisionlessModuleDict( + {"train": metric(*args, **kwargs), "val": metric(*args, **kwargs), "test": metric(*args, **kwargs)} + ) + + def forward(self, x, *args, **kwargs) -> Any: + if not self.training: + # only record inference time in non-training mode + self._inference_t0 = time.time() + out = self._forward(x, *args, **kwargs) + if not self.training: + duration = time.time() - self._inference_t0 + self._inference_time_per_batch = (self._inference_time_per_batch * self._infer_batch_count + duration) / ( + self._infer_batch_count + 1 + ) + self._infer_batch_count += 1 + self._inference_time_per_sample = (self._inference_time_per_sample * self._infer_count + duration) / ( + self._infer_count + len(x) + ) + self._infer_count += len(x) + return out + + def on_train_start(self): + if self.config.debug: + torch.autograd.set_detect_anomaly(True) + hp_lr_metrics = {f"hp/lr_group_{i}": 0 for i in range(len(self.optimizer.param_groups))} + for lit_logger in self.loggers: + args = (hp_lr_metrics,) if isinstance(lit_logger, TensorBoardLogger) else () + lit_logger.log_hyperparams(self.config.optimizer, *args) + lit_logger.log_hyperparams(self.config.train) + lit_logger.log_hyperparams(self.config.model) + + def on_train_epoch_start(self) -> None: + self._train_t0 = time.time() + + def on_train_epoch_end(self) -> None: + duration = time.time() - self._train_t0 + self._train_time_total += duration + # running mean + self._train_time_per_epoch = (self._train_time_per_epoch * self._actual_epoch_count + duration) / ( + self._actual_epoch_count + 1 + ) + self._actual_epoch_count += 1 + + def training_step(self, batch, batch_idx, dataset_idx=None): + loss = self._shared_eval(batch, batch_idx, dataset_idx, "train") + for i, param_group in enumerate(self.optimizer.param_groups): + self.log(f"hp/lr_group_{i}", param_group["lr"]) + return loss + + def validation_step(self, batch, batch_idx, dataset_idx=None): + self._shared_eval(batch, batch_idx, dataset_idx, "val") + + def test_step(self, batch, batch_idx, dataset_idx=None): + self._shared_eval(batch, batch_idx, dataset_idx, "test") + + @abstractmethod + def _shared_eval(self, batch: Any, batch_idx: int, dataset_idx: int, prefix: str) -> torch.Tensor: + """ + Handle batch, compute forward, compute loss and other metrics, + then return the loss. + """ + raise NotImplementedError diff --git a/pixpnet/macs.py b/pixpnet/macs.py new file mode 100644 index 0000000..1c4fde6 --- /dev/null +++ b/pixpnet/macs.py @@ -0,0 +1,79 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +from textwrap import dedent + + +def get_macs(model, input_, method="fvcore", verbose=False): + if method == "fvcore": + from fvcore.nn import FlopCountAnalysis + + flops = FlopCountAnalysis(model, input_) + if verbose: + print( + dedent( + f"""\ + fvcore + ====== + flops.total(): {flops.total()} + flops.by_operator(): {flops.by_operator()} + flops.by_module(): {flops.by_module()} + flops.by_module_and_operator(): {flops.by_module_and_operator()} + """ + ) + ) + macs = flops.total() + elif method == "thop": + from thop import profile + + macs, total_params = profile(model, (input_,), verbose=verbose) + if verbose: + print( + dedent( + f"""\ + thop + ==== + total_ops: {macs} + total_params: {total_params} + """ + ) + ) + elif method == "ptflops": + # This one seems very inaccurate at times + from ptflops import get_model_complexity_info + + macs, params = get_model_complexity_info( + model, tuple(input_.size()[1:]), as_strings=False, print_per_layer_stat=verbose, verbose=verbose + ) + if verbose: + print( + dedent( + f"""\ + ptflops + ==== + macs: {macs} + flops (est.): {2 * macs} + params: {params} + """ + ) + ) + else: + raise NotImplementedError(f'MAC-counting method "{method}"') + return int(macs) + + +def benchmark(): + import torch + + model = torch.hub.load("pytorch/vision:v0.10.0", "resnet18", pretrained=True) + model.eval() + input_ = torch.rand(1, 3, 224, 224) + + get_macs(model, input_, method="fvcore", verbose=True) + get_macs(model, input_, method="thop", verbose=True) + get_macs(model, input_, method="ptflops", verbose=True) + + +if __name__ == "__main__": + benchmark() diff --git a/pixpnet/optim.py b/pixpnet/optim.py new file mode 100644 index 0000000..4e265b3 --- /dev/null +++ b/pixpnet/optim.py @@ -0,0 +1,123 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import argparse +import inspect +import re +from typing import Any, Dict, Optional, Set, Tuple, Type + +import torch +from pytorch_warmup import ExponentialWarmup +from pytorch_warmup.base import BaseWarmup +from torch.optim.lr_scheduler import CosineAnnealingLR, MultiStepLR, StepLR + +from pixpnet.utils import get_logger, intersect_func_and_kwargs + +logger = get_logger(__name__) + +_OPTIMIZER_MAP = {attr: getattr(torch.optim, attr) for attr in dir(torch.optim) if attr != "Optimizer"} +_OPTIMIZER_MAP = {attr: cls for attr, cls in _OPTIMIZER_MAP.items() if inspect.isclass(cls)} +_LOOSE_OPTIMIZER_MAP = {} +for _attr, _cls in _OPTIMIZER_MAP.items(): + _attr_split = re.split(r"(?=(? Tuple[Type[torch.optim.Optimizer], Dict[str, Any]]: + if ignore is None: + ignore = set() + try: + optimizer_cls = _LOOSE_OPTIMIZER_MAP[config.optimizer.name.lower()] + except KeyError: + raise ValueError(f'No such optimizer "{config.optimizer.name}"') + hparams, invalid_keys = intersect_func_and_kwargs( + optimizer_cls, + config.optimizer, + exclude_func_args={"params"}, + exclude_kwargs={"name", "throttle_lr", "lr_schedule", "lr_scheduler", "lr_factor", "warmup_period"} | ignore, + ) + if invalid_keys: + logger.warning( + f"Will not pass the following invalid optimizer " + f"hyperparameters to {optimizer_cls.__name__}: " + f'{", ".join(invalid_keys)}' + ) + logger.info(f"Optimizer hyperparameters for {optimizer_cls.__name__}: " f"{hparams}") + return optimizer_cls, hparams + + +class LRWithWarmupMixin: + def __init__(self, *args, **kwargs): + self.warmup_scheduler: BaseWarmup = kwargs.pop("warmup") + super().__init__(*args, **kwargs) + + def step(self, epoch=None): + if self.warmup_scheduler is None: + super().step(epoch=epoch) + else: + with self.warmup_scheduler.dampening(): + super().step(epoch=epoch) + + +class MultiStepLRWithWarmup(LRWithWarmupMixin, MultiStepLR): + """""" + + +class CosineAnnealingLRWithWarmup(LRWithWarmupMixin, CosineAnnealingLR): + """""" + + +class StepLRWithWarmup(LRWithWarmupMixin, StepLR): + """""" + + +def get_scheduler(optimizer: torch.optim.Optimizer, config: argparse.Namespace) -> LRWithWarmupMixin: + """""" + if config.optimizer.warmup_period: + lr_warmup = ExponentialWarmup(optimizer, warmup_period=config.optimizer.warmup_period) + else: + lr_warmup = None + if config.optimizer.lr_scheduler == "multistep": + lr_scheduler = MultiStepLRWithWarmup( + optimizer, + milestones=config.optimizer.lr_schedule, + gamma=config.optimizer.lr_factor, + last_epoch=-1, + warmup=lr_warmup, + ) + elif config.optimizer.lr_scheduler == "step": + assert len(config.optimizer.lr_schedule) == 1, config.optimizer.lr_schedule + lr_scheduler = StepLRWithWarmup( + optimizer, + step_size=config.optimizer.lr_schedule[0], + gamma=config.optimizer.lr_factor, + last_epoch=-1, + warmup=lr_warmup, + ) + elif config.optimizer.lr_scheduler == "cosine": + lr_scheduler = CosineAnnealingLRWithWarmup( + optimizer, + T_max=config.train.epochs, + eta_min=0, + last_epoch=-1, + warmup=lr_warmup, + ) + else: + raise NotImplementedError(f"Scheduler {config.optimizer.lr_scheduler}") + + return lr_scheduler diff --git a/pixpnet/pipeline.py b/pixpnet/pipeline.py new file mode 100644 index 0000000..fe607d6 --- /dev/null +++ b/pixpnet/pipeline.py @@ -0,0 +1,257 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import os +from time import sleep + +import git +import torch +from pytorch_lightning import Trainer, seed_everything +from pytorch_lightning.callbacks import EarlyStopping, ModelCheckpoint, StochasticWeightAveraging +from pytorch_lightning.loggers import CSVLogger, TensorBoardLogger +from pytorch_lightning.utilities.model_summary import summarize + +from pixpnet.lightning.lightning_data import LitData +from pixpnet.macs import get_macs +from pixpnet.utils import get_logger, nested_ns_to_nested_dict, now_str, pretty_si_units, yaml_dump + +logger = get_logger(__name__) + + +def create_trainer(config): + """ """ + # Stop training if loss becomes NaN + # Infinite patience as we don't want to actually stop early due to loss + # (e.g., fluctuations due to pushing prototypes) + callbacks = [EarlyStopping("train_total_loss", check_finite=True, patience=float("inf"))] + if config.train.checkpoint: + logger.warning( + "If you are replacing prototypes, loading this " + "checkpoint will not load the model with replaced " + "prototypes!" + ) + checkpoint_callback = ModelCheckpoint( + monitor=None, + ) + callbacks.append(checkpoint_callback) + else: + checkpoint_callback = None + if config.train.stochastic_weight_averaging: + callbacks.append(StochasticWeightAveraging()) + + logger.info(f'Logging checkpoints to "{config.log_dir}"') + kwargs = {} + if config.train.hparam_tune: + # Currently, this feature supports two modes: ‘power’ scaling and + # ‘binsearch’ scaling. In ‘power’ scaling, starting from a batch size + # of 1 keeps doubling the batch size until an out-of-memory (OOM) error + # is encountered. Setting the argument to ‘binsearch’ will initially + # also try doubling the batch size until it encounters an OOM, after + # which it will do a binary search that will finetune the batch size. + # Additionally, it should be noted that the batch size scaler cannot + # search for batch sizes larger than the size of the training dataset. + kwargs["auto_scale_batch_size"] = "binsearch" + + loggers = [ + CSVLogger(save_dir=config.log_dir, name="csv"), + TensorBoardLogger(save_dir=config.log_dir, default_hp_metric=False, name="tensorboard"), + ] + + if config.gpus is None: + if "CUDA_VISIBLE_DEVICES" in os.environ: + if os.environ["CUDA_VISIBLE_DEVICES"].strip(): + config.gpus = len(os.environ["CUDA_VISIBLE_DEVICES"].split(",")) + else: + config.gpus = 0 + gpu_set_using = "$CUDA_VISIBLE_DEVICES" + else: + config.gpus = int(bool(torch.cuda.device_count())) + gpu_set_using = "`torch.cuda.device_count()`" + logger.info(f"Set --gpus to {config.gpus} using {gpu_set_using}") + + if config.train.val_every_n_epoch is None: + # validate ~50 times as a default + config.train.val_every_n_epoch = max(1, round(config.train.epochs / 50)) + + kwargs = {"num_sanity_val_steps": 2 if config.debug else 0} + if config.dataset.val_size == 0: + kwargs = {"limit_val_batches": 0, "num_sanity_val_steps": 0} + + accumulate_grad_batches = getattr(config.train, "accumulate_grad_batches", None) + if accumulate_grad_batches: + kwargs["accumulate_grad_batches"] = accumulate_grad_batches + trainer = Trainer( + default_root_dir=config.log_dir, + callbacks=callbacks, + devices=config.gpus if config.gpus > 0 else 1, # 1 CPU proc. if no GPU + accelerator="gpu" if config.gpus > 0 else "cpu", + # DistributedDataParallel if using more than 1 GPU + strategy="auto" if config.gpus < 2 else "ddp", + max_epochs=config.train.epochs, + logger=loggers, + enable_model_summary=False, + check_val_every_n_epoch=config.train.val_every_n_epoch, + benchmark=True, # note caveats about determinism + gradient_clip_val=config.train.gradient_clip_norm, + gradient_clip_algorithm="norm", + profiler=config.profiler if config.profile else None, + log_every_n_steps=50, + **kwargs, + ) + return trainer, checkpoint_callback + + +def load_checkpoint_patient( + LitModel, + model_path, + config, + retries=100, + sleep_secs=3, + **kwargs, +): + while retries: + retries -= 1 + try: + model = LitModel.load_from_checkpoint(model_path, config=config, **kwargs) + except FileNotFoundError: + logger.warning( + f'Could not find "{model_path}"! Sleeping for ' + f"{sleep_secs} seconds - hopefully filesystem " + f"synchronizes by then...This warning is far more " + f"common when DDP strategy is used on older " + f"filesystems." + ) + sleep(sleep_secs) + else: + return model + raise FileNotFoundError( + f'No model found at path "{model_path}" after ' f"{retries * sleep_secs} seconds! Has it been " f"deleted?" + ) + + +def run(config, LitModel, FitLoop=None, train_loop=None, lit_model_kws=None): + suffix = ("__" + config.run_id) if config.run_id else "" + config.log_dir = os.path.join( + config.log_dir, config.dataset.name.lower() + suffix, config.model.name.lower(), now_str() + ) + if config.debug: + logger.info("We are in debug mode.") + config.log_dir += "_DEBUG" + + try: + repo = git.Repo(search_parent_directories=True) + sha = repo.head.object.hexsha + except git.InvalidGitRepositoryError: + sha = None + config.git_commit_hash = sha + + log_dir_orig = config.log_dir + retry = 0 + while True: + try: + os.makedirs(config.log_dir) + except FileExistsError: + retry += 1 + config.log_dir = f"{log_dir_orig}_{retry}" + else: + break + if retry: + logger.warning(f'"{log_dir_orig}" already existed, so we elected to ' f'log to "{config.log_dir}" instead.') + + seed_everything(config.seed, workers=True) + + if config.test.batch_size is None: + config.test.batch_size = config.train.batch_size + logger.info(f"Set config.test.batch_size = {config.test.batch_size}") + + logger.info("Create model.") + if lit_model_kws is None: + lit_model_kws = {} + model = LitModel(config, **lit_model_kws) + + logger.info("Create data module.") + data = LitData(config) + + logger.info("Create trainer.") + trainer, checkpoint_callback = create_trainer(config) + + if FitLoop is not None: + try: + from pytorch_lightning.loops import FitLoop as _ # noqa: F401 + + fl_kwargs = {} + except ImportError: + fl_kwargs = {"trainer": trainer} + + if config.dataset.needs_unaugmented: + fl_kwargs["data_module"] = data + fit_loop = FitLoop( + config=config, min_epochs=trainer.fit_loop.min_epochs, max_epochs=trainer.fit_loop.max_epochs, **fl_kwargs + ) + trainer.fit_loop = fit_loop + + if config.train.hparam_tune: + logger.info("Tuning hyperparameters before training.") + trainer.tune(model) + + logger.info("Train model.") + if train_loop is None: + trainer.fit(model, data) + else: + train_loop(trainer=trainer, model=model, data=data, config=config) + + # model summary (flops and memory) + summary = summarize(model, max_depth=2) + logger.info(summary) + # macs + x, y = next(iter(data.train_dataloader())) + macs = get_macs(model, x.to(device=model.device)) + logger.info(f"MAC Operations = {pretty_si_units(macs)}") + + model_info = dict( + model_size=summary.model_size, + trainable_parameters=summary.trainable_parameters, + total_parameters=summary.total_parameters, + macs=macs, + train_time_total=model.train_time_total, + train_time_per_epoch=model.train_time_per_epoch, + inference_time_per_sample=model.inference_time_per_sample, + inference_time_per_batch=model.inference_time_per_batch, + ) + logger.info(f"All model info:\n{model_info}") + + best_model_path = None + if checkpoint_callback is not None: + best_model_path = checkpoint_callback.best_model_path + logger.info(f'Load weights of best model from "{best_model_path}"') + model = load_checkpoint_patient(LitModel, best_model_path, config=config, **lit_model_kws) + + logger.info("Test the best model.") + results = trainer.test(model, data) + + results_dir = os.path.join(config.log_dir, "results") + os.makedirs(results_dir, exist_ok=True) + + results_path = os.path.join(results_dir, "scores.yaml") + config_path = os.path.join(results_dir, "config.yaml") + model_info_path = os.path.join(results_dir, "model_info.yaml") + best_model_path_txt = os.path.join(results_dir, "best_model_path.txt") + + logger.info(f"Writing config to {config_path}") + with open(config_path, "w") as f: + yaml_dump(nested_ns_to_nested_dict(config), f, indent=4) + + logger.info(f"Writing results to {results_path}") + with open(results_path, "w") as f: + yaml_dump(results, f, indent=4) + + logger.info(f"Writing model info to {model_info_path}") + with open(model_info_path, "w") as f: + yaml_dump(model_info, f, indent=4) + + if best_model_path is not None: + with open(best_model_path_txt, "w") as f: + f.write(os.path.relpath(best_model_path, results_dir)) + + return model diff --git a/pixpnet/protonets/__init__.py b/pixpnet/protonets/__init__.py new file mode 100644 index 0000000..10445ab --- /dev/null +++ b/pixpnet/protonets/__init__.py @@ -0,0 +1,3 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/pixpnet/protonets/evaluate.py b/pixpnet/protonets/evaluate.py new file mode 100644 index 0000000..29258bb --- /dev/null +++ b/pixpnet/protonets/evaluate.py @@ -0,0 +1,628 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import os +from typing import Optional + +import numpy as np +import pandas as pd +import torch +from torch.autograd import Variable +from torch.utils.data import DataLoader +from torchvision.ops.boxes import box_iou +from tqdm.auto import tqdm + +from pixpnet import data as pp_data +from pixpnet.protonets.models.protonet import ProtoNet +from pixpnet.protonets.prp.prp import generate_prp_image +from pixpnet.utils import get_logger +from pixpnet.utils_torch import unravel_index + +logger = get_logger(__name__) + + +def _resize_xy(xs, ys, im_h, im_w, resize_h, resize_w): + # linearly resize xs and ys + ratio_h = resize_h / im_h + ratio_w = resize_w / im_w + return xs * ratio_w, ys * ratio_h + + +def _preprocess_part_annotations_img( + orig_shape, + parts, + metadata, + img_id, + crop_size, + resize, + downsample, + bbox_cropped, +): + # preprocess part xy information + parts_img = parts[parts["img_id"] == img_id.item()] + if parts_img.empty: + logger.info(f"parts_img is empty for img_id={img_id}!!! " f"Continuing...") + return None, None + + parts_x = torch.tensor(parts_img.x.values) + parts_y = torch.tensor(parts_img.y.values) + part_ids_img = parts_img["part_id"].values + + _, im_h, im_w = orig_shape + im_h, im_w = im_h.item(), im_w.item() + + if bbox_cropped: + metadata_i = metadata[metadata["img_id"] == img_id.item()] + assert len(metadata_i) == 1 + metadata_i = metadata_i.iloc[0] + parts_x -= metadata_i.x + parts_y -= metadata_i.y + im_h, im_w = metadata_i.h, metadata_i.w + + crop_h = crop_w = crop_size + if crop_size: + if min(im_h, im_w) < crop_size: + ratio = max(crop_size / im_h, crop_size / im_w) + crop_resize_h = round(im_h * ratio) + crop_resize_w = round(im_w * ratio) + # resize + parts_x, parts_y = _resize_xy( + xs=parts_x, ys=parts_y, im_h=im_h, im_w=im_w, resize_h=crop_resize_h, resize_w=crop_resize_w + ) + # update im_h and im_w + im_h, im_w = crop_resize_h, crop_resize_w + if resize: + # resize + parts_x, parts_y = _resize_xy(xs=parts_x, ys=parts_y, im_h=im_h, im_w=im_w, resize_h=resize, resize_w=resize) + # update im_h and im_w + im_h, im_w = resize, resize + if crop_size: + if crop_w > im_w or crop_h > im_h: + raise NotImplementedError + + crop_top = int(round((im_h - crop_h) / 2.0)) + crop_left = int(round((im_w - crop_w) / 2.0)) + # crop + parts_y -= crop_top + parts_x -= crop_left + # update im_h and im_w + im_h, im_w = crop_h, crop_w + + if downsample: + # resize + parts_x, parts_y = _resize_xy( + xs=parts_x, ys=parts_y, im_h=im_h, im_w=im_w, resize_h=downsample, resize_w=downsample + ) + # update im_h and im_w + im_h, im_w = downsample, downsample + + # validate + invisible = ((parts_y < 0) | (parts_y >= im_h)) | ((parts_x < 0) | (parts_x >= im_w)) + if invisible.any(): + logger.warning( + f"Due to preprocessing of (img_id={img_id}," + f"part_ids={part_ids_img[invisible]}), " + f"{invisible.sum()}/{len(invisible)} object " + f"parts became invisible" + ) + visible = ~invisible + parts_x, parts_y = parts_x[visible], parts_y[visible] + part_ids_img = part_ids_img[visible] + if not len(parts_x): + return None, None + + # x1, y1, x2, y2 (K x 4) + parts_bboxes = torch.stack([parts_x, parts_y, parts_x + 1, parts_y + 1], dim=1) + return parts_bboxes, part_ids_img + + +def _preprocess_parts(parts): + min_part, max_part = parts["part_id"].min(), parts["part_id"].max() + num_parts = max_part + 1 + logger.info( + f"Min. part_id={min_part}, max. part_id={max_part}. Assuming " f"that there are {num_parts} part IDs in total." + ) + + # Visible parts only! + parts = parts[parts["visible"].astype(bool)] + return parts, num_parts + + +def _pixel_space_bboxes( + model: ProtoNet, + x: torch.Tensor, # N x C x H x W + l1_radius: int, + method: str, +): + # get model results + result = model(x) + # max_sims: N x P + min_dist_idxs = result["min_dist_idxs"] + # proto_dists: N x P x Hz x Wz + proto_dists = result["distances"] + + if method == "bbox": + # bboxes: N x P x 4 (x1, y1, x2, y2) + bboxes = model.pixel_space_bboxes(min_dist_idxs, proto_dists) + bbox_centers_x = (bboxes[:, :, 0] + bboxes[:, :, 2]) / 2 # N x P + bbox_centers_y = (bboxes[:, :, 1] + bboxes[:, :, 3]) / 2 # N x P + + elif method in {"heatmap_max", "heatmap_mean"}: + bbox_centers_x = torch.empty( + ( + len(x), + model.num_prototypes, + ) + ) + bbox_centers_y = torch.empty_like(bbox_centers_x) + + for i, (x_i, proto_dists_i) in enumerate(zip(x, proto_dists)): + # P x H x W + heatmap_max, heatmap_mean, _ = model.pixel_space_map(x_i, proto_dists_i) + heatmap = heatmap_max if method == "heatmap_max" else heatmap_mean + # P + max_per_proto = heatmap.max(dim=2).values.max(dim=1).values + # where the max is + idx_p, idx_h, idx_w = torch.where(heatmap == max_per_proto[:, None, None]) + for j in range(model.num_prototypes): + j_mask = idx_p == j + bbox_centers_y[i, j] = idx_h[j_mask].float().mean() + bbox_centers_x[i, j] = idx_w[j_mask].float().mean() + + elif method == "upsample": + + bbox_centers_x, bbox_centers_y = model.pixel_space_centers_upscale(x, min_dist_idxs, proto_dists) + + elif method == "center": + + bbox_centers_x = torch.full((len(x), model.num_prototypes), x.shape[3] // 2) + bbox_centers_y = torch.full((len(x), model.num_prototypes), x.shape[2] // 2) + + else: + raise NotImplementedError(method) + zero = torch.tensor(0, dtype=bbox_centers_x.dtype) + bboxes = torch.stack( + [ + torch.maximum(bbox_centers_x - l1_radius, zero), + torch.maximum(bbox_centers_y - l1_radius, zero), + bbox_centers_x + l1_radius, + bbox_centers_y + l1_radius, + ], + dim=2, + ) + return bboxes + + +def _compute_intersects( + bbox_i, # P x 4 + parts_bboxes, # K x 4 + class_mask, # P + part_ids_img, # K + soft: bool = False, +): + if soft: + raise NotImplementedError + + # P x 4, K x 4 --> P x K (for each visible part_id and proto) + ious = box_iou(bbox_i[class_mask], parts_bboxes) + # binarize it (convert to an intersection indicator) + intersects = (ious > 0).int() # P x K + # adjust part_ids_img and intersects to handle the case of + # multiple instances of the same part in the image + uniq_part_ids_img = np.unique(part_ids_img) + if len(uniq_part_ids_img) != len(part_ids_img): + # there are duplicates... + # P x Kact + intersects_dedupe = torch.zeros( + (intersects.shape[0], len(uniq_part_ids_img)), dtype=intersects.dtype, device=intersects.device + ) + # find maximum per actual + for k, part in enumerate(uniq_part_ids_img): + part_mask = part_ids_img == part + # final intersect value is the maximum among all + # duplicate parts per prototype + intersects_dedupe[:, k] = torch.max( + intersects[:, part_mask], + dim=1, + ).values + # finalize + part_ids_img = uniq_part_ids_img + intersects = intersects_dedupe + # intersects: P x K + return part_ids_img, intersects + + +def consistency( # https://arxiv.org/abs/2212.05946 + model: ProtoNet, + data: DataLoader, # test set, must contain img_id and x_raw + parts: pd.DataFrame, + config, + metadata: Optional[pd.DataFrame], + consistent_threshold: Optional[int] = 0.8, + l1_radius: int = 36, # 72-pixel diameter + soft: bool = False, # IoU instead of yes/no (different from final soft) + method: str = "bbox", +): + """""" + if not model.class_specific: + raise NotImplementedError + + prototype_class_identity = model.prototype_class_identity.cpu().bool() + + parts, num_parts = _preprocess_parts(parts) + + # Preprocess coordinate metadata + dataset = config.dataset.name.upper().replace("-", "") + crop_size, _ = pp_data.DATA_CROP_AND_PAD[dataset] + resize = pp_data.DATA_RESIZE.get(dataset) + downsample = pp_data.DATA_DOWNSAMPLE.get(dataset) + bbox_cropped = "BBOX" in dataset + + with torch.no_grad(): + device = model.prototype_vectors.device + + contains_part_counts = torch.zeros((model.num_prototypes, num_parts)) + part_counts = torch.zeros_like(contains_part_counts) + + for i, (img_ids, orig_shapes, x, y) in enumerate(tqdm(data, desc="Samples")): + x = x.to(device) + y = y.to(device) + + # Get protonet-generated bboxes in pixel space + bboxes = _pixel_space_bboxes(model, x, l1_radius, method) + + for j, (img_id, orig_shape, bbox_i, y_i) in enumerate( + tqdm(zip(img_ids, orig_shapes, bboxes, y), desc="Batch", total=len(x), leave=(i + 1) == len(data)) + ): + # preprocess part xy information + parts_bboxes, part_ids_img = _preprocess_part_annotations_img( + orig_shape=orig_shape, + parts=parts, + metadata=metadata, + img_id=img_id, + crop_size=crop_size, + resize=resize, + downsample=downsample, + bbox_cropped=bbox_cropped, + ) + if parts_bboxes is None: + continue + + # P x C --> P + class_mask = prototype_class_identity[:, y_i] + # intersects: P x K + part_ids_img, intersects = _compute_intersects( + bbox_i=bbox_i, # P x 4 + parts_bboxes=parts_bboxes, # K x 4 + class_mask=class_mask, # P + part_ids_img=part_ids_img, # K + soft=soft, + ) + # update both counts for the visible parts + class_mask_where = torch.where(class_mask)[0] + contains_part_counts[ + class_mask_where[:, None], # Psub x 1 + part_ids_img[None, :], # 1 x Ksub + ] += intersects + part_counts[ + class_mask_where[:, None], # Psub x 1 + part_ids_img[None, :], # 1 x Ksub + ] += 1 + + # finalize scores + scores_soft_all_parts = contains_part_counts.float() / part_counts.float() + scores_soft_per_proto = torch.max(scores_soft_all_parts, dim=1).values + + # print some distribution stats + q = torch.tensor([0, 0.25, 0.50, 0.75, 1]) + dist_percentiles = torch.quantile(scores_soft_per_proto[~torch.isnan(scores_soft_per_proto)], q).tolist() + print( + f"scores_soft_per_proto percentiles:\n" + f' {" / ".join(f"{x * 100:6.2f}%" for x in q.tolist())}\n' + f' {" / ".join(f"{x:7.4f}" for x in dist_percentiles)}' + ) + + score_soft = scores_soft_per_proto.nanmean() + scores_hard_per_proto = (scores_soft_per_proto >= consistent_threshold).float() + score_hard = scores_hard_per_proto.mean() + + return score_soft, score_hard + + +def stability( # https://arxiv.org/abs/2212.05946 + model: ProtoNet, + data: DataLoader, # test set, must contain img_id and x_raw + parts: pd.DataFrame, + config, + metadata: Optional[pd.DataFrame], + l1_radius: int = 36, # 72-pixel diameter + noise_std: float = 0.2, + min_overlap: Optional[float] = None, # hard only + soft: bool = False, # IoU instead of yes/no (different from final soft) + method: str = "bbox", +): + """""" + if not model.class_specific: + raise NotImplementedError + if min_overlap is not None: + raise NotImplementedError + + prototype_class_identity = model.prototype_class_identity.cpu().bool() + + parts, num_parts = _preprocess_parts(parts) + + # Preprocess coordinate metadata + dataset = config.dataset.name.upper().replace("-", "") + crop_size, _ = pp_data.DATA_CROP_AND_PAD[dataset] + resize = pp_data.DATA_RESIZE.get(dataset) + downsample = pp_data.DATA_DOWNSAMPLE.get(dataset) + bbox_cropped = "BBOX" in dataset + + with torch.no_grad(): + device = model.prototype_vectors.device + + stability_counts = torch.zeros((model.num_prototypes,)) + stability_ious = torch.zeros_like(stability_counts) + prototype_counts = torch.zeros_like(stability_counts) + + for i, (img_ids, orig_shapes, x, y) in enumerate(tqdm(data, desc="Samples")): + x = x.to(device) + y = y.to(device) + + # Get protonet-generated bboxes in pixel space + bboxes = _pixel_space_bboxes(model, x, l1_radius, method) + noise = torch.zeros_like(x).normal_(mean=0, std=noise_std) + x_noisy = x + noise + bboxes_noisy = _pixel_space_bboxes(model, x_noisy, l1_radius, method) + + for j, (img_id, orig_shape, bbox_i, bbox_noisy_i, y_i) in enumerate( + tqdm( + zip(img_ids, orig_shapes, bboxes, bboxes_noisy, y), + desc="Batch", + total=len(x), + leave=(i + 1) == len(data), + ) + ): + # preprocess part xy information + parts_bboxes, part_ids_img = _preprocess_part_annotations_img( + orig_shape=orig_shape, + parts=parts, + metadata=metadata, + img_id=img_id, + crop_size=crop_size, + resize=resize, + downsample=downsample, + bbox_cropped=bbox_cropped, + ) + if parts_bboxes is None: + continue + + # P x C --> P + class_mask = prototype_class_identity[:, y_i] + # intersects: Psub x Kact + _, intersects = _compute_intersects( + bbox_i=bbox_i, # P x 4 + parts_bboxes=parts_bboxes, # K x 4 + class_mask=class_mask, # P + part_ids_img=part_ids_img, # K + soft=soft, + ) + _, intersects_noisy = _compute_intersects( + bbox_i=bbox_noisy_i, # P x 4 + parts_bboxes=parts_bboxes, # K x 4 + class_mask=class_mask, # P + part_ids_img=part_ids_img, # K + soft=soft, + ) + + # test for equivalence before and after adding noise (same + # object assignments per prototype) + # P + same_intersects = (intersects == intersects_noisy).all(dim=1) + intersect_ious = (intersects & intersects_noisy).sum(dim=1) / (intersects | intersects_noisy).sum(dim=1) + + # update both counts for stability indicator and proto count + stability_counts[class_mask] += same_intersects.int() + stability_ious[class_mask] += intersect_ious + prototype_counts[class_mask] += 1 + + # finalize scores + scores_per_proto = stability_counts / prototype_counts + soft_scores_per_proto = stability_ious / prototype_counts + + # print some distribution stats + q = torch.tensor([0, 0.25, 0.50, 0.75, 1]) + dist_percentiles = torch.quantile(scores_per_proto[~torch.isnan(scores_per_proto)], q).tolist() + print( + f"scores_per_proto percentiles:\n" + f' {" / ".join(f"{x * 100:6.2f}%" for x in q.tolist())}\n' + f' {" / ".join(f"{x:7.4f}" for x in dist_percentiles)}' + ) + dist_percentiles = torch.quantile(soft_scores_per_proto[~torch.isnan(soft_scores_per_proto)], q).tolist() + print( + f"soft_scores_per_proto percentiles:\n" + f' {" / ".join(f"{x * 100:6.2f}%" for x in q.tolist())}\n' + f' {" / ".join(f"{x:7.4f}" for x in dist_percentiles)}' + ) + + score = scores_per_proto.nanmean() + score_soft = soft_scores_per_proto.nanmean() + return score_soft, score + + +def relevance_ordering_test( + model: ProtoNet, + data: DataLoader, # test set + num_samples: int = 50, + same_class: bool = True, # prototypes of same class only + normalized: bool = False, + prop_pixels: float = 0.5, + method: str = "rf", + zeros=True, # if false, use random + seed: Optional[int] = None, + config: Optional[object] = None, + savedir_for_viz: Optional[str] = None, +): + assert 0 < prop_pixels <= 1 + + if same_class: + if not model.class_specific: + raise ValueError + prototype_class_identity = model.prototype_class_identity.cpu().bool() + + with torch.no_grad(): + device = model.prototype_vectors.device + batch_size = data.batch_size + + rand_sample = None + num_pixels = None + cum_sims = None + num_samples_eval = 0 + num_samples_eval_per_proto = torch.zeros((model.num_prototypes,)) + + pbar = tqdm(data, total=num_samples, desc="Samples") + for i, (x, y) in enumerate(pbar): + if num_samples_eval == num_samples: + break + x = x.to(device) + # truncate to avoid evaluating more samples than needed + x = x[: num_samples - num_samples_eval] + if rand_sample is None: + N, C, H, W = x.shape + # assumes normally distributed data w/ mean=0 std=1 + if seed is not None: + torch.manual_seed(seed) + if zeros: + rand_sample = torch.zeros((1, C, H, W), device=device, dtype=x.dtype) + else: + rand_sample = torch.randn((1, C, H, W), device=device, dtype=x.dtype) + # +1 for random without any pixels added back + num_pixels = round(H * W * prop_pixels) + 1 + # cumulative sims tensor + cum_sims = torch.zeros((model.num_prototypes, num_pixels), dtype=x.dtype, device=device) + + result = model(x) + # proto_dists: N x P x Hz x Wz + proto_dists = result["distances"] + # max_sims: N x P + max_sims = result["max_similarities"] + + leave = ((i + 1) * len(x)) == num_samples + for k, (x_i, y_i, proto_dists_i, max_sims_i) in enumerate( + tqdm(zip(x, y, proto_dists, max_sims), desc="Batch", total=len(x), leave=leave) + ): + # The pixel-space similarity map for each prototype + # P x H x W + if method == "rf": + heat_map_max, heat_map_avg, heat_map_sum = model.pixel_space_map(x_i, proto_dists_i) + heat_map = heat_map_max + elif method == "upscale": + heat_map = model.pixel_space_upscale(x_i, proto_dists_i) + elif method == "random": + heat_map = torch.rand(model.num_prototypes, H, W) + elif method == "prp": + x_i_var = Variable(x_i.unsqueeze(0)) + x_i_var = x_i_var.to(device) + + heat_map = [] + + for p in range(model.num_prototypes): + heat_map_p = generate_prp_image(x_i_var, p, model, config) + heat_map.append(heat_map_p) + heat_map = torch.stack(heat_map) + else: + raise NotImplementedError + + # Get descending sort indices: P x HW + heat_map_sort_idxs = torch.argsort(heat_map.reshape(model.num_prototypes, -1), descending=True) + + if same_class: + proto_idxs = torch.where(prototype_class_identity[:, y_i])[0] + else: + proto_idxs = range(model.num_prototypes) + + # For each prototype + leave_proto = (k + 1) == len(x) + for m, p in enumerate(tqdm(proto_idxs, desc="Prototypes", leave=leave and leave_proto)): + if savedir_for_viz: + sample_sims = torch.zeros((num_pixels,), dtype=x.dtype, device=device) + # N x C x H x W + x_pert = rand_sample.repeat(batch_size, 1, 1, 1) + + num_pixels_eval = 0 + # Batch evaluate each pixel added back in descending + # pixel-space similarity score order + pbar_pixels = tqdm( + desc="Pixels", total=num_pixels, leave=(leave and leave_proto and ((m + 1) == len(proto_idxs))) + ) + while num_pixels_eval < num_pixels: + # truncate to avoid duplicate evaluations + x_pert = x_pert[: num_pixels - num_pixels_eval] + + # create a batch of new patches + for j in range(len(x_pert)): + if j == 0 and num_pixels_eval == 0: + # the very first of `num_pixels` is allocated to + # just the random image + continue + # update batch (current samples and all proceeding + # samples) + pixel_idx = heat_map_sort_idxs[p, j + num_pixels_eval - 1] # -1 for all rand + pixel_idx_h, pixel_idx_w = unravel_index(pixel_idx, heat_map.shape[1:]) + x_pert[j:, :, pixel_idx_h, pixel_idx_w] = x_i[None, :, pixel_idx_h, pixel_idx_w] + + # eval batch, get max_sims for prototype p + sims = model(x_pert)["max_similarities"][:, p] # N + if normalized: + # sample-wise and prototype-wise max normalization + sims /= max_sims_i[p] + # update cumulative sims for this prototype and the + # current evaluated pixels + # @formatter:off + cum_sims[p, num_pixels_eval : num_pixels_eval + len(sims)] += sims + if savedir_for_viz: + sample_sims[num_pixels_eval : num_pixels_eval + len(sims)] = sims + # @formatter:on + + # at end, update number of evaluated pixels + num_pixels_eval += len(x_pert) + # and update all samples to be at the value of final + # pixel added + x_pert[:] = x_pert[-1][None] + + pbar_pixels.update(len(x_pert)) + + pbar_pixels.close() + + if savedir_for_viz: + sample_idx = num_samples_eval + k + savedir_full = os.path.join( + savedir_for_viz, + f"method_{method}", + f"sample_{sample_idx}", + f"prototype_{int(p)}", + ) + os.makedirs(savedir_full, exist_ok=True) + # Save + torch.save( + { + "similarities": sample_sims.cpu(), + "random_sample": rand_sample.cpu(), + "heat_map_indices": heat_map_sort_idxs[p].cpu(), + }, + os.path.join(savedir_full, "rot_data.pt"), + ) + + num_samples_eval += len(x) + num_samples_eval_per_proto[proto_idxs] += len(x) + pbar.update(len(x)) + + pbar.close() + + cum_sims = cum_sims.cpu() + cum_sims /= num_samples_eval_per_proto[:, None] + # P x num_pixels --> num_pixels + cum_sims_agg = torch.nanmean(cum_sims, dim=0) + + return cum_sims, cum_sims_agg diff --git a/pixpnet/protonets/lit_model.py b/pixpnet/protonets/lit_model.py new file mode 100644 index 0000000..611da27 --- /dev/null +++ b/pixpnet/protonets/lit_model.py @@ -0,0 +1,366 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import argparse +from typing import Tuple + +import torch +from torch import nn +from torchmetrics import Accuracy + +try: + from pytorch_lightning.loops import FitLoop +except ImportError: + from pytorch_lightning.loops.fit_loop import _FitLoop as FitLoop + +from pytorch_lightning import LightningModule, Trainer +from pytorch_lightning.loggers import TensorBoardLogger + +from pixpnet.data import get_metadata +from pixpnet.lightning.lightning_data import LitData +from pixpnet.lightning.lit_module import BaseLitModel +from pixpnet.optim import get_optimizer_cls, get_scheduler +from pixpnet.protonets.loss import ClusterLoss, L1ReadoutLoss, SeparationLoss +from pixpnet.protonets.models.protonet import ProtoNet, protonet +from pixpnet.protonets.push import push_prototypes +from pixpnet.utils import get_logger, intersect_func_and_kwargs + +logger = get_logger(__name__) + + +def params_with_grad(parameters): + return filter(lambda p: p.requires_grad, parameters) + + +def make_optimizers_proto( + model: ProtoNet, + config: argparse.Namespace, +) -> Tuple[torch.optim.Optimizer, ...]: + """""" + optimizer_cls, hparams = get_optimizer_cls(config, ignore={"fine_tune_lr", "readout_lr"}) + + readout_params = None + if model.last_layer is not None: + readout_params = [ + { + "params": params_with_grad(model.last_layer.parameters()), + "lr": config.optimizer.readout_lr, + "weight_decay": 0, + }, + ] + all_params = [ + # feature extractor + {"params": params_with_grad(model.features.parameters()), "lr": config.optimizer.fine_tune_lr}, + # add on layers + {"params": params_with_grad(model.add_on_layers.parameters())}, + # prototype layers + {"params": params_with_grad([model.prototype_vectors]), "weight_decay": 0}, + ] + readout_optimizer = None + if readout_params is not None: + all_params += readout_params + readout_optimizer = optimizer_cls(params=readout_params, **hparams) + + optimizer = optimizer_cls(params=all_params, **hparams) + return optimizer, readout_optimizer + + +def _set_grad(model, features=True, add_on_layers=True, prototype_vectors=True, last_layer=True): + for p in model.features.parameters(): + p.requires_grad = features + for p in model.add_on_layers.parameters(): + p.requires_grad = add_on_layers + model.prototype_vectors.requires_grad = prototype_vectors + if model.last_layer is not None: + for p in model.last_layer.parameters(): + p.requires_grad = last_layer + + +def last_only(model): + _set_grad(model, features=False, add_on_layers=False, prototype_vectors=False) + + +def warm_only(model): + _set_grad(model, features=False) + + +def joint(model): + _set_grad(model) + + +class ProtoLitModel(BaseLitModel): + def __init__(self, config, feature_extractor=None): + super().__init__(config) + metadata = get_metadata(config) + self.num_classes = metadata.output_size + self.input_size = metadata.input_size + hparams, invalid_keys = intersect_func_and_kwargs( + protonet, + config.model, + exclude_func_args={"num_classes"}, + exclude_kwargs={"name"}, + ) + if invalid_keys: + logger.warning( + f"Will not pass the following invalid model " + f"hyperparameters to {protonet.__name__}: " + f'{", ".join(invalid_keys)}' + ) + logger.info(f"Model hyperparameters for {protonet.__name__}: " f"{hparams}") + if feature_extractor is not None: + logger.info( + f"feature_extractor is not None, ignoring config " f'option of {hparams.get("feature_extractor")}' + ) + hparams["feature_extractor"] = feature_extractor + self.model = protonet(num_classes=self.num_classes, input_size=self.input_size, **hparams) + + self.lr_scheduler = None + self.readout_optimizer = self.lr_scheduler_configs = None + + # losses + self.xent = self._metric_per_split(nn.CrossEntropyLoss) + class_specific = self.config.model.class_specific + self.l1 = self._metric_per_split(L1ReadoutLoss, class_specific=class_specific) + self.cluster = self._metric_per_split(ClusterLoss, class_specific=class_specific) + self.separation = self._metric_per_split(SeparationLoss) if class_specific else None + + # metrics + acc_kws = {"task": "multiclass", "num_classes": self.num_classes} + self.accuracy = self._metric_per_split(Accuracy, **acc_kws) + self.weighted_accuracy = self._metric_per_split(Accuracy, average="macro", **acc_kws) + + def _forward(self, x, **kwargs): + return self.model(x, **kwargs) + + def configure_optimizers(self): + if self.optimizer is None: + self.optimizer, self.readout_optimizer = make_optimizers_proto(self.model, self.config) + self.lr_scheduler = get_scheduler(self.optimizer, self.config) + else: + logger.warning( + "In configure_optimizers: will not reinitialize " + "optimizer(s) and schedulers as self.optimizer is " + "not None" + ) + return [self.optimizer], [ + { + "scheduler": self.lr_scheduler, + "interval": "epoch", + } + ] + + def _use_optimizer(self, optimizer, lr_scheduler_configs): + self.trainer.optimizers = [optimizer] + self.trainer.strategy.lr_scheduler_configs = lr_scheduler_configs + self.trainer.optimizer_frequencies = [] + + def use_readout_optimizer(self): + if self.lr_scheduler_configs is None: + self.lr_scheduler_configs = self.trainer.lr_scheduler_configs + self._use_optimizer(self.readout_optimizer, []) + + def use_default_optimizer(self): + self._use_optimizer(self.optimizer, self.lr_scheduler_configs) + + def _shared_eval(self, batch, batch_idx, dataset_idx, prefix): + coefs = self.config.loss + + if len(batch) == 2: + x, y = batch + else: + # first element is an index + _, x, y = batch + + result = self(x) + if self.training: + self.log_result(result) + + logits = result["logits"] + min_distances = result["min_distances"] + + # maybe free mem of unused tensors + del result + + # compute losses + loss = 0 + if coefs.xent != 0: + xent_loss = self.xent[prefix](logits, y) + self.log(f"{prefix}_xent", xent_loss) + xent_loss *= coefs.xent + self.log(f"{prefix}_xent_weighted", xent_loss) + loss += xent_loss + + if coefs.cluster != 0: + cluster_args = (min_distances, y, self.model) + cluster_loss = self.cluster[prefix](*cluster_args) + self.log(f"{prefix}_cluster_loss", cluster_loss) + cluster_loss *= coefs.cluster + self.log(f"{prefix}_cluster_loss_weighted", cluster_loss) + loss += cluster_loss + + if self.separation is not None and coefs.separation != 0: + *sep_args, sep_kwargs = (min_distances, y, self.model, {"return_avg": True}) + separation_loss = self.separation[prefix](*sep_args, **sep_kwargs) + separation_loss, avg_separation_loss = separation_loss + self.log(f"{prefix}_avg_separation_loss", avg_separation_loss) + + self.log(f"{prefix}_separation_loss", separation_loss) + separation_loss *= coefs.separation + self.log(f"{prefix}_separation_loss_weighted", separation_loss) + loss += separation_loss + + if self.model.last_layer is not None and coefs.l1 != 0 and self.model.readout_type in {"linear", "sparse"}: + l1_loss = self.l1[prefix](self.model) + self.log(f"{prefix}_l1_loss", l1_loss) + l1_loss = l1_loss * coefs.l1 # no in-place modification + self.log(f"{prefix}_l1_loss_weighted", l1_loss) + loss += l1_loss + + self.log(f"{prefix}_total_loss", loss) + + self.accuracy[prefix](logits, y) + self.log(f"{prefix}_accuracy", self.accuracy[prefix], prog_bar=True) + self.weighted_accuracy[prefix](logits, y) + self.log(f"{prefix}_weighted_accuracy", self.weighted_accuracy[prefix]) + + return loss + + @property + def tb_logger(self): + for pl_logger in self.loggers: + if isinstance(pl_logger, TensorBoardLogger): + return pl_logger + + def log_result(self, result): + if not self.config.tb_logging: + return + pl_logger = self.tb_logger + if pl_logger is None: + logger.warning("Could not find TB logger...") + return + global_step = self.global_step + for k, v in result.items(): + self.safe_add_histogram(pl_logger, k, v, global_step) + + @staticmethod + def safe_add_histogram(pl_logger: TensorBoardLogger, name, *args, **kwargs): + try: + pl_logger.experiment.add_histogram(name, *args, **kwargs) + except ValueError as e: + logger.warning(f"Error when logging name={name}: {e}") + + def on_after_backward(self): + if not self.config.tb_logging: + return + pl_logger = self.tb_logger + if pl_logger is None: + logger.warning("Could not find TB logger...") + return + global_step = self.global_step + for name, module in self.model.add_on_layers.named_modules(prefix="add_on_layers"): + if not isinstance(module, nn.Conv2d): + continue + self.safe_add_histogram(pl_logger, name, module.weight, global_step) + if module.weight.grad is not None: + self.safe_add_histogram(pl_logger, name + "_grad", module.weight.grad, global_step) + self.safe_add_histogram(pl_logger, "prototype_vectors", self.model.prototype_vectors, global_step) + if self.model.prototype_vectors.grad is not None: + self.safe_add_histogram(pl_logger, "prototype_vectors_grad", self.model.prototype_vectors.grad, global_step) + + +class ProtoFitLoop(FitLoop): + # Potential alt/other resource: + # https://pytorch-lightning.readthedocs.io/en/latest/notebooks/lightning_examples/finetuning-scheduler.html + def __init__(self, config, data_module=None, **kwargs): + super().__init__(**kwargs) + self.config = config + assert (data_module is None) == (not self.config.train.push_prototypes) + self.data_module = data_module + self._repeated_advance = False + self._n_pushes = 0 + + @property + def model(self) -> ProtoNet: + return self.pl_module.model + + @property + def pl_module(self) -> ProtoLitModel: + return self.trainer.lightning_module + + def on_advance_start(self) -> None: + if self._repeated_advance: + return + logger.info("on_advance_start") + super().on_advance_start() + + current_epoch = self.trainer.current_epoch + 1 + if current_epoch <= self.config.optimizer.warmup_period: + logger.info( + f"warm_only: " + f"trainer.current_epoch={self.trainer.current_epoch} " + f"config.optimizer.warmup_period=" + f"{self.config.optimizer.warmup_period}" + ) + warm_only(self.model) + else: + logger.info( + f"joint: " + f"trainer.current_epoch={self.trainer.current_epoch} " + f"config.optimizer.warmup_period=" + f"{self.config.optimizer.warmup_period}" + ) + joint(self.model) + + def on_advance_end(self) -> None: + current_epoch = self.trainer.current_epoch + 1 + is_first_epoch = current_epoch == 1 + is_last_epoch = current_epoch == self.max_epochs + if self.config.train.push_prototypes and ( + current_epoch % self.config.train.push_every == 0 or is_last_epoch or is_first_epoch + ): + self._n_pushes += 1 + logger.info( + f"Pushing prototypes (Push {self._n_pushes} " f"on epoch {current_epoch} / {self.config.train.epochs})" + ) + + run_push( + trainer=self.trainer, + model=self.pl_module, + data=self.data_module, + config=self.config, + ) + super().on_advance_end() + + +def run_push( + trainer: Trainer, + model: LightningModule, + data: LitData, + config, +): + push_prototypes( + data.train_no_aug_dataloader(), + model.model, + class_specific=config.model.class_specific, + duplicate_filter=config.train.push_duplicate_filter, + ) + + readout_push_epochs = config.train.readout_push_epochs + if readout_push_epochs and model.model.readout_type != "proto" and model.model.last_layer is not None: + # now that we have pushed prototypes, we need to fine-tune the + # last layer + last_only(model.model) + # disable validation during last-layer training + limit_val_batches = trainer.limit_val_batches + trainer.limit_val_batches = 0 + # switch to readout optimizer (no lr schedule) + model.use_readout_optimizer() + # convex optimization of readout + for _ in range(readout_push_epochs): + trainer.fit_loop.on_advance_start() + trainer.fit_loop.advance() + # switch back to default optimizer + model.use_default_optimizer() + # re-enable validation + trainer.limit_val_batches = limit_val_batches diff --git a/pixpnet/protonets/loss.py b/pixpnet/protonets/loss.py new file mode 100644 index 0000000..08f9277 --- /dev/null +++ b/pixpnet/protonets/loss.py @@ -0,0 +1,90 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import torch +from torch import Tensor, nn + +from pixpnet.protonets.models.layers import GroupedLinear +from pixpnet.protonets.models.protonet import ProtoNet + + +class ClusterLoss(nn.Module): + def __init__(self, class_specific=True): + super().__init__() + self.class_specific = class_specific + + def forward(self, min_distances: Tensor, target: Tensor, model: ProtoNet) -> Tensor: + # min_distances: N x P + if self.class_specific: + # prototypes_of_correct_class: batch_size x num_prototypes + prototypes_of_correct_class = torch.t(model.prototype_class_identity[:, target]) + min_distances_target = torch.where( + prototypes_of_correct_class.bool(), + min_distances, + torch.tensor(torch.inf, dtype=min_distances.dtype, device=min_distances.device), + ) + min_min_distances, _ = torch.min(min_distances_target, dim=1) + cluster_loss = torch.mean(min_min_distances) + else: + min_min_distances, _ = torch.min(min_distances, dim=1) + cluster_loss = torch.mean(min_min_distances) + + return cluster_loss + + +class SeparationLoss(nn.Module): + @staticmethod + def forward(min_distances: Tensor, target: Tensor, model: ProtoNet, return_avg: bool = False): + """ + Here we want to maximize the minimum of all minimum proto-patch + distances (each being some patch that is closest to a given prototype) + for each non-class prototype. In effect, for each sample, a patch is + selected for each non-class prototype according to minimum distance. So, + we end up with one patch and one prototype per sample after taking the + minimum of the proto-patch distances. + """ + # min_distances: N x P + # prototype_class_identity: P x C + # prototypes_of_correct_class: N x P + prototypes_of_correct_class = torch.t(model.prototype_class_identity[:, target]).bool() + min_distances_nontarget = torch.where( + prototypes_of_correct_class.bool(), + torch.tensor(torch.inf, dtype=min_distances.dtype, device=min_distances.device), + min_distances, + ) + dists_to_nontarget_prototypes, _ = torch.min(min_distances_nontarget, dim=1) + separation_loss = -torch.mean(dists_to_nontarget_prototypes) + + if not return_avg: + return separation_loss + # otherwise + min_distances_nontarget = torch.where( + prototypes_of_correct_class.bool(), + torch.tensor(0, dtype=min_distances.dtype, device=min_distances.device), + min_distances, + ) + avg_separation_cost = torch.sum(min_distances_nontarget, dim=1) / torch.sum( + ~prototypes_of_correct_class.bool(), dim=1 + ) + avg_separation_cost = -torch.mean(avg_separation_cost) + return separation_loss, avg_separation_cost + + +class L1ReadoutLoss(nn.Module): + def __init__(self, class_specific=True): + super().__init__() + self.class_specific = class_specific + + def forward(self, model: ProtoNet) -> Tensor: + last_layer = model.last_layer + if isinstance(last_layer, GroupedLinear): + l1_loss = last_layer.weight.norm(p=1) + else: + if self.class_specific: + l1_mask = 1 - torch.t(model.prototype_class_identity) + l1_loss = (last_layer.weight * l1_mask).norm(p=1) + else: + l1_loss = last_layer.weight.norm(p=1) + + return l1_loss diff --git a/pixpnet/protonets/models/__init__.py b/pixpnet/protonets/models/__init__.py new file mode 100644 index 0000000..10445ab --- /dev/null +++ b/pixpnet/protonets/models/__init__.py @@ -0,0 +1,3 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/pixpnet/protonets/models/feature_extractor_zoo.py b/pixpnet/protonets/models/feature_extractor_zoo.py new file mode 100644 index 0000000..33cda6b --- /dev/null +++ b/pixpnet/protonets/models/feature_extractor_zoo.py @@ -0,0 +1,636 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import inspect +import re +import sys +from collections import OrderedDict, defaultdict +from typing import Any, Dict, Iterable, List, Optional, Union + +import torchvision +from packaging import version +from torch import nn +from torch.nn.modules import activation +from torch.nn.modules.batchnorm import _NormBase +from torch.nn.modules.conv import _ConvNd +from torch.nn.modules.dropout import _DropoutNd # noqa: F401 +from torch.nn.modules.padding import _ConstantPadNd, _ReflectionPadNd, _ReplicationPadNd +from torch.nn.modules.pooling import ( + _AdaptiveAvgPoolNd, + _AdaptiveMaxPoolNd, + _AvgPoolNd, + _LPPoolNd, + _MaxPoolNd, + _MaxUnpoolNd, +) +from torchvision import models +from torchvision.models import _api + +from pixpnet.utils import get_logger, load_module_copy + +major, minor = sys.version_info[:2] +if major > 3 or (major == 3 and minor >= 9): + OrderedDict_T = OrderedDict +else: + OrderedDict_T = Dict + +tv_has_registration_mech = hasattr(_api, "BUILTIN_MODELS") +if tv_has_registration_mech: + BUILTIN_MODELS_ORIG = _api.BUILTIN_MODELS + _api.BUILTIN_MODELS = {} + +resnet = load_module_copy("torchvision.models.resnet") +densenet = load_module_copy("torchvision.models.densenet") +vgg = load_module_copy("torchvision.models.vgg") +inception = load_module_copy("torchvision.models.inception") +squeezenet = load_module_copy("torchvision.models.squeezenet") + +if tv_has_registration_mech: + _api.BUILTIN_MODELS = BUILTIN_MODELS_ORIG + +logger = get_logger(__name__) + +activation_layers = tuple( + k + for k in vars(activation).values() + if (inspect.isclass(k) and issubclass(k, nn.Module) and k.__module__ == activation.__name__) +) +pooling_layers = (_MaxUnpoolNd, _AdaptiveMaxPoolNd, _AdaptiveAvgPoolNd, _MaxPoolNd, _AvgPoolNd, _LPPoolNd) +padding_layers = (_ReplicationPadNd, _ConstantPadNd, _ReflectionPadNd) +channel_invariant_layers = ( + pooling_layers + + padding_layers + + ( + nn.CrossMapLRN2d, + nn.LayerNorm, + ) +) + + +def sequential_to_dict(seq: nn.Sequential, prefix=None, last=None) -> OrderedDict: + prefix = (prefix + "_") if prefix else "" + d = defaultdict(lambda: 0) + seq_dict = OrderedDict() + for i, layer in enumerate(seq): + name = type(layer).__name__.lower() + d[name] += 1 + if last and i + 1 == len(seq): + d_name = last + else: + d_name = f"{prefix}{name}{d[name]}" + seq_dict[d_name] = layer + return seq_dict + + +class FeatureExtractorMixin: + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + @property + def module_sequence(self) -> OrderedDict: + """If I were to iterate over this and call the modules in a sequence, I + should get the same output as the original model.""" + raise NotImplementedError + + @property + def predict_module_names(self) -> List[str]: + raise NotImplementedError + + @property + def final_feature_extractor(self) -> str: + raise NotImplementedError + + @property + def last_layer(self) -> str: + return next(reversed(self.module_sequence.keys())) + + +def _ensure_unique(sequence): + seq_as_set = {*sequence} + assert len(seq_as_set) == len(sequence), f"Not unique! ({len(seq_as_set)} != {len(sequence)})" + return sequence + + +class FeatureExtractorHackjob(nn.Module): + def __init__(self, model: FeatureExtractorMixin, last_module_name: Union[str, List[str]] = None): + super().__init__() + # store model this way to avoid registering all modules (some may not + # be used and be incorrectly associated with the model) + self._model = (model,) + if last_module_name is None: + # default to last feature extraction layer + last_module_name = self.model.final_feature_extractor + self.multi_output = not isinstance(last_module_name, str) + self.last_module_name = _ensure_unique(last_module_name) if self.multi_output else last_module_name + if self.multi_output: + modules = self._init_multi_output() + else: + modules = self._init_single_output() + self.module_dict = nn.ModuleDict(modules) + + @property + def model(self) -> FeatureExtractorMixin: + return self._model[0] + + def _init_single_output(self): + modules = OrderedDict() + module_sequence = self.model.module_sequence + for name, module in module_sequence.items(): + modules[name] = module + if name == self.last_module_name: + break + else: + raise ValueError(f'Invalid module name "{self.last_module_name}" ' f"(valid: {module_sequence.keys()})") + return modules + + def _init_multi_output(self): + last_module_names = {*self.last_module_name} + visited_last_module_names = set() + modules = OrderedDict() + maybe_modules = OrderedDict() + module_sequence = self.model.module_sequence + for name, module in module_sequence.items(): + maybe_modules[name] = module + if name in last_module_names: + visited_last_module_names.add(name) + # Only add to modules if they are necessary to get to + # proceeding target layers + modules.update(maybe_modules) + maybe_modules = OrderedDict() + if visited_last_module_names != last_module_names: + raise ValueError( + f'Invalid module names "' + f"{last_module_names - visited_last_module_names}" + f'" (valid: {module_sequence.keys()})' + ) + return modules + + @property + def out_channels(self) -> Union[int, OrderedDict_T[str, int]]: + try: + names = [*self.module_dict.keys()] + modules = [*self.module_dict.values()] + if self.multi_output: + return OrderedDict( + ( + (module_name, self._compute_out_channels_name(module_name, names, modules)) + for module_name in self.last_module_name + ) + ) + else: + return self._compute_out_channels_name(self.last_module_name, names, modules) + except Exception: + import traceback + + traceback.print_exc() + raise + + def _compute_out_channels_name(self, output_name: str, names: List[str], modules: List[nn.Module]) -> int: + if output_name == self.model.last_layer: + return None # classifier has no channels + name_as_idx = names.index(output_name) + out_channels = FeatureExtractorHackjob._compute_out_channels(modules[: name_as_idx + 1]) + if out_channels is None: + raise TypeError(f"Could not compute output channels of layer name " f'"{output_name}"!') + # otherwise + return out_channels + + @staticmethod + def _compute_out_channels(modules: Iterable[nn.Module]) -> Union[int, None]: + modules_reversed = reversed([*modules]) + for module in modules_reversed: + if isinstance(module, _ConvNd): + return module.out_channels + elif isinstance(module, _NormBase): + return module.num_features + elif isinstance(module, nn.GroupNorm): + return module.num_channels + elif module.__class__.__name__ == "_DenseBlock": + out_channels_module = 0 + for k, v in module.named_modules(): + if not bool(re.match(r"^denselayer\d+$", k)): + continue + if out_channels_module == 0: + # for the first denselayer (should have init num + # features which we can infer for other cat input...) + out_channels_module += v.conv1.in_channels + out_channels_module += v.conv2.out_channels + return out_channels_module + elif isinstance(module, (nn.Sequential, nn.ModuleList)): + out_channels = FeatureExtractorHackjob._compute_out_channels(module) + if out_channels is not None: + return out_channels + continue + elif isinstance(module, nn.ModuleDict): + out_channels = FeatureExtractorHackjob._compute_out_channels([*module.values()]) + if out_channels is not None: + return out_channels + continue + elif isinstance(module, (activation_layers + channel_invariant_layers)): + continue + elif module._modules: + out_channels = FeatureExtractorHackjob._compute_out_channels([*module._modules.values()]) + if out_channels is not None: + return out_channels + continue + else: + raise TypeError(f"Unsupported module type {type(module)}") + + def forward(self, x, last_module_name=None): + if last_module_name is not None: + return_single = isinstance(last_module_name, str) + if return_single: + last_module_name = [last_module_name] + out = self._forward_multi(x, last_module_name) + if return_single: + return out[last_module_name[0]] + else: + return out + else: + if self.multi_output: + return self._forward_multi(x) + else: + return self._forward_single(x) + + def _forward_single(self, x): + for name, module in self.module_dict.items(): + x = module(x) + return x + + def _forward_multi(self, x, last_module_name=None): + if last_module_name is None: + last_module_name = self.last_module_name + visited = 0 + outputs = OrderedDict() + for name, module in self.module_dict.items(): + x = module(x) + if name in last_module_name: + outputs[name] = x + visited += 1 + if len(last_module_name) == visited: + # break early as we have visited everything requested + break + return outputs + + +class ModelHackjob(FeatureExtractorHackjob): + def __init__(self, model: FeatureExtractorMixin, num_classes: int, last_module_name: Union[str, List[str]] = None): + self.num_classes = num_classes + super().__init__(model, last_module_name) + + def _init_single_output(self): + modules = super()._init_single_output() + module_sequence = self.model.module_sequence + self.requires_training = True + if len(modules) < len(module_sequence): + # Add classifier + self.classifier = self._make_classifier() + else: + last_name, last_module = next(reversed(modules.items())) + if last_module.out_features != self.num_classes: + # replace linear + logger.warning( + f"replacing {last_name}={last_module} with new " + f"Linear as num_classes differs (" + f"{last_module.out_features} != {self.num_classes})" + ) + self.classifier = self._make_readout(last_module.in_features) + del modules[last_name] + else: + self.classifier = None + self.requires_training = False + return modules + + def _init_multi_output(self): + modules = super()._init_multi_output() + last_module_names = {*self.last_module_name} + module_sequence = self.model.module_sequence + classifier_after = OrderedDict() + self.requires_training = False + for i, (name, module) in enumerate(modules.items()): + if name in last_module_names: + if i + 1 < len(module_sequence): + self.requires_training = True + # Add classifier + classifier_after[name] = self._make_classifier() + else: + assert isinstance(module, nn.Linear), module + if module.out_features != self.num_classes: + # replace linear + logger.warning( + f"replacing {name}={module} with new " + f"Linear as num_classes differs " + f"({module.out_features} != {self.num_classes})" + ) + self.requires_training = True + modules[name] = nn.Identity() + classifier_after[name] = self._make_readout(module.in_features) + else: + classifier_after[name] = nn.Identity() + self.classifier = nn.ModuleDict(classifier_after) + return modules + + def _make_classifier(self) -> nn.Sequential: + return nn.Sequential( + nn.AdaptiveAvgPool2d((1, 1)), + nn.Flatten(start_dim=1), + self._make_readout(), + ) + + def _make_readout(self, in_features=None) -> nn.Linear: + return nn.LazyLinear(self.num_classes) if in_features is None else nn.Linear(in_features, self.num_classes) + + @property + def out_channels(self) -> int: + raise TypeError( + f"out_channels is an invalid property for " f"{type(self)} (the output(s) is from a linear " f"layer(s))" + ) + + def classifier_parameters(self): + if self.multi_output: + return [{"params": clf.parameters() for clf in self.classifier.values()}] + else: + return [{"params": self.classifier.parameters()}] + + def feature_extractor_parameters(self): + return self.module_dict.parameters() + + def _forward_single(self, x): + x = super()._forward_single(x) + if self.classifier is not None: + x = self.classifier(x) + return x + + def _forward_multi(self, x): + features = super()._forward_multi(x) + outputs = OrderedDict() + for name in self.last_module_name: + outputs[name] = self.classifier[name](features[name]) + return outputs + + +class ResNet(FeatureExtractorMixin, resnet.ResNet): + @property + def module_sequence(self) -> OrderedDict: + return OrderedDict( + ( + ("conv1_no_act", self.conv1), + ("bn1", self.bn1), + ("conv1", self.relu), + ("maxpool", self.maxpool), + ("layer1", self.layer1), + ("layer2", self.layer2), + ("layer3", self.layer3), + ("layer4", self.layer4), + ("avgpool", self.avgpool), + ("flatten", nn.Flatten(start_dim=1)), + ("fc", self.fc), + ) + ) + + @property + def predict_module_names(self) -> List[str]: + return ["conv1", "maxpool", "layer1", "layer2", "layer3", "layer4", "avgpool", "fc"] + + @property + def final_feature_extractor(self) -> str: + return "layer4" + + +resnet.ResNet = ResNet # monkey patch + + +class DenseNet(FeatureExtractorMixin, densenet.DenseNet): + @property + def module_sequence(self) -> OrderedDict: + seq = OrderedDict(self.features._modules.items()) + seq.update( + OrderedDict( + ( + ("relu", nn.ReLU(inplace=True)), + ("avgpool", nn.AdaptiveAvgPool2d((1, 1))), + ("flatten", nn.Flatten(1)), + ("classifier", self.classifier), + ) + ) + ) + return seq + + @property + def predict_module_names(self) -> List[str]: + return [*self.features._modules.keys()] + ["avgpool", "classifier"] + + @property + def final_feature_extractor(self) -> str: + return self.predict_module_names[-3] + + +densenet.DenseNet = DenseNet # monkey patch + + +class VGG(FeatureExtractorMixin, vgg.VGG): + @property + def module_sequence(self) -> OrderedDict: + seq = OrderedDict() + c_cnt = m_cnt = r_cnt = b_cnt = 0 + for layer in self.features: + if isinstance(layer, nn.MaxPool2d): + m_cnt += 1 + seq[f"maxpool{m_cnt}"] = layer + elif isinstance(layer, nn.Conv2d): + c_cnt += 1 + seq[f"conv_no_act{c_cnt}"] = layer + elif isinstance(layer, nn.ReLU): + r_cnt += 1 + seq[f"conv{r_cnt}"] = layer + elif isinstance(layer, nn.BatchNorm2d): + b_cnt += 1 + seq[f"bn{b_cnt}"] = layer + else: + raise RuntimeError(f"Unexpected layer type {type(layer)}") + seq.update( + OrderedDict( + ( + ("avgpool", self.avgpool), + ("flatten", nn.Flatten(1)), + ) + ) + ) + seq.update(sequential_to_dict(self.classifier, prefix="classifier", last="classifier")) + return seq + + @property + def predict_module_names(self) -> List[str]: + names = ["conv1"] + m_cnt = 0 + for layer in self.features: + if isinstance(layer, nn.MaxPool2d): + m_cnt += 1 + names.append(f"maxpool{m_cnt}") + return names + ["avgpool", "classifier"] + + @property + def final_feature_extractor(self) -> str: + return self.predict_module_names[-3] + + +vgg.VGG = VGG # monkey patch + + +class Inception3(FeatureExtractorMixin, inception.Inception3): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + if self.AuxLogits is not None: + logger.warning("AuxLogits are not supported, ignoring.") + + @property + def module_sequence(self) -> OrderedDict: + return OrderedDict( + ( + ("Conv2d_1a_3x3", self.Conv2d_1a_3x3), + ("Conv2d_2a_3x3", self.Conv2d_2a_3x3), + ("Conv2d_2b_3x3", self.Conv2d_2b_3x3), + ("maxpool1", self.maxpool1), + ("Conv2d_3b_1x1", self.Conv2d_3b_1x1), + ("Conv2d_4a_3x3", self.Conv2d_4a_3x3), + ("maxpool2", self.maxpool2), + ("Mixed_5b", self.Mixed_5b), + ("Mixed_5c", self.Mixed_5c), + ("Mixed_5d", self.Mixed_5d), + ("Mixed_6a", self.Mixed_6a), + ("Mixed_6b", self.Mixed_6b), + ("Mixed_6c", self.Mixed_6c), + ("Mixed_6d", self.Mixed_6d), + ("Mixed_6e", self.Mixed_6e), + ("Mixed_7a", self.Mixed_7a), + ("Mixed_7b", self.Mixed_7b), + ("Mixed_7c", self.Mixed_7c), + ("avgpool", self.avgpool), + ("flatten", nn.Flatten(1)), + ("fc", self.fc), + ) + ) + + @property + def predict_module_names(self) -> List[str]: + return [ + "Conv2d_1a_3x3", + "Conv2d_2a_3x3", + "Conv2d_2b_3x3", + "maxpool1", + "Conv2d_3b_1x1", + "Conv2d_4a_3x3", + "maxpool2", + "Mixed_5b", + "Mixed_5c", + "Mixed_5d", + "Mixed_6a", + "Mixed_6b", + "Mixed_6c", + "Mixed_6d", + "Mixed_6e", + "Mixed_7c", + "avgpool", + "fc", + ] + + @property + def final_feature_extractor(self) -> str: + return "Mixed_7c" + + +inception.Inception3 = Inception3 # monkey patch + + +class SqueezeNet(FeatureExtractorMixin, squeezenet.SqueezeNet): + def __init__(self, version: str = "1_0", **kwargs) -> None: + super().__init__(version=version, **kwargs) + if version == "1_0": + self.checkpoints = OrderedDict( + ((0, "conv1"), (2, "maxpool1"), (6, "maxpool2"), (11, "maxpool3"), (12, "features")) + ) + elif version == "1_1": + self.checkpoints = OrderedDict( + ((0, "conv1"), (2, "maxpool1"), (5, "maxpool2"), (8, "maxpool3"), (12, "features")) + ) + else: + raise NotImplementedError(version) + self.classifier_checkpoints = OrderedDict(((1, "final_conv"),)) + + @property + def module_sequence(self) -> OrderedDict: + seq = OrderedDict() + feat_seq = sequential_to_dict(self.features) + for i, (key, val) in enumerate(feat_seq.items()): + if i in self.checkpoints: + seq[self.checkpoints[i]] = val + else: + seq[key] = val + classifier_seq = sequential_to_dict(self.classifier, prefix="classifier") + for i, (key, val) in enumerate(classifier_seq.items()): + if i in self.classifier_checkpoints: + seq[self.classifier_checkpoints[i]] = val + else: + seq[key] = val + seq["flatten"] = nn.Flatten(1) + return seq + + @property + def predict_module_names(self) -> List[str]: + return [*self.checkpoints.values(), *self.classifier_checkpoints.values()] + + @property + def final_feature_extractor(self) -> str: + return "features" + + +squeezenet.SqueezeNet = SqueezeNet + +all_model_names = {name for name in dir(models) if name[0].islower()} +supported_models = {} +for _module in (resnet, densenet, vgg, inception, squeezenet): + for _name in all_model_names & {*dir(_module)}: + supported_models[_name] = getattr(_module, _name) + + +def get_feature_extractor_base( + name: str, + pretrained: bool = False, + progress: bool = True, + **kwargs: Any, +) -> FeatureExtractorMixin: + if name not in supported_models: + raise ValueError(f'Unknown model "{name}". Valid names: ' f"{supported_models}") + model_cls = supported_models[name] + if version.parse("0.13.a") <= version.parse(torchvision.__version__): + # post-0.13 + pretrained_kw = {"weights": "DEFAULT" if pretrained else None} + else: + # pre-0.13 + pretrained_kw = {"pretrained": pretrained} + model = model_cls(progress=progress, **pretrained_kw, **kwargs) + + return model + + +def get_feature_extractor( + name: str, + pretrained: bool = False, + progress: bool = True, + last_module_name: Optional[Union[Iterable[str], str]] = None, + append_last_layer: bool = False, + **kwargs: Any, +) -> FeatureExtractorHackjob: + base_model = get_feature_extractor_base(name, pretrained, progress, **kwargs) + if append_last_layer: + if last_module_name is None: + last_module_name = [base_model.final_feature_extractor] + elif isinstance(last_module_name, str): + last_module_name = [last_module_name] + last_module_name = [*last_module_name, base_model.last_layer] + + return FeatureExtractorHackjob( + base_model, + last_module_name=last_module_name, + ) diff --git a/pixpnet/protonets/models/layers.py b/pixpnet/protonets/models/layers.py new file mode 100644 index 0000000..4f2efff --- /dev/null +++ b/pixpnet/protonets/models/layers.py @@ -0,0 +1,53 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import torch +from torch import nn + + +class GroupedLinear(nn.Linear): + """ + Equivalent to (but faster than): + >>> conv = nn.Conv1d(in_features, out_features, kernel_size=1, + >>> groups=groups, bias=bias, **kwargs) + >>> conv(input[:, :, None]).squeeze(dim=2) + """ + + def __init__(self, in_features, out_features, groups, bias=True, **kwargs): + if in_features % groups != 0: + raise ValueError("in_features must be divisible by groups") + + self.groups = groups + self.in_features_per_group = in_features // groups + + super().__init__(in_features=self.in_features_per_group, out_features=out_features, bias=bias, **kwargs) + + def forward(self, input: torch.Tensor) -> torch.Tensor: + if self.groups == 1: + return super().forward(input) + # Otherwise, group input + input_grouped = torch.reshape(input, (input.size()[0], self.groups, self.in_features_per_group)) + # Batched matrix multiplications using einsum + out = torch.einsum("bji,ji->bj", input_grouped, self.weight) + # Add bias if using bias + if self.bias is not None: + out += self.bias[None, :] + return out + + +class GroupedSum(nn.Module): + def __init__(self, in_features, groups): + if in_features % groups != 0: + raise ValueError("in_features must be divisible by groups") + + self.groups = groups + self.in_features_per_group = in_features // groups + super().__init__() + + def forward(self, input: torch.Tensor) -> torch.Tensor: + if self.groups == 1: + return input + # Otherwise, group input + input_grouped = torch.reshape(input, (input.size()[0], self.groups, self.in_features_per_group)) + return torch.sum(input_grouped, dim=2) diff --git a/pixpnet/protonets/models/protonet.py b/pixpnet/protonets/models/protonet.py new file mode 100644 index 0000000..dc34d95 --- /dev/null +++ b/pixpnet/protonets/models/protonet.py @@ -0,0 +1,692 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import warnings +from collections import OrderedDict +from math import ceil +from typing import Callable, List, Optional, Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from pixpnet.protonets.models.feature_extractor_zoo import get_feature_extractor +from pixpnet.protonets.models.layers import GroupedLinear, GroupedSum +from pixpnet.symbolic.models import compute_rf_data +from pixpnet.utils import get_logger, log_once +from pixpnet.utils_torch import take_rf_from_bbox, unravel_index + +logger = get_logger(__name__) + + +def compute_distances(metric, x, prototype_vectors, ones=None): + if metric == "l2": + return l2_convolution(x, prototype_vectors, ones) + elif metric == "cosine": + return cosine_convolution(x, prototype_vectors) + else: + raise NotImplementedError(metric) + + +def l2_convolution(x, prototype_vectors, ones): + """ + Apply prototype_vectors as l2-convolution filters on input x and + compute the L2 norm of x-p. + + ||a - b||^2_2 + = (a - b)^2 + = a^2 - 2ab + b^2 + In this context: + = x2_patch_sum - 2 * xp + p2 + = x2_patch_sum - (xp + xp) + p2 + ReLU is used to ensure a positive distance (just in case™). + """ + # P: num_prototypes (e.g. 2000) + # D: prototype dimensionality (e.g. 512) + # K: prototype_kernel_size (1 in paper) noqa: E800 + # input: N x D x H x W + # weight: P x D x K x K + # x2_patch_sum: N x P x H-K+1 x W-K+1 (N x P x H x W when K=1) + x2_patch_sum = F.conv2d(input=x * x, weight=ones) + + # p2 is a vector of shape (P,) reshaped to (P, 1, 1) + p2 = torch.sum(prototype_vectors * prototype_vectors, dim=(1, 2, 3)).view(-1, 1, 1) + + # input: N x D x H x W + # weight: P x D x K x K + # xp: N x P x H-K+1 x W-K+1 (N x P x H x W when K=1) + # distances: same shape as xp + xp = F.conv2d(input=x, weight=prototype_vectors) + distances = F.relu(x2_patch_sum - (xp + xp) + p2) + + return distances + + +def cosine_convolution(x, prototype_vectors): + # An alternative distance metric used in TesNet. Alternative to + # l2_convolution + x = F.normalize(x, p=2, dim=1) + prototype_vectors = F.normalize(prototype_vectors, p=2, dim=1) + similarities = F.conv2d(input=x, weight=prototype_vectors) + # clip similarities in the range [-1, +1] (numerical error can + # cause similarities to be outside this range) + similarities = torch.clamp(similarities, -1, 1) + distances = 1 - similarities # bounded [0, 2] + return distances + + +def gaussian_kernel(size, sigma=1.0, device=None): + """ + creates a pseudo gaussian kernel with side length `l` and a sigma of `sig` + """ + ax = torch.linspace(-(size - 1) / 2.0, (size - 1) / 2.0, size, device=device) + gauss = torch.exp(-0.5 * torch.square(ax) / (sigma**2)) + kernel = torch.outer(gauss, gauss) + return kernel / torch.max(kernel) # max-normalize (max value is 1) + + +SlicesType = List[List[List[Tuple[slice, slice]]]] + + +class ProtoNet(nn.Module): + # Buffers + ones: torch.Tensor + corresponding_sample_idxs: torch.Tensor + min_fmap_idxs: torch.Tensor + prototype_class_identity: Optional[torch.Tensor] + # Parameters + prototype_vectors: torch.nn.Parameter + + # Constants + prototype_layer_stride = 1 + + def __init__( + self, + features: nn.Module, + feature_layer: str, + rf_slices: Optional[SlicesType], + num_prototypes: int, + prototype_dim: int, + prototype_kernel_size: int, + num_classes: int, + init_weights: bool = True, + prototype_activation: Union[str, Callable] = "log", + add_on_layers_type: str = "regular", + class_specific: bool = True, + epsilon: float = 1e-6, + learn_prototypes: bool = True, + incorrect_strength: float = -0.5, + correct_strength: float = 1, + readout_type: str = "linear", + distance: str = "l2", + ): + """""" + super().__init__() + self.prototype_shape = (num_prototypes, prototype_dim, prototype_kernel_size, prototype_kernel_size) + self.num_prototypes = num_prototypes + self.prototype_dim = prototype_dim + self.prototype_kernel_size = prototype_kernel_size + self.num_classes = num_classes + self.epsilon = epsilon + self.learn_prototypes = learn_prototypes + # prototype_activation could be 'log', 'linear', + # or a callable that converts distance to similarity score + self.prototype_activation = prototype_activation + self.distance = distance + self.feature_layer = feature_layer + + self.rf_slices = rf_slices + self.rf_idxs = None + self.rf_sizes = None + if self.rf_slices is not None: + Hz = len(self.rf_slices) + Wz = len(self.rf_slices[0]) + self.rf_sizes = torch.zeros((Hz, Wz, 2), dtype=torch.int) + self.rf_idxs = torch.zeros((Hz, Wz, 4), dtype=torch.int) + for h in range(Hz): + for w in range(Wz): + # for patch h,w + if len(self.rf_slices[h][w]) > 1: + raise NotImplementedError + for h_s, w_s in self.rf_slices[h][w]: + # Start weighting approach + h_size = h_s.stop - h_s.start + w_size = w_s.stop - w_s.start + self.rf_sizes[h, w] = torch.tensor([h_size, w_size], dtype=torch.int) + self.rf_idxs[h, w] = torch.tensor([h_s.start, h_s.stop, w_s.start, w_s.stop], dtype=torch.int) + + self.incorrect_strength = incorrect_strength + self.correct_strength = correct_strength + self.class_specific = class_specific + if self.class_specific: + # Here we are initializing the class identities of the prototypes. + # Without domain specific knowledge we allocate the same number of + # prototypes for each class + assert self.num_prototypes % self.num_classes == 0 + # a one-hot indication matrix for each prototype's class identity + self.register_buffer( + "prototype_class_identity", torch.zeros(self.num_prototypes, self.num_classes, dtype=torch.int) + ) + num_prototypes_per_class = self.num_prototypes // self.num_classes + for j in range(self.num_prototypes): + self.prototype_class_identity[j, j // num_prototypes_per_class] = 1 + + # this has to be named features to allow the precise loading + self.features = features + self._init_add_on_layers(add_on_layers_type) + + self.register_parameter( + "prototype_vectors", nn.Parameter(torch.rand(self.prototype_shape), requires_grad=learn_prototypes) + ) + self.register_buffer("ones", torch.ones(self.prototype_shape)) + self.register_buffer("corresponding_sample_idxs", torch.full((self.num_prototypes,), -1)) + self.register_buffer("min_fmap_idxs", torch.full((self.num_prototypes, 4), -1)) + + self.readout_type = readout_type + self._init_last_layer() + + if init_weights: + self._initialize_weights() + + def _init_last_layer(self): + # do not use bias to aid interpretability + if self.readout_type == "linear": # standard linear + self.last_layer = nn.Linear(self.num_prototypes, self.num_classes, bias=False) + elif self.readout_type == "sparse": # sparse linear + if not self.class_specific: + raise ValueError('`readout_type` cannot be "sparse" if ' "`class_specific` is False") + self.last_layer = GroupedLinear(self.num_prototypes, self.num_classes, groups=self.num_classes, bias=False) + elif self.readout_type == "proto": # prototype sim sums as prediction + if not self.class_specific: + raise ValueError('`readout_type` cannot be "proto" if ' "`class_specific` is False") + # Note that this assumes that `prototype_class_identity` is still + # uniform across classes when class_specific is True + self.last_layer = GroupedSum(self.num_prototypes, self.num_classes) + else: + raise NotImplementedError(f"readout_type = {self.readout_type}") + + def _init_add_on_layers(self, add_on_layers_type): + in_channels = self.features.out_channels + + final_act, final_act_str = nn.Sigmoid(), "sigmoid" + if add_on_layers_type == "bottleneck": + add_on_layers = [] + current_in_channels = in_channels + conv_idx = 1 + while current_in_channels > self.prototype_dim or not len(add_on_layers): + current_out_channels = max(self.prototype_dim, (current_in_channels // 2)) + if current_out_channels > self.prototype_dim: + conv2_str, act2, act2_str = (f"conv{conv_idx + 1}", nn.ReLU(), f"relu{conv_idx + 1}") + else: + assert current_out_channels == self.prototype_dim + conv2_str, act2, act2_str = ("conv_last", final_act, final_act_str) + add_on_layers.extend( + ( + ( + f"conv{conv_idx}", + nn.Conv2d( + in_channels=current_in_channels, out_channels=current_out_channels, kernel_size=1 + ), + ), + (f"relu{conv_idx}", nn.ReLU()), + ( + conv2_str, + nn.Conv2d( + in_channels=current_out_channels, out_channels=current_out_channels, kernel_size=1 + ), + ), + (act2_str, act2), + ) + ) + current_in_channels = current_in_channels // 2 + conv_idx += 2 + elif add_on_layers_type == "regular": + add_on_layers = ( + ("conv1", nn.Conv2d(in_channels=in_channels, out_channels=self.prototype_dim, kernel_size=1)), + ("relu1", nn.ReLU()), + ( + "conv_last", + nn.Conv2d(in_channels=self.prototype_dim, out_channels=self.prototype_dim, kernel_size=1), + ), + (final_act_str, final_act), + ) + else: + raise ValueError(add_on_layers_type) + add_on_layers = OrderedDict(add_on_layers) + + self.add_on_layers = nn.Sequential(add_on_layers) + + def conv_features(self, x): + """ + the feature input to prototype layer + """ + x = self.features(x) + log_once(logger.info, f'features output shape: {("N", *x.size()[1:])}') + x = self.add_on_layers(x) + log_once(logger.info, f'add_on_layers output shape: {("N", *x.size()[1:])}') + return x + + def compute_distances(self, x): + return compute_distances(self.distance, x, self.prototype_vectors, self.ones) + + def prototype_distances(self, x): + """ + x is the raw input + """ + conv_features = self.conv_features(x) + distances = self.compute_distances(conv_features) + return conv_features, distances + + def dist_2_sim(self, distances): + if self.prototype_activation == "log": + # equivalent: + # log((distances + 1) / (distances + epsilon)) # noqa: E800 + # but this one is numerically more accurate + return torch.log(1 / (distances + self.epsilon) + 1) + elif self.prototype_activation == "linear": + if self.distance == "cosine": + # dists = 1 - sim --> sim = 1 - dists + return 1 - distances + else: + return -distances + else: + return self.prototype_activation(distances) + + def forward(self, x, return_features=False): + result = self.prototype_distances(x) + conv_features, distances = result + outputs = self.classify_head(x, distances) + if return_features: + outputs["features"] = conv_features + return outputs + + def classify_head(self, x, distances): + return self._classify_head_proto2patch(distances) + + def pixel_space_map(self, x_i, proto_dists, sigma_factor=1.0): + # Note: one sample at a time! otherwise there will definitely be + # memory issues on most hardware and ProtoNets + dtype = proto_dists.dtype + device = proto_dists.device + + # validate shape + if x_i.ndim == 4: + assert x_i.shape[0] == 1, x_i.shape + x_i = torch.squeeze(x_i, 0) + else: + assert x_i.ndim == 3, x_i.shape + + if proto_dists.ndim == 4: + assert proto_dists.shape[0] == 1, proto_dists.shape + proto_dists = torch.squeeze(proto_dists, 0) + else: + assert proto_dists.ndim == 3, proto_dists.shape + + C, H, W = x_i.shape + P, Hz, Wz = proto_dists.shape + + # dists --> sims + proto_sims = self.dist_2_sim(proto_dists) + # Sim maps + heat_map_max = torch.zeros((P, H, W), dtype=dtype, device=device) + heat_map_avg = torch.zeros_like(heat_map_max) + heat_map_counts = torch.zeros_like(heat_map_avg, dtype=torch.int) + + rf_h = self.rf_sizes[:, :, 0].max() + rf_w = self.rf_sizes[:, :, 1].max() + + do_super_rfs = rf_h >= H or rf_w >= W + if do_super_rfs: + # increase true rf_h/w + where_big = torch.where((self.rf_sizes[:, :, 0] >= H) | (self.rf_sizes[:, :, 1] >= W)) + do_super_rfs = len(where_big[0]) > 1 + if do_super_rfs: + # linear stretching assumption for super-100% RF networks + naive_midpoints_h = torch.round((torch.arange(Hz) + 0.5) * H / Hz).int() + naive_midpoints_w = torch.round((torch.arange(Wz) + 0.5) * W / Wz).int() + + im_midpoints = (H - 1) / 2, (W - 1) / 2 + + pad_h = torch.round((im_midpoints[0] - naive_midpoints_h[where_big[0]]).abs().max()).int() + pad_w = torch.round((im_midpoints[1] - naive_midpoints_w[where_big[1]]).abs().max()).int() + + # increase the RFs by the discovered padding amount + rf_h = rf_h + 2 * pad_h + rf_w = rf_w + 2 * pad_w + + k_size = max(rf_h, rf_w) + sigma = k_size * sigma_factor + g_kern = gaussian_kernel(k_size, sigma=sigma, device=device) + + for h in range(Hz): + for w in range(Wz): + # for patch h,w + sims_hw = proto_sims[:, h, w][:, None, None] # P x 1 x 1 + h_size, w_size = self.rf_sizes[h, w] # rf_sizes: Hz x Wz x 2 + + hs0, hs1, ws0, ws1 = self.rf_idxs[h, w] + + if do_super_rfs: + mh, mw = naive_midpoints_h[h], naive_midpoints_w[w] + + hs0_ = mh - rf_h // 2 + hs1_ = mh + ceil(rf_h // 2) + ws0_ = mw - rf_w // 2 + ws1_ = mw + ceil(rf_w // 2) + + h_pad0 = max(-hs0_, 0) + h_pad1 = max(hs1_ - H - max(hs0_, 0), 0) + w_pad0 = max(-ws0_, 0) + w_pad1 = max(ws1_ - W - max(ws0_, 0), 0) + + if h_size < H: + if hs0 != 0: + h_pad0 += H - h_size + else: + h_pad1 += H - h_size + if w_size < W: + if ws0 != 0: + w_pad0 += W - w_size + else: + w_pad1 += W - w_size + + g_kern_hw = g_kern[int(h_pad0) : k_size - ceil(h_pad1), int(w_pad0) : k_size - ceil(w_pad1)] + else: + h_pad0 = h_pad1 = 0 + w_pad0 = w_pad1 = 0 + if h_size < rf_h: + if hs1 - rf_h < 0: + h_pad0 += rf_h - h_size + else: + h_pad1 += rf_h - h_size + if w_size < rf_w: + if ws1 - rf_w < 0: + w_pad0 += rf_w - w_size + else: + w_pad1 += rf_w - w_size + g_kern_hw = g_kern[int(h_pad0) : k_size - ceil(h_pad1), int(w_pad0) : k_size - ceil(w_pad1)] + + sims_hw_full = sims_hw * g_kern_hw[None, :, :] + + heat_map_avg[:, hs0:hs1, ws0:ws1] += sims_hw_full + heat_map_counts[:, hs0:hs1, ws0:ws1] += 1 + heat_map_max[:, hs0:hs1, ws0:ws1] = torch.maximum(sims_hw_full, heat_map_max[:, hs0:hs1, ws0:ws1]) + # take element-wise averages according to overlap tensor (counts) + heat_map_sum = heat_map_avg.clone() + heat_map_avg /= heat_map_counts + + return heat_map_max, heat_map_avg, heat_map_sum # each is P x H x W + + def pixel_space_upscale(self, x_i, proto_dists): + # validate shape + if x_i.ndim == 4: + assert x_i.shape[0] == 1, x_i.shape + x_i = torch.squeeze(x_i, 0) + else: + assert x_i.ndim == 3, x_i.shape + + if proto_dists.ndim == 4: + assert proto_dists.shape[0] == 1, proto_dists.shape + proto_dists = torch.squeeze(proto_dists, 0) + else: + assert proto_dists.ndim == 3, proto_dists.shape + + C, H, W = x_i.shape + + # dists --> sims + proto_sims = self.dist_2_sim(proto_dists) + # Sim maps + heat_map = torch.nn.functional.interpolate(proto_sims[None], (H, W), mode="bicubic") + # 1 x P x H x W --> P x H x W + heat_map = heat_map.squeeze(dim=0) + + return heat_map + + def pixel_space_bboxes(self, min_dist_idxs, proto_dists): + if not (self.prototype_kernel_size == self.prototype_layer_stride == 1): + raise NotImplementedError((self.prototype_kernel_size, self.prototype_layer_stride)) + N, P = min_dist_idxs.shape + # N x P, N x P + fmap_h_start, fmap_w_start = unravel_index(min_dist_idxs, proto_dists.shape[-2:]) + + bboxes = [] + for i in range(N): + bboxes_i = [] + for j in range(P): + h, w = fmap_h_start[i, j], fmap_w_start[i, j] + slices_hw = self.rf_slices[h][w] + assert len(slices_hw) == 1, "unsupported at the moment" + slice_h, slice_w = slices_hw[0] + x1, y1 = slice_w.start, slice_h.start + x2, y2 = slice_w.stop, slice_h.stop + bboxes_i.append([x1, y1, x2, y2]) + bboxes.append(bboxes_i) + bboxes = torch.tensor(bboxes) + return bboxes # N x P x 4 + + def pixel_space_centers_upscale(self, x, min_dist_idxs, proto_dists): + if not (self.prototype_kernel_size == self.prototype_layer_stride == 1): + raise NotImplementedError((self.prototype_kernel_size, self.prototype_layer_stride)) + _, _, H, W = x.shape + Hz, Wz = proto_dists.shape[-2:] + # N x P, N x P + fmap_h_start, fmap_w_start = unravel_index(min_dist_idxs, [Hz, Wz]) + + naive_midpoints_h = torch.round((torch.arange(Hz) + 0.5) * H / Hz).int() + naive_midpoints_w = torch.round((torch.arange(Wz) + 0.5) * W / Wz).int() + + centers_x = naive_midpoints_w[fmap_w_start.cpu()] + centers_y = naive_midpoints_h[fmap_h_start.cpu()] + + return centers_x, centers_y # NxP each + + def _classify_head_proto2patch(self, distances): + # global min pooling (N x P x H x W --> N x P x 1 x 1) + # I.e., the KxK patch of the latent representations z of the input + # images that is most similar to each of the P prototypes. Output + # indicates how present each prototype is in the image. + min_distances, min_dist_idxs = self.global_min_pool(distances) + # Convert distances to similarity using the log/linear function + prototype_activations = self.dist_2_sim(min_distances) + + # Compute logits (N x C) + logits = self.last_layer(prototype_activations) + + return { + "logits": logits, # N x C + "min_distances": min_distances, # N x P + "min_dist_idxs": min_dist_idxs, # N x P + "distances": distances, # N x P x H x W + "max_similarities": prototype_activations, # N x P + } + + @staticmethod + def global_min_pool(distances): + """ + To gather `min_distances` using `min_dist_idxs`: + + ```python + distances.flatten(start_dim=2).gather( + dim=2, index=min_dist_idxs.flatten(start_dim=2) + ).view_as(min_dist_idxs) + ``` + + :param distances: + :return: + """ + with warnings.catch_warnings(): + # You'd think they would've checked for positionally passed args... + warnings.filterwarnings( + "ignore", ".*order of the arguments: ceil_mode and " "return_indices will change.*", UserWarning + ) + min_distances, min_dist_idxs = F.max_pool2d( + -distances, kernel_size=(distances.size()[2], distances.size()[3]), return_indices=True + ) + min_distances = -min_distances + # N x P x 1 x 1 --> N x P + min_distances = min_distances.view(min_distances.shape[0], min_distances.shape[1]) + min_dist_idxs = min_dist_idxs.view(min_dist_idxs.shape[0], min_dist_idxs.shape[1]) + return min_distances, min_dist_idxs + + def push_forward(self, x): + """this method is needed for the pushing operation""" + return self.prototype_distances(x) + + def set_prototypes(self, new_prototype_vectors, corresponding_sample_idxs=None, min_fmap_idxs=None): + self.prototype_vectors.data.copy_(new_prototype_vectors) + err_msg = "both min_fmap_idxs and corresponding_sample_idxs should be" " None or not None" + if corresponding_sample_idxs is not None: + assert min_fmap_idxs is not None, err_msg + self.corresponding_sample_idxs = corresponding_sample_idxs + self.min_fmap_idxs = min_fmap_idxs + else: + assert min_fmap_idxs is None, err_msg + + def prune_prototypes(self, prototypes_to_prune): + """ + prototypes_to_prune: a list of indices each in + [0, current number of prototypes - 1] that indicates the prototypes to + be removed + """ + prototypes_to_keep = [*({*range(self.num_prototypes)} - {*prototypes_to_prune})] + + self.register_parameter( + "prototype_vectors", + nn.Parameter(self.prototype_vectors.data[prototypes_to_keep, ...], requires_grad=self.learn_prototypes), + ) + self.corresponding_sample_idxs = self.corresponding_sample_idxs[prototypes_to_keep, ...] + self.min_fmap_idxs = self.min_fmap_idxs[prototypes_to_keep, ...] + + self.prototype_shape = tuple(self.prototype_vectors.size()) + self.num_prototypes = self.prototype_shape[0] + + # changing self.last_layer in place + # changing in_features and out_features make sure the numbers are + # consistent + if self.readout_type != "linear": + raise NotImplementedError( + f"Removing prototypes for readout_type={self.readout_type}" f" is not implemented yet" + ) + self.last_layer.in_features = self.num_prototypes + self.last_layer.out_features = self.num_classes + self.last_layer.weight.data = self.last_layer.weight.data[:, prototypes_to_keep] + + # self.ones is nn.Parameter + self.ones = self.ones[prototypes_to_keep, ...] + + # self.prototype_class_identity is torch tensor + # so it does not need .data access for value update + if self.class_specific: + self.prototype_class_identity = self.prototype_class_identity[prototypes_to_keep, :] + + def set_last_layer_incorrect_connection(self): + """ + Initialize weight of last_layer to correct_strength if + prototype_class_identity is 1 (i.e., the prototype is for that class), + and to incorrect_strength if prototype_class_identity is 0 (i.e., the + prototype is not for that class) + """ + positive_one_weights_locations = torch.t(self.prototype_class_identity) + negative_one_weights_locations = 1 - positive_one_weights_locations + + self.last_layer.weight.data.copy_( + self.correct_strength * positive_one_weights_locations + + self.incorrect_strength * negative_one_weights_locations + ) + + def _initialize_weights(self): + for name, m in self.add_on_layers.named_children(): + if isinstance(m, nn.Conv2d): + if name == "conv_last": + # for the sigmoid activation + nn.init.xavier_normal_(m.weight, gain=1.0) + else: + nn.init.kaiming_normal_(m.weight, mode="fan_out", nonlinearity="relu") + if m.bias is not None: + nn.init.constant_(m.bias, 0) + elif isinstance(m, nn.BatchNorm2d): + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + if self.class_specific and self.readout_type == "linear": + # This is not needed (or valid) for sparse linear or proto + self.set_last_layer_incorrect_connection() + elif self.class_specific and self.readout_type == "sparse": + nn.init.ones_(self.last_layer.weight) + + +def protonet( + feature_extractor, + feature_layer=None, + pretrained=True, + num_prototypes=2000, + prototype_dim=512, + prototype_kernel_size=1, + num_classes=200, + input_size=224, + init_weights=True, + prototype_activation: Union[str, Callable] = "log", + add_on_layers_type="regular", + class_specific=True, + epsilon=1e-6, + learn_prototypes=True, + incorrect_strength=-0.5, + correct_strength=1, + readout_type="linear", + distance="l2", +): + """""" + if isinstance(feature_extractor, str): + last_module_name = [] + if feature_layer: + last_module_name.append(feature_layer) + if len(last_module_name) == 1: + last_module_name = last_module_name[0] + features = get_feature_extractor( + feature_extractor, + pretrained=pretrained, + last_module_name=last_module_name or None, + ) + _, rf_data = compute_rf_data(feature_extractor, input_size, input_size, num_classes=1) + rf_layer = rf_data[feature_layer] + h_z, w_z = rf_layer.shape[-2:] + rf_slices = [] + for h in range(h_z): + slices_h = [] + for w in range(w_z): + rf_feat_hw = take_rf_from_bbox( + rf_layer, h, w, prototype_kernel_size, prototype_kernel_size, ProtoNet.prototype_layer_stride + ) + slices_hw = [] + for slice_hw in rf_feat_hw.as_slices(all_channels=True): + _, _, h_s, w_s = slice_hw + slices_hw.append((h_s, w_s)) + slices_h.append(slices_hw) + rf_slices.append(slices_h) + + else: + features = feature_extractor + rf_slices = None + + if feature_layer is None: + feature_layer = features.last_module_name[0] if features.multi_output else features.last_module_name + + return ProtoNet( + features=features, + feature_layer=feature_layer, + rf_slices=rf_slices, + num_prototypes=num_prototypes, + prototype_dim=prototype_dim, + prototype_kernel_size=prototype_kernel_size, + num_classes=num_classes, + init_weights=init_weights, + prototype_activation=prototype_activation, + add_on_layers_type=add_on_layers_type, + class_specific=class_specific, + epsilon=epsilon, + learn_prototypes=learn_prototypes, + incorrect_strength=incorrect_strength, + correct_strength=correct_strength, + readout_type=readout_type, + distance=distance, + ) diff --git a/pixpnet/protonets/prp/__init__.py b/pixpnet/protonets/prp/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pixpnet/protonets/prp/lrp_general6.py b/pixpnet/protonets/prp/lrp_general6.py new file mode 100644 index 0000000..c0a8c2e --- /dev/null +++ b/pixpnet/protonets/prp/lrp_general6.py @@ -0,0 +1,1234 @@ +""" +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +""" + +import copy + +import torch +import torch.nn as nn +import torch.nn.functional as F + +####################################################### +####################################################### +# wrappers for autograd type modules +####################################################### +####################################################### + + +class ZeroparamWrapperClass(nn.Module): + def __init__(self, module, autogradfunction): + super(ZeroparamWrapperClass, self).__init__() + self.module = module + self.wrapper = autogradfunction + + def forward(self, x): + y = self.wrapper.apply(x, self.module) + return y + + +class OneParamWrapperClass(nn.Module): + def __init__(self, module, autogradfunction, parameter1): + super(OneParamWrapperClass, self).__init__() + self.module = module + self.wrapper = autogradfunction + self.parameter1 = parameter1 + + def forward(self, x): + y = self.wrapper.apply(x, self.module, self.parameter1) + return y + + +class Conv2DZBetaWrapperClass(nn.Module): + def __init__(self, module, lrpignorebias, lowest=None, highest=None): + super(Conv2DZBetaWrapperClass, self).__init__() + + if lowest is None: + lowest = torch.min(torch.tensor([-0.485 / 0.229, -0.456 / 0.224, -0.406 / 0.225])) + if highest is None: + highest = torch.max(torch.tensor([(1 - 0.485) / 0.229, (1 - 0.456) / 0.224, (1 - 0.406) / 0.225])) + assert isinstance(module, nn.Conv2d) + + self.module = module + self.wrapper = Conv2DZBetaWrapperFct() + + self.lrpignorebias = lrpignorebias + + self.lowest = lowest + self.highest = highest + + def forward(self, x): + y = self.wrapper.apply(x, self.module, self.lrpignorebias, self.lowest, self.highest) + return y + + +class LRLookupNotFoundError(Exception): + pass + + +VERBOSE = False + + +def get_lrpwrapperformodule(module, lrp_params, lrp_layer2method, thisis_inputconv_andiwant_zbeta=False): + if isinstance(module, nn.ReLU): + key = "nn.ReLU" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + + elif isinstance(module, nn.Sigmoid): + key = "nn.Sigmoid" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + + elif isinstance(module, nn.BatchNorm2d): + + key = "nn.BatchNorm2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + + elif isinstance(module, nn.Linear): + + key = "nn.Linear" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default linearlayer_eps_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass(module, autogradfunction=autogradfunction, parameter1=lrp_params["linear_eps"]) + + elif isinstance(module, nn.Conv2d): + if thisis_inputconv_andiwant_zbeta: + return Conv2DZBetaWrapperClass(module, lrp_params["conv2d_ignorebias"]) + else: + key = "nn.Conv2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError( + "found no dictionary entry in " "lrp_layer2method for this module name:", key + ) + + # default conv2d_beta0_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass( + module, autogradfunction=autogradfunction, parameter1=lrp_params["conv2d_ignorebias"] + ) + + elif isinstance(module, nn.AdaptiveAvgPool2d): + + key = "nn.AdaptiveAvgPool2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default adaptiveavgpool2d_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass(module, autogradfunction=autogradfunction, parameter1=lrp_params["pooling_eps"]) + + elif isinstance(module, nn.AvgPool2d): + + key = "nn.AvgPool2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default adaptiveavgpool2d_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass(module, autogradfunction=autogradfunction, parameter1=lrp_params["pooling_eps"]) + + elif isinstance(module, nn.MaxPool2d): + + key = "nn.MaxPool2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default maxpool2d_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + + elif isinstance(module, SumStacked2): # resnet specific + + key = "sum_stacked2" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default eltwisesum_stacked2_eps_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass(module, autogradfunction=autogradfunction, parameter1=lrp_params["eltwise_eps"]) + + elif isinstance(module, ClampLayer): # densenet specific + + key = "clamplayer" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + + elif isinstance(module, TensorBiasedLinearLayer): # densenet specific + + key = "tensorbiased_linearlayer" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass(module, autogradfunction=autogradfunction, parameter1=lrp_params["linear_eps"]) + + elif isinstance(module, TensorBiasedConvLayer): # densenet specific + + key = "tensorbiased_convlayer" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default relu_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return OneParamWrapperClass( + module, autogradfunction=autogradfunction, parameter1=lrp_params["conv2d_ignorebias"] + ) + + else: + key = "nn.MaxPool2d" + if key not in lrp_layer2method: + print("found no dictionary entry in " "lrp_layer2method for this module name:", key) + raise LRLookupNotFoundError("found no dictionary entry in " "lrp_layer2method for this module name:", key) + + # default maxpool2d_wrapper_fct() + autogradfunction = lrp_layer2method[key]() + return ZeroparamWrapperClass(module, autogradfunction=autogradfunction) + print("found no lookup for this module:", module) + raise LRLookupNotFoundError("found no lookup for this module:", module) + + +####################################################### +####################################################### +# canonization functions +####################################################### +####################################################### + + +def resetbn(bn): + assert isinstance(bn, nn.BatchNorm2d) + + bnc = copy.deepcopy(bn) + bnc.reset_parameters() + + return bnc + + +# vanilla fusion conv-bn --> conv(updatedparams) +def bnafterconv_overwrite_intoconv(conv, bn): # after visatt + + if VERBOSE: + print(conv, bn) + + assert isinstance(bn, nn.BatchNorm2d) + assert isinstance(conv, nn.Conv2d) + + s = (bn.running_var + bn.eps) ** 0.5 + w = bn.weight + b = bn.bias + m = bn.running_mean + conv.weight = torch.nn.Parameter(conv.weight * (w / s).reshape(-1, 1, 1, 1)) + + if conv.bias is None: + conv.bias = torch.nn.Parameter((0 - m) * (w / s) + b) + else: + conv.bias = torch.nn.Parameter((conv.bias - m) * (w / s) + b) + return conv + + +# resnet stuff + +########################################################### +######################################################### +########################################################### + +# for resnet shortcut / residual connections +class EltwiseSum2(nn.Module): # see torchray excitation backprop, using *inputs + def __init__(self): + super(EltwiseSum2, self).__init__() + + def forward(self, x1, x2): + return x1 + x2 + + +# densenet stuff + +########################################################### +######################################################### +########################################################### + +# bad name actually, threshrelu would be better +class ClampLayer(nn.Module): + def __init__(self, thresh, w_bn_sign, forconv): + super(ClampLayer, self).__init__() + + # thresh will be -b_bn*vareps / w_bn + mu_bn + if forconv: + self.thresh = thresh.reshape((-1, 1, 1)) + self.w_bn_sign = w_bn_sign.reshape((-1, 1, 1)) + else: + # for linear that should be ok + self.thresh = thresh + self.w_bn_sign = w_bn_sign + + def forward(self, x): + return (x - self.thresh) * ( + (x > self.thresh) * (self.w_bn_sign > 0) + (x < self.thresh) * (self.w_bn_sign < 0) + ) + self.thresh + + +class TensorBiasedLinearLayer(nn.Module): + def __init__(self, in_features, out_features, newweight, newbias): + super(TensorBiasedLinearLayer, self).__init__() + assert newbias.numel() == out_features + + self.linearbase = nn.Linear(in_features, out_features, bias=False) + self.linearbase.weight = torch.nn.Parameter(newweight) + self.biastensor = torch.nn.Parameter(newbias) + + # this is pure convenience + self.in_features = in_features + self.out_features = out_features + + def forward(self, x): + y = self.linearbase.forward(x) + self.biastensor + return y + + +class TensorBiasedConvLayer(nn.Module): + def _clone_module(self, module): + clone = nn.Conv2d( + module.in_channels, + module.out_channels, + module.kernel_size, + **{attr: getattr(module, attr) for attr in ["stride", "padding", "dilation", "groups"]} + ) + return clone.to(module.weight.device) + + def __init__(self, newweight, baseconv, inputfornewbias): + super(TensorBiasedConvLayer, self).__init__() + + self.baseconv = baseconv # evtl store weights, clone mod + + self.inputfornewbias = inputfornewbias + + self.conv = self._clone_module(baseconv) + self.conv.weight = torch.nn.Parameter(newweight) + self.conv.bias = None + + self.biasmode = "neutr" + + def gettensorbias(self, x): + + with torch.no_grad(): + tensorbias = self.baseconv( + self.inputfornewbias.unsqueeze(1).unsqueeze(2).repeat((1, x.shape[2], x.shape[3])).unsqueeze(0) + ) + if VERBOSE: + print("done tensorbias", tensorbias.shape) + return tensorbias + + def forward(self, x): + if VERBOSE: + print("tensorbias fwd", x.shape) + if len(x.shape) != 4: + print("bad tensor length") + exit() + if VERBOSE: + if self.inputfornewbias is not None: + print("self.inputfornewbias.shape", self.inputfornewbias.shape) + else: + print("self.inputfornewbias", self.inputfornewbias) + if self.inputfornewbias is None: + return self.conv.forward(x) # z + else: + b = self.gettensorbias(x) + if self.biasmode == "neutr": + return self.conv.forward(x) + b + elif self.biasmode == "pos": + return self.conv.forward(x) + torch.clamp(b, min=0) # z + elif self.biasmode == "neg": + return self.conv.forward(x) + torch.clamp(b, max=0) # z + + +####################################################### +####################################################### +# autograd type modules +####################################################### +####################################################### + + +class Conv2DBeta0WrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module, lrpignorebias): + """ + In the forward pass we receive a Tensor containing the input and return + a Tensor containing the output. ctx is a context object that can be used + to stash information for backward computation. You can cache arbitrary + objects for use in the backward pass using the ctx.save_for_backward method. + """ + + def configvalues_totensorlist(module): + propertynames = ["in_channels", "out_channels", "kernel_size", "stride", "padding", "dilation", "groups"] + values = [] + for attr in propertynames: + v = getattr(module, attr) + # convert it into tensor + # has no treatment for booleans yet + if isinstance(v, int): + v = torch.tensor([v], dtype=torch.int32, device=module.weight.device) + elif isinstance(v, tuple): + ################ + ################ + # FAILMODE: if it is not a tuple of ints but e.g. a tuple of floats, or a tuple of a tuple + + v = torch.tensor(v, dtype=torch.int32, device=module.weight.device) + else: + print("v is neither int nor tuple. unexpected") + exit() + values.append(v) + return propertynames, values + + # stash module config params and trainable params + propertynames, values = configvalues_totensorlist(module) + + if module.bias is None: + bias = None + else: + bias = module.bias.data.clone() + lrpignorebiastensor = torch.tensor([lrpignorebias], dtype=torch.bool, device=module.weight.device) + ctx.save_for_backward( + x, module.weight.data.clone(), bias, lrpignorebiastensor, *values + ) # *values unpacks the list + + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the loss + with respect to the output, and we need to compute the gradient of the loss + with respect to the input. + """ + + input_, conv2dweight, conv2dbias, lrpignorebiastensor, *values = ctx.saved_tensors + + ####################################################################### + # reconstruct dictionary of config parameters + def tensorlist_todict(values): + propertynames = ["in_channels", "out_channels", "kernel_size", "stride", "padding", "dilation", "groups"] + # but needs to turn tensors to ints or tuples! + paramsdict = {} + for i, n in enumerate(propertynames): + v = values[i] + if v.numel == 1: + paramsdict[n] = v.item() # to cpu? + else: + alist = v.tolist() + if len(alist) == 1: + paramsdict[n] = alist[0] + else: + paramsdict[n] = tuple(alist) + return paramsdict + + ####################################################################### + paramsdict = tensorlist_todict(values) + + if conv2dbias is None: + module = nn.Conv2d(**paramsdict, bias=False) + else: + module = nn.Conv2d(**paramsdict, bias=True) + module.bias = torch.nn.Parameter(conv2dbias) + + module.weight = torch.nn.Parameter(conv2dweight) + + pnconv = PosNegConv(module, ignorebias=lrpignorebiastensor.item()) + + X = input_.clone().detach().requires_grad_(True) + R = lrp_backward(_input=X, layer=pnconv, relevance_output=grad_output[0], eps0=1e-12, eps=0) + + return R, None, None + + +class Conv2DZBetaWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module, lrpignorebias, lowest, highest): + """ + In the forward pass we receive a Tensor containing the input and return + a Tensor containing the output. ctx is a context object that can be used + to stash information for backward computation. You can cache arbitrary + objects for use in the backward pass using the ctx.save_for_backward + method. + """ + + def configvalues_totensorlist(module): + propertynames = ["in_channels", "out_channels", "kernel_size", "stride", "padding", "dilation", "groups"] + values = [] + for attr in propertynames: + v = getattr(module, attr) + # convert it into tensor + # has no treatment for booleans yet + if isinstance(v, int): + v = torch.tensor([v], dtype=torch.int32, device=module.weight.device) + elif isinstance(v, tuple): + ################ + ################ + # FAILMODE: if it is not a tuple of ints but e.g. a tuple + # of floats, or a tuple of a tuple + + v = torch.tensor(v, dtype=torch.int32, device=module.weight.device) + else: + print("v is neither int nor tuple. unexpected") + exit() + values.append(v) + return propertynames, values + + # stash module config params and trainable params + propertynames, values = configvalues_totensorlist(module) + + if module.bias is None: + bias = None + else: + bias = module.bias.data.clone() + lrpignorebiastensor = torch.tensor([lrpignorebias], dtype=torch.bool, device=module.weight.device) + ctx.save_for_backward( + x, + module.weight.data.clone(), + bias, + lrpignorebiastensor, + lowest.to(module.weight.device), + highest.to(module.weight.device), + *values + ) # *values unpacks the list + + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the loss + with respect to the output, and we need to compute the gradient of the loss + with respect to the input. + """ + (input_, conv2dweight, conv2dbias, lrpignorebiastensor, lowest_, highest_, *values) = ctx.saved_tensors + + ####################################################################### + # reconstruct dictionary of config parameters + def tensorlist_todict(values): + propertynames = ["in_channels", "out_channels", "kernel_size", "stride", "padding", "dilation", "groups"] + # but needs to turn tensors to ints or tuples! + paramsdict = {} + for i, n in enumerate(propertynames): + v = values[i] + if v.numel == 1: + paramsdict[n] = v.item() # to cpu? + else: + alist = v.tolist() + if len(alist) == 1: + paramsdict[n] = alist[0] + else: + paramsdict[n] = tuple(alist) + return paramsdict + + ####################################################################### + paramsdict = tensorlist_todict(values) + + if conv2dbias is None: + module = nn.Conv2d(**paramsdict, bias=False) + else: + module = nn.Conv2d(**paramsdict, bias=True) + module.bias = torch.nn.Parameter(conv2dbias) + + module.weight = torch.nn.Parameter(conv2dweight) + + any_conv = AnySignConv(module, ignorebias=lrpignorebiastensor.item()) + + X = input_.clone().detach().requires_grad_(True) + L = (lowest_ * torch.ones_like(X)).requires_grad_(True) + H = (highest_ * torch.ones_like(X)).requires_grad_(True) + + with torch.enable_grad(): + Z = ( + any_conv.forward(mode="justasitis", x=X) + - any_conv.forward(mode="pos", x=L) + - any_conv.forward(mode="neg", x=H) + ) + S = safe_divide(grad_output[0].clone().detach(), Z.clone().detach(), eps0=1e-6, eps=1e-6) + Z.backward(S) + R = (X * X.grad + L * L.grad + H * H.grad).detach() + + # for (x, conv2dclass,lrpignorebias, lowest, highest) + return R, None, None, None, None + + +class AdaptiveAvgPool2DWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module, eps): + """ + In the forward pass we receive a Tensor containing the input and return + a Tensor containing the output. ctx is a context object that can be used + to stash information for backward computation. You can cache arbitrary + objects for use in the backward pass using the ctx.save_for_backward method. + """ + + def configvalues_totensorlist(module, device): + + propertynames = ["output_size"] + values = [] + for attr in propertynames: + v = getattr(module, attr) + # convert it into tensor + # has no treatment for booleans yet + if isinstance(v, int): + v = torch.tensor([v], dtype=torch.int32, device=device) + elif isinstance(v, tuple): + v = torch.tensor(v, dtype=torch.int32, device=device) + else: + print("v is neither int nor tuple. unexpected") + exit() + values.append(v) + return propertynames, values + + # stash module config params and trainable params + propertynames, values = configvalues_totensorlist(module, x.device) + epstensor = torch.tensor([eps], dtype=torch.float32, device=x.device) + ctx.save_for_backward(x, epstensor, *values) # *values unpacks the list + + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the loss + with respect to the output, and we need to compute the gradient of the loss + with respect to the input. + """ + + input_, epstensor, *values = ctx.saved_tensors + + ####################################################################### + # reconstruct dictionary of config parameters + def tensorlist_todict(values): + propertynames = ["output_size"] + # idea: paramsdict={ n: values[i] + # for i,n in enumerate(propertynames) } + # but needs to turn tensors to ints or tuples! + paramsdict = {} + for i, n in enumerate(propertynames): + v = values[i] + if v.numel == 1: + paramsdict[n] = v.item() # to cpu? + else: + alist = v.tolist() + if len(alist) == 1: + paramsdict[n] = alist[0] + else: + paramsdict[n] = tuple(alist) + return paramsdict + + ####################################################################### + paramsdict = tensorlist_todict(values) + eps = epstensor.item() + + # class instantiation + layerclass = torch.nn.AdaptiveAvgPool2d(**paramsdict) + + X = input_.clone().detach().requires_grad_(True) + R = lrp_backward(_input=X, layer=layerclass, relevance_output=grad_output[0], eps0=eps, eps=eps) + + return R, None, None + + +class MaxPool2DWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module): + """ + In the forward pass we receive a Tensor containing the input and return + a Tensor containing the output. ctx is a context object that can be used + to stash information for backward computation. You can cache arbitrary + objects for use in the backward pass using the ctx.save_for_backward + method. + """ + + def configvalues_totensorlist(module, device): + + propertynames = ["kernel_size", "stride", "padding", "dilation", "return_indices", "ceil_mode"] + values = [] + for attr in propertynames: + v = getattr(module, attr) + # convert it into tensor + # has no treatment for booleans yet + if isinstance(v, bool): + v = torch.tensor([v], dtype=torch.bool, device=device) + elif isinstance(v, int): + v = torch.tensor([v], dtype=torch.int32, device=device) + elif isinstance(v, bool): + + v = torch.tensor([v], dtype=torch.int32, device=device) + elif isinstance(v, tuple): + ################ + ################ + # FAILMODE: if it is not a tuple of ints but e.g. a tuple + # of floats, or a tuple of a tuple + + v = torch.tensor(v, dtype=torch.int32, device=device) + else: + print("v is neither int nor tuple. unexpected") + exit() + values.append(v) + return propertynames, values + + # stash module config params and trainable params + propertynames, values = configvalues_totensorlist(module, x.device) + ctx.save_for_backward(x, *values) # *values unpacks the list + + if VERBOSE: + print("maxpool2d custom forward") + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the loss + with respect to the output, and we need to compute the gradient of the loss + with respect to the input. + """ + + input_, *values = ctx.saved_tensors + + ####################################################################### + # reconstruct dictionary of config parameters + def tensorlist_todict(values): + propertynames = ["kernel_size", "stride", "padding", "dilation", "return_indices", "ceil_mode"] + # idea: paramsdict={ n: values[i] + # for i,n in enumerate(propertynames) } + # but needs to turn tensors to ints or tuples! + paramsdict = {} + for i, n in enumerate(propertynames): + v = values[i] + if v.numel == 1: + paramsdict[n] = v.item() # to cpu? + else: + alist = v.tolist() + if len(alist) == 1: + paramsdict[n] = alist[0] + else: + paramsdict[n] = tuple(alist) + return paramsdict + + paramsdict = tensorlist_todict(values) + + layerclass = torch.nn.MaxPool2d(**paramsdict) + + X = input_.clone().detach().requires_grad_(True) + with torch.enable_grad(): + Z = layerclass.forward(X) + relevance_output_data = grad_output[0].clone().detach().unsqueeze(0) + Z.backward(relevance_output_data) + R = X.grad + + return R, None + + +# to be used with generic_activation_pool_wrapper_class(module,this) +class ReluWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module): + # stash module config params and trainable params + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + return grad_output, None + + +# to be used with generic_activation_pool_wrapper_class(module,this) +class SigmoidWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module): + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + return grad_output, None + + +# lineareps_wrapper_fct +class LinearLayerEpsWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, x, module, eps): + """ + In the forward pass we receive a Tensor containing the input and return + a Tensor containing the output. ctx is a context object that can be used + to stash information for backward computation. You can cache arbitrary + objects for use in the backward pass using the ctx.save_for_backward + method. + """ + + def configvalues_totensorlist(module): + + propertynames = ["in_features", "out_features"] + values = [] + for attr in propertynames: + v = getattr(module, attr) + # convert it into tensor + # has no treatment for booleans yet + if isinstance(v, int): + v = torch.tensor([v], dtype=torch.int32, device=module.weight.device) + elif isinstance(v, tuple): + ################ + ################ + # FAILMODE: if it is not a tuple of ints but e.g. a tuple + # of floats, or a tuple of a tuple + + v = torch.tensor(v, dtype=torch.int32, device=module.weight.device) + else: + print("v is neither int nor tuple. unexpected") + exit() + values.append(v) + return propertynames, values + + # stash module config params and trainable params + propertynames, values = configvalues_totensorlist(module) + epstensor = torch.tensor([eps], dtype=torch.float32, device=x.device) + + if module.bias is None: + bias = None + else: + bias = module.bias.data.clone() + ctx.save_for_backward(x, module.weight.data.clone(), bias, epstensor, *values) # *values unpacks the list + + return module.forward(x) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the loss + with respect to the output, and we need to compute the gradient of the loss + with respect to the input. + """ + + input_, weight, bias, epstensor, *values = ctx.saved_tensors + + ####################################################################### + # reconstruct dictionary of config parameters + def tensorlist_todict(values): + propertynames = ["in_features", "out_features"] + # but needs to turn tensors to ints or tuples! + paramsdict = {} + for i, n in enumerate(propertynames): + v = values[i] + if v.numel == 1: + paramsdict[n] = v.item() # to cpu? + else: + alist = v.tolist() + if len(alist) == 1: + paramsdict[n] = alist[0] + else: + paramsdict[n] = tuple(alist) + return paramsdict + + ####################################################################### + paramsdict = tensorlist_todict(values) + + if bias is None: + module = nn.Linear(**paramsdict, bias=False) + else: + module = nn.Linear(**paramsdict, bias=True) + module.bias = torch.nn.Parameter(bias) + + module.weight = torch.nn.Parameter(weight) + + eps = epstensor.item() + X = input_.clone().detach().requires_grad_(True) + R = lrp_backward(_input=X, layer=module, relevance_output=grad_output[0], eps0=eps, eps=eps) + + return R, None, None + + +class SumStacked2(nn.Module): + def __init__(self): + super(SumStacked2, self).__init__() + + @staticmethod + def forward(x): # from X=torch.stack([X0, X1], dim=0) + assert x.shape[0] == 2 + return torch.sum(x, dim=0) + + +# to be used with generic_activation_pool_wrapper_class(module,this) +class EltwiseSumStacked2EpsWrapperFct(torch.autograd.Function): + """ + We can implement our own custom autograd Functions by subclassing + torch.autograd.Function and implementing the forward and backward passes + which operate on Tensors. + """ + + @staticmethod + def forward(ctx, stackedx, module, eps): + epstensor = torch.tensor([eps], dtype=torch.float32, device=stackedx.device) + ctx.save_for_backward(stackedx, epstensor) + return module.forward(stackedx) + + @staticmethod + def backward(ctx, grad_output): + stackedx, epstensor = ctx.saved_tensors + + X = stackedx.clone().detach().requires_grad_(True) + + eps = epstensor.item() + + s2 = SumStacked2().to(X.device) + Rtmp = lrp_backward(_input=X, layer=s2, relevance_output=grad_output[0], eps0=eps, eps=eps) + + return Rtmp, None, None + + +####################################################### +####################################################### +# aux input classes +####################################################### +####################################################### + + +class PosNegConv(nn.Module): + def _clone_module(self, module): + clone = nn.Conv2d( + module.in_channels, + module.out_channels, + module.kernel_size, + **{attr: getattr(module, attr) for attr in ["stride", "padding", "dilation", "groups"]} + ) + return clone.to(module.weight.device) + + def __init__(self, conv, ignorebias): + super(PosNegConv, self).__init__() + + self.posconv = self._clone_module(conv) + self.posconv.weight = torch.nn.Parameter(conv.weight.data.clone().clamp(min=0)).to(conv.weight.device) + + self.negconv = self._clone_module(conv) + self.negconv.weight = torch.nn.Parameter(conv.weight.data.clone().clamp(max=0)).to(conv.weight.device) + + self.anyconv = self._clone_module(conv) + self.anyconv.weight = torch.nn.Parameter(conv.weight.data.clone()).to(conv.weight.device) + + if ignorebias: + self.posconv.bias = None + self.negconv.bias = None + else: + if conv.bias is not None: + self.posconv.bias = torch.nn.Parameter(conv.bias.data.clone().clamp(min=0)) + self.negconv.bias = torch.nn.Parameter(conv.bias.data.clone().clamp(max=0)) + + def forward(self, x): + vp = self.posconv(torch.clamp(x, min=0)) + vn = self.negconv(torch.clamp(x, max=0)) + return vp + vn + + +class AnySignConv(nn.Module): + def _clone_module(self, module): + clone = nn.Conv2d( + module.in_channels, + module.out_channels, + module.kernel_size, + **{attr: getattr(module, attr) for attr in ["stride", "padding", "dilation", "groups"]} + ) + return clone.to(module.weight.device) + + def __init__(self, conv, ignorebias): + super(AnySignConv, self).__init__() + + self.posconv = self._clone_module(conv) + self.posconv.weight = torch.nn.Parameter(conv.weight.data.clone().clamp(min=0)).to(conv.weight.device) + + self.negconv = self._clone_module(conv) + self.negconv.weight = torch.nn.Parameter(conv.weight.data.clone().clamp(max=0)).to(conv.weight.device) + + self.jusconv = self._clone_module(conv) + self.jusconv.weight = torch.nn.Parameter(conv.weight.data.clone()).to(conv.weight.device) + + if ignorebias: + self.posconv.bias = None + self.negconv.bias = None + self.jusconv.bias = None + else: + if conv.bias is not None: + self.posconv.bias = torch.nn.Parameter(conv.bias.data.clone().clamp(min=0)).to(conv.weight.device) + self.negconv.bias = torch.nn.Parameter(conv.bias.data.clone().clamp(max=0)).to(conv.weight.device) + self.jusconv.bias = torch.nn.Parameter(conv.bias.data.clone()).to(conv.weight.device) + + def forward(self, mode, x): + if mode == "pos": + return self.posconv.forward(x) + elif mode == "neg": + return self.negconv.forward(x) + elif mode == "justasitis": + return self.jusconv.forward(x) + else: + raise NotImplementedError("anysign_conv notimpl mode: " + str(mode)) + + +class PosNegConvTensorBiased(nn.Module): + def _clone_module(self, module): + clone = nn.Conv2d( + module.in_channels, + module.out_channels, + module.kernel_size, + **{attr: getattr(module, attr) for attr in ["stride", "padding", "dilation", "groups"]} + ) + return clone.to(module.weight.device) + + def __init__(self, tensorbiasedconv, ignorebias): + super(PosNegConvTensorBiased, self).__init__() + + self.posconv = TensorBiasedConvLayer( + tensorbiasedconv.conv.weight, tensorbiasedconv.baseconv, tensorbiasedconv.inputfornewbias + ) + self.negconv = TensorBiasedConvLayer( + tensorbiasedconv.conv.weight, tensorbiasedconv.baseconv, tensorbiasedconv.inputfornewbias + ) + + self.posconv.conv.weight = torch.nn.Parameter(tensorbiasedconv.conv.weight.data.clone().clamp(min=0)).to( + tensorbiasedconv.conv.weight.device + ) + + self.negconv.conv.weight = torch.nn.Parameter(tensorbiasedconv.conv.weight.data.clone().clamp(max=0)).to( + tensorbiasedconv.conv.weight.device + ) + + if ignorebias: + self.posconv.inputfornewbias = None + self.negconv.inputfornewbias = None + else: + self.posconv.biasmode = "pos" + self.negconv.biasmode = "neg" + + if VERBOSE: + print("posnegconv_tensorbiased done init") + + def forward(self, x): + vp = self.posconv(torch.clamp(x, min=0)) + vn = self.negconv(torch.clamp(x, max=0)) + return vp + vn + + +####################################################### +####################################################### +# #base routines +####################################################### +####################################################### + + +def safe_divide(numerator, divisor, eps0, eps): + return numerator / (divisor + eps0 * (divisor == 0).to(divisor) + eps * divisor.sign()) + + +def lrp_backward(_input, layer, relevance_output, eps0, eps): + """ + Performs the LRP backward pass, implemented as standard forward and backward + passes. + """ + relevance_output_data = relevance_output.clone().detach() + with torch.enable_grad(): + Z = layer(_input) + S = safe_divide(relevance_output_data, Z.clone().detach(), eps0, eps) + + Z.backward(S) + relevance_input = _input.data * _input.grad.data + return relevance_input + + +class L2LRPClass(torch.autograd.Function): + @staticmethod + def forward(ctx, conv_features, model): + # *values unpacks the list + ctx.save_for_backward(conv_features, model.prototype_vectors) + if VERBOSE: + print("l2 custom forward") + x2 = conv_features**2 + x2_patch_sum = F.conv2d(input=x2, weight=model.ones) + + p2 = model.prototype_vectors**2 + p2 = torch.sum(p2, dim=(1, 2, 3)) + # p2 is a vector of shape (num_prototypes,) + # then we reshape it to (num_prototypes, 1, 1) + p2_reshape = p2.view(-1, 1, 1) + + xp = F.conv2d(input=conv_features, weight=model.prototype_vectors) + intermediate_result = -2 * xp + p2_reshape # use broadcast + # x2_patch_sum and intermediate_result are of the same shape + distances = F.relu(x2_patch_sum + intermediate_result) + + similarities = torch.log((distances + 1) / (distances + model.epsilon)) + + return similarities + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the + loss with respect to the output, and we need to compute the gradient of + the loss with respect to the input. + """ + if VERBOSE: + print("l2 custom backward") + conv, prototypes = ctx.saved_tensors + i = conv.shape[2] + j = conv.shape[3] + c = conv.shape[1] + p = prototypes.shape[0] + + # Broadcast conv to Nxsize(conv) (No. of prototypes) + conv = conv.repeat(p, 1, 1, 1) + prototype = prototypes.repeat(1, 1, i, j) + + conv = conv.squeeze() + + l2 = (conv - prototype) ** 2 + d = 1 / (l2**2 + 1e-12) + + denom = torch.sum(d, dim=1, keepdim=True) + 1e-12 + denom = denom.repeat(1, c, 1, 1) + 1e-12 + R = torch.div(d, denom) + + grad_output = grad_output.repeat(c, 1, 1, 1) + grad_output = grad_output.permute(1, 0, 2, 3) + + R = R * grad_output + + R = torch.sum(R, dim=0) + + R = torch.unsqueeze(R, dim=0) + + return R, None, None + + +class CosineDistLRPClass(torch.autograd.Function): + @staticmethod + def forward(ctx, conv_features, model): + ctx.save_for_backward(conv_features, model.prototype_vectors) + if VERBOSE: + print("cosine custom forward") + + # An alternative distance metric used in TesNet. Alternative to + # l2_convolution + x = F.normalize(conv_features, p=2, dim=1) + prototype_vectors = F.normalize(model.prototype_vectors, p=2, dim=1) + similarities = F.conv2d(input=x, weight=prototype_vectors) + # clip similarities in the range [-1, +1] (numerical error can + # cause similarities to be outside this range) + similarities = torch.clamp(similarities, -1, 1) + distances = 1 - similarities # bounded [0, 2] + + similarities = torch.log((distances + 1) / (distances + model.epsilon)) + + return similarities + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the + loss with respect to the output, and we need to compute the gradient of + the loss with respect to the input. + """ + if VERBOSE: + print("cosine custom backward") + conv, prototypes = ctx.saved_tensors + i = conv.shape[2] + j = conv.shape[3] + c = conv.shape[1] + p = prototypes.shape[0] + + # Broadcast conv to Nxsize(conv) (No. of prototypes) + conv = conv.repeat(p, 1, 1, 1) # NP x D x Hz x Wz + prototype = prototypes.repeat(1, 1, i, j) # P x D x Hz x Wz + + conv = conv.squeeze() # think this does nothing + + cosine_dists = 1 - F.normalize(prototype, p=2, dim=1) * F.normalize(conv, p=2, dim=1) + d = 1 / (cosine_dists**2 + 1e-12) + + denom = torch.sum(d, dim=1, keepdim=True) + 1e-12 + denom = denom.repeat(1, c, 1, 1) + 1e-12 + R = torch.div(d, denom) + + grad_output = grad_output.repeat(c, 1, 1, 1) + grad_output = grad_output.permute(1, 0, 2, 3) + + R = R * grad_output + + R = torch.sum(R, dim=0) + + R = torch.unsqueeze(R, dim=0) + + return R, None, None diff --git a/pixpnet/protonets/prp/prp.py b/pixpnet/protonets/prp/prp.py new file mode 100644 index 0000000..5977b2b --- /dev/null +++ b/pixpnet/protonets/prp/prp.py @@ -0,0 +1,555 @@ +""" +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +""" +import copy +from collections import OrderedDict + +import torch +from torch import nn +from torchvision import datasets + +from pixpnet.protonets.prp.lrp_general6 import ( + AdaptiveAvgPool2DWrapperFct, + Conv2DBeta0WrapperFct, + CosineDistLRPClass, + EltwiseSumStacked2EpsWrapperFct, + L2LRPClass, + LinearLayerEpsWrapperFct, + MaxPool2DWrapperFct, + ReluWrapperFct, + SigmoidWrapperFct, + SumStacked2, + bnafterconv_overwrite_intoconv, + get_lrpwrapperformodule, + resetbn, +) +from pixpnet.protonets.prp.resnet_features import BasicBlock, Bottleneck, ResNetFeatures + + +def imshow_im(hm, q=100): + hm = hm.squeeze().sum(dim=0).detach() + return hm + + +# partial replacement of BN, use own classes, no pretrained loading + + +class TorchModuleNotFoundError(Exception): + pass + + +class BasicBlockFused(BasicBlock): + expansion = 1 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(BasicBlockFused, self).__init__(inplanes, planes, stride, downsample) + + # own + self.elt = SumStacked2() # eltwisesum2() + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + + if self.downsample is not None: + identity = self.downsample(x) + + out = self.elt(torch.stack([out, identity], dim=0)) # self.elt(out,identity) + out = self.relu(out) + + return out + + +class BottleneckFused(Bottleneck): + # Bottleneck in torchvision places the stride for downsampling at 3x3 + # convolution(self.conv2) while original implementation places the stride + # at the first 1x1 convolution(self.conv1) according to "Deep residual + # learning for image recognition"https://arxiv.org/abs/1512.03385. + # This variant is also known as ResNet V1.5 and improves accuracy according + # to + # https://ngc.nvidia.com/catalog/model-scripts/nvidia:resnet_50_v1_5_for_pytorch. + + expansion = 4 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(BottleneckFused, self).__init__(inplanes, planes, stride, downsample) + + # own + self.elt = SumStacked2() # eltwisesum2() + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + out = self.relu(out) + + out = self.conv3(out) + out = self.bn3(out) + + if self.downsample is not None: + identity = self.downsample(x) + + out = self.elt(torch.stack([out, identity], dim=0)) # self.elt(out,identity) + out = self.relu(out) + + return out + + +VERBOSE = False + + +class ResNetCanonized(ResNetFeatures): + def __init__(self, block, layers, num_classes=1000, zero_init_residual=False): + super(ResNetCanonized, self).__init__(block, layers, num_classes=1000, zero_init_residual=False) + + # runs in your current module to find the object layer3.1.conv2, and + # replaces it by the object stored in value + # (see success=iteratset(self,components,value) as initializer, + # can be modified to run in another class when replacing that self) + def setbyname(self, name, value): + def iteratset(obj, components, value): + + if not hasattr(obj, components[0]): + return False + elif len(components) == 1: + setattr(obj, components[0], value) + return True + else: + nextobj = getattr(obj, components[0]) + return iteratset(nextobj, components[1:], value) + + components = name.split(".") + success = iteratset(self, components, value) + if VERBOSE: + print("success =", success, "name =", name, "obj = resnet", "value =", str(value)[:20]) + return success + + def copyfromresnet(self, net, lrp_params, lrp_layer2method): + # --copy linear + # --copy conv2, while fusing bns + # --reset bn + + # first conv, then bn, + # means: when encounter bn, find the conv before -- implementation + # dependent + + updated_layers_names = [] + + last_src_module_name = None + last_src_module = None + + for src_module_name, src_module in net.named_modules(): + if VERBOSE: + print("at src_module_name", src_module_name) + + if src_module_name.startswith("module_dict."): + src_module_name = src_module_name.split(".", 1)[1] + + if isinstance(src_module, nn.Linear): + # copy linear layers + if VERBOSE: + print("is Linear") + wrapped = get_lrpwrapperformodule(copy.deepcopy(src_module), lrp_params, lrp_layer2method) + if VERBOSE: + print(wrapped) + if not self.setbyname(src_module_name, wrapped): + raise TorchModuleNotFoundError( + "could not find module " + src_module_name + " in target net to copy" + ) + updated_layers_names.append(src_module_name) + # end of if + + if isinstance(src_module, nn.Conv2d): + # store conv2d layers + if VERBOSE: + print("is Conv2d") + last_src_module_name = src_module_name + last_src_module = src_module + # end of if + + if isinstance(src_module, nn.BatchNorm2d): + # conv-bn chain + if VERBOSE: + print("is BatchNorm2d") + + if lrp_params["use_zbeta"] and (last_src_module_name == "conv1"): + thisis_inputconv_andiwant_zbeta = True + else: + thisis_inputconv_andiwant_zbeta = False + + m = copy.deepcopy(last_src_module) + m = bnafterconv_overwrite_intoconv(m, bn=src_module) + # wrap conv + wrapped = get_lrpwrapperformodule( + m, lrp_params, lrp_layer2method, thisis_inputconv_andiwant_zbeta=(thisis_inputconv_andiwant_zbeta) + ) + if VERBOSE: + print(wrapped) + + if not self.setbyname(last_src_module_name, wrapped): + raise TorchModuleNotFoundError( + "could not find module " + last_src_module_name + " in target net to copy" + ) + + updated_layers_names.append(last_src_module_name) + + # wrap batchnorm + wrapped = get_lrpwrapperformodule(resetbn(src_module), lrp_params, lrp_layer2method) + if VERBOSE: + print(wrapped) + if not self.setbyname(src_module_name, wrapped): + raise TorchModuleNotFoundError( + "could not find module " + src_module_name + " in target net to copy" + ) + updated_layers_names.append(src_module_name) + # end of if + + if VERBOSE: + print("\n") + + # sum_stacked2 is present only in the targetclass, so must iterate here + for target_module_name, target_module in self.named_modules(): + + if isinstance(target_module, (nn.ReLU, nn.AdaptiveAvgPool2d, nn.MaxPool2d)): + wrapped = get_lrpwrapperformodule(target_module, lrp_params, lrp_layer2method) + if VERBOSE: + print(wrapped) + if not self.setbyname(target_module_name, wrapped): + raise TorchModuleNotFoundError( + "could not find module " + src_module_name + " in target net to copy" + ) + updated_layers_names.append(target_module_name) + + if isinstance(target_module, SumStacked2): + + wrapped = get_lrpwrapperformodule(target_module, lrp_params, lrp_layer2method) + if VERBOSE: + print(wrapped) + if not self.setbyname(target_module_name, wrapped): + raise TorchModuleNotFoundError( + "could not find module " + target_module_name + " in target net , impossible!" + ) + updated_layers_names.append(target_module_name) + + to_delete = [] + for target_module_name, target_module in self.named_modules(): + if target_module_name not in updated_layers_names: + if not (target_module_name.endswith(".module") or target_module_name.endswith(".downsample")): + if ( + target_module_name + and "." not in target_module_name + and hasattr(net, "module_dict") + and not hasattr(net.module_dict, target_module_name) + ): + print("Replacing", target_module_name, "with identity") + to_delete.append(target_module_name) + setattr(self, target_module_name, nn.Identity()) + + elif target_module_name.split(".", 1)[0] in to_delete: + if VERBOSE: + print(target_module_name, "part of to_delete") + else: + print("not updated:", target_module_name) + else: + if VERBOSE: + print("updated:", target_module_name) + + +class AddonCanonized(nn.Module): + def __init__(self, in_channels=512, out_channels=128): + super(AddonCanonized, self).__init__() + self.addon = nn.Sequential( + OrderedDict( + ( + ("conv1", nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=1)), + ("relu1", nn.ReLU()), + ("conv_last", nn.Conv2d(in_channels=out_channels, out_channels=out_channels, kernel_size=1)), + ("sigmoid", nn.Sigmoid()), + ) + ) + ) + + +def _addon_canonized(in_channels=512, out_channels=128, pretrained=False, progress=True, **kwargs): + model = AddonCanonized(in_channels=in_channels, out_channels=out_channels) + return model + + +def _resnet_canonized(arch, block, layers, pretrained, progress, **kwargs): + model = ResNetCanonized(block, layers, **kwargs) + return model + + +def resnet18_canonized(pretrained=False, progress=True, **kwargs): + r"""ResNet-18 model from + `"Deep Residual Learning for Image Recognition" + `_ + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + """ + return _resnet_canonized("resnet18", BasicBlockFused, [2, 2, 2, 2], pretrained, progress, **kwargs) + + +def resnet50_canonized(pretrained=False, progress=True, **kwargs): + r"""ResNet-50 model from + `"Deep Residual Learning for Image Recognition" + `_ + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + """ + return _resnet_canonized("resnet50", BottleneckFused, [3, 4, 6, 3], pretrained, progress, **kwargs) + + +def resnet34_canonized(pretrained=False, progress=True, **kwargs): + r"""ResNet-18 model from + `"Deep Residual Learning for Image Recognition" + `_ + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + """ + return _resnet_canonized("resnet34", BasicBlockFused, [3, 4, 6, 3], **kwargs) + + +def resnet152_canonized(pretrained=False, progress=True, **kwargs): + r"""ResNet-18 model from + `"Deep Residual Learning for Image Recognition" + `_ + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + """ + return _resnet_canonized("resnet152", BottleneckFused, [3, 8, 36, 3], **kwargs) + + +def resnet101_canonized(pretrained=False, progress=True, **kwargs): + r"""ResNet-18 model from + `"Deep Residual Learning for Image Recognition" + `_ + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + """ + return _resnet_canonized("resnet101", BottleneckFused, [3, 4, 23, 3], **kwargs) + + +class SumLRP(torch.autograd.Function): + @staticmethod + def forward(ctx, x): + ctx.save_for_backward(x) # *values unpacks the list + + if VERBOSE: + print("ctx.needs_input_grad", ctx.needs_input_grad) + print("sum custom forward") + return torch.sum(x, dim=(1, 2, 3)) + + @staticmethod + def backward(ctx, grad_output): + """ + In the backward pass we receive a Tensor containing the gradient of the + loss with respect to the output, and we need to compute the gradient of + the loss with respect to the input. + """ + + input_ = ctx.saved_tensors + X = input_.clone().detach().requires_grad_(True) + with torch.enable_grad(): + Z = torch.sum(X, dim=(1, 2, 3)) + relevance_output_data = grad_output[0].clone().detach().unsqueeze(0) + R = relevance_output_data * X / Z + return R, None + + +def generate_prp_image(inputs, pno, model, config): + model.train(False) + inputs.requires_grad = True + + with torch.enable_grad(): + conv_features = model.conv_features(inputs) + + if config.model.distance == "cosine": + new_dist = CosineDistLRPClass.apply + else: + new_dist = L2LRPClass.apply + similarities = new_dist(conv_features, model) + + # global max pooling + min_distances = model.max_layer(similarities) + + min_distances = min_distances.view(-1, model.num_prototypes) + + # For individual prototype + (min_distances[:, pno]).backward() + + rel = inputs.grad.data + prp = imshow_im(rel.to("cpu")) + + return prp + + +class ImageFolderWithPaths(datasets.ImageFolder): + """Custom dataset that includes image file paths. Extends + torchvision.datasets.ImageFolder + """ + + # override the __getitem__ method. this is the method that dataloader calls + def __getitem__(self, index): + # this is what ImageFolder normally returns + original_tuple = super(ImageFolderWithPaths, self).__getitem__(index) + # the image file path + path = self.imgs[index][0] + # make a new tuple that includes original and the path + tuple_with_path = original_tuple + (path,) + return tuple_with_path + + +def setbyname(obj, name, value): + def iteratset(obj, components, value): + + if not hasattr(obj, components[0]): + if VERBOSE: + print(components[0]) + return False + elif len(components) == 1: + setattr(obj, components[0], value) + return True + else: + nextobj = getattr(obj, components[0]) + return iteratset(nextobj, components[1:], value) + + components = name.split(".") + success = iteratset(obj, components, value) + print("success =", success, "name =", name, "obj =", str(obj)[:20], "value =", str(value)[:20]) + return success + + +base_architecture_to_features = { + "resnet18": resnet18_canonized, + "resnet34": resnet34_canonized, + "resnet50": resnet50_canonized, + "resnet101": resnet101_canonized, + "resnet152": resnet152_canonized, +} + + +def prp_canonized_model(ppnet, config): + device = ppnet.prototype_vectors.device + base_arch = config.model.feature_extractor + distance = config.model.distance + + model = base_architecture_to_features[base_arch](pretrained=False) + model = model.to(device) + + lrp_params_def1 = { + "conv2d_ignorebias": True, + "eltwise_eps": 1e-6, + "linear_eps": 1e-6, + "pooling_eps": 1e-6, + "use_zbeta": True, + } + + lrp_layer2method = { + "nn.ReLU": ReluWrapperFct, + "nn.Sigmoid": SigmoidWrapperFct, + "nn.BatchNorm2d": ReluWrapperFct, + "nn.Conv2d": Conv2DBeta0WrapperFct, + "nn.Linear": LinearLayerEpsWrapperFct, + "nn.AdaptiveAvgPool2d": AdaptiveAvgPool2DWrapperFct, + "nn.MaxPool2d": MaxPool2DWrapperFct, + "sum_stacked2": EltwiseSumStacked2EpsWrapperFct, + } + + model.copyfromresnet(ppnet.features, lrp_params=lrp_params_def1, lrp_layer2method=lrp_layer2method) + model = model.to(device) + ppnet.features = model + + if distance == "cosine": + conv_layer1 = nn.Conv2d(ppnet.prototype_shape[1], ppnet.prototype_shape[0], kernel_size=1, bias=False).to( + device + ) + conv_layer1.weight.data = ppnet.prototype_vectors + else: + conv_layer1 = nn.Conv2d(ppnet.prototype_shape[1], ppnet.prototype_shape[0], kernel_size=1, bias=False).to( + device + ) + conv_layer1.weight.data = ppnet.ones + + wrapped = get_lrpwrapperformodule(copy.deepcopy(conv_layer1), lrp_params_def1, lrp_layer2method) + conv_layer1 = wrapped + + conv_layer2 = nn.Conv2d(ppnet.prototype_shape[1], ppnet.prototype_shape[0], kernel_size=1, bias=False).to( + device + ) + conv_layer2.weight.data = ppnet.prototype_vectors + + wrapped = get_lrpwrapperformodule(copy.deepcopy(conv_layer2), lrp_params_def1, lrp_layer2method) + conv_layer2 = wrapped + + relu_layer = nn.ReLU().to(device) + wrapped = get_lrpwrapperformodule(copy.deepcopy(relu_layer), lrp_params_def1, lrp_layer2method) + relu_layer = wrapped + + add_on_layers = _addon_canonized( + in_channels=ppnet.add_on_layers.conv1.in_channels, + out_channels=ppnet.prototype_dim, + ) + + for src_module_name, src_module in ppnet.add_on_layers.named_modules(): + if isinstance(src_module, nn.Conv2d): + if VERBOSE: + print(hasattr(add_on_layers.addon, src_module_name)) + wrapped = get_lrpwrapperformodule(copy.deepcopy(src_module), lrp_params_def1, lrp_layer2method) + setbyname(add_on_layers.addon, src_module_name, wrapped) + + if isinstance(src_module, nn.ReLU): + if VERBOSE: + print(hasattr(add_on_layers.addon, src_module_name)) + wrapped = get_lrpwrapperformodule(copy.deepcopy(src_module), lrp_params_def1, lrp_layer2method) + setbyname(add_on_layers.addon, src_module_name, wrapped) + + if isinstance(src_module, nn.Sigmoid): + if VERBOSE: + print(hasattr(add_on_layers.addon, src_module_name)) + wrapped = get_lrpwrapperformodule(copy.deepcopy(src_module), lrp_params_def1, lrp_layer2method) + setbyname(add_on_layers.addon, src_module_name, wrapped) + + Hz = len(ppnet.rf_slices) + Wz = len(ppnet.rf_slices[0]) + ppnet.max_layer = nn.MaxPool2d((Hz, Wz), return_indices=False) + + # Maxpool + ppnet.max_layer = get_lrpwrapperformodule(copy.deepcopy(ppnet.max_layer), lrp_params_def1, lrp_layer2method) + + add_on_layers = add_on_layers.to(device) + ppnet.add_on_layers = add_on_layers.addon + + if distance == "cosine": + ppnet.conv_layer1 = conv_layer1 + else: + ppnet.conv_layer1 = conv_layer1 + ppnet.conv_layer2 = conv_layer2 + ppnet.relu_layer = relu_layer + + return ppnet diff --git a/pixpnet/protonets/prp/resnet_features.py b/pixpnet/protonets/prp/resnet_features.py new file mode 100644 index 0000000..59f5ef2 --- /dev/null +++ b/pixpnet/protonets/prp/resnet_features.py @@ -0,0 +1,321 @@ +""" +Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +Copyright (c) 2022 Srishti Gautam, Marina Hohne, Robert Jenssen, Michael Kampffmeyer +Copyright (c) 2019 Chaofan Chen (cfchen-duke), Oscar Li (OscarcarLi), Chaofan Tao, Alina Jade Barnett, Cynthia Rudin + +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: MIT +""" +import torch.nn as nn +import torch.utils.model_zoo as model_zoo + +model_urls = { + "resnet18": "https://download.pytorch.org/models/resnet18-5c106cde.pth", + "resnet34": "https://download.pytorch.org/models/resnet34-333f7ec4.pth", + "resnet50": "https://download.pytorch.org/models/resnet50-19c8e357.pth", + "resnet101": "https://download.pytorch.org/models/resnet101-5d3b4d8f.pth", + "resnet152": "https://download.pytorch.org/models/resnet152-b121ed2d.pth", +} + +model_dir = "/tmp/pretrained_models/" + + +def conv3x3(in_planes, out_planes, stride=1): + """3x3 convolution with padding""" + return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False) + + +def conv1x1(in_planes, out_planes, stride=1): + """1x1 convolution""" + return nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, bias=False) + + +class BasicBlock(nn.Module): + # class attribute + expansion = 1 + num_layers = 2 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(BasicBlock, self).__init__() + # only conv with possibly not 1 stride + self.conv1 = conv3x3(inplanes, planes, stride) + self.bn1 = nn.BatchNorm2d(planes) + self.relu = nn.ReLU(inplace=True) + self.conv2 = conv3x3(planes, planes) + self.bn2 = nn.BatchNorm2d(planes) + + # if stride is not 1 then self.downsample cannot be None + self.downsample = downsample + self.stride = stride + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + + if self.downsample is not None: + identity = self.downsample(x) + + # the residual connection + out += identity + out = self.relu(out) + + return out + + def block_conv_info(self): + block_kernel_sizes = [3, 3] + block_strides = [self.stride, 1] + block_paddings = [1, 1] + + return block_kernel_sizes, block_strides, block_paddings + + +class Bottleneck(nn.Module): + # class attribute + expansion = 4 + num_layers = 3 + + def __init__(self, inplanes, planes, stride=1, downsample=None): + super(Bottleneck, self).__init__() + self.conv1 = conv1x1(inplanes, planes) + self.bn1 = nn.BatchNorm2d(planes) + # only conv with possibly not 1 stride + self.conv2 = conv3x3(planes, planes, stride) + self.bn2 = nn.BatchNorm2d(planes) + self.conv3 = conv1x1(planes, planes * self.expansion) + self.bn3 = nn.BatchNorm2d(planes * self.expansion) + self.relu = nn.ReLU(inplace=True) + + # if stride is not 1 then self.downsample cannot be None + self.downsample = downsample + self.stride = stride + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.bn1(out) + out = self.relu(out) + + out = self.conv2(out) + out = self.bn2(out) + out = self.relu(out) + + out = self.conv3(out) + out = self.bn3(out) + + if self.downsample is not None: + identity = self.downsample(x) + + out += identity + out = self.relu(out) + + return out + + def block_conv_info(self): + block_kernel_sizes = [1, 3, 1] + block_strides = [1, self.stride, 1] + block_paddings = [0, 1, 0] + + return block_kernel_sizes, block_strides, block_paddings + + +class ResNetFeatures(nn.Module): + """ + the convolutional layers of ResNet + the average pooling and final fully convolutional layer is removed + """ + + def __init__(self, block, layers, num_classes=1000, zero_init_residual=False): + super(ResNetFeatures, self).__init__() + + self.inplanes = 64 + + # the first convolutional layer before the structured sequence of blocks + # self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, + # bias=False) + self.conv1_no_act = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, bias=False) + self.bn1 = nn.BatchNorm2d(64) + self.conv1 = nn.ReLU(inplace=True) + self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) + # comes from the first conv and the following max pool + self.kernel_sizes = [7, 3] + self.strides = [2, 2] + self.paddings = [3, 1] + + # the following layers, each layer is a sequence of blocks + self.block = block + self.layers = layers + self.layer1 = self._make_layer(block=block, planes=64, num_blocks=self.layers[0]) + self.layer2 = self._make_layer(block=block, planes=128, num_blocks=self.layers[1], stride=2) + self.layer3 = self._make_layer(block=block, planes=256, num_blocks=self.layers[2], stride=2) + self.layer4 = self._make_layer(block=block, planes=512, num_blocks=self.layers[3], stride=2) + + # initialize the parameters + for m in self.modules(): + if isinstance(m, nn.Conv2d): + nn.init.kaiming_normal_(m.weight, mode="fan_out", nonlinearity="relu") + elif isinstance(m, nn.BatchNorm2d): + nn.init.constant_(m.weight, 1) + nn.init.constant_(m.bias, 0) + + # Zero-initialize the last BN in each residual branch, + # so that the residual branch starts with zeros, and each residual + # block behaves like an identity. + # This improves the model by 0.2~0.3% according to + # https://arxiv.org/abs/1706.02677 + if zero_init_residual: + for m in self.modules(): + if isinstance(m, Bottleneck): + nn.init.constant_(m.bn3.weight, 0) + elif isinstance(m, BasicBlock): + nn.init.constant_(m.bn2.weight, 0) + + def _make_layer(self, block, planes, num_blocks, stride=1): + downsample = None + if stride != 1 or self.inplanes != planes * block.expansion: + downsample = nn.Sequential( + conv1x1(self.inplanes, planes * block.expansion, stride), + nn.BatchNorm2d(planes * block.expansion), + ) + + layers = [block(self.inplanes, planes, stride, downsample)] + # only the first block has downsample that is possibly not None + + self.inplanes = planes * block.expansion + for _ in range(1, num_blocks): + layers.append(block(self.inplanes, planes)) + + # keep track of every block's conv size, stride size, and padding size + for each_block in layers: + block_kernel_sizes, block_strides, block_paddings = each_block.block_conv_info() + self.kernel_sizes.extend(block_kernel_sizes) + self.strides.extend(block_strides) + self.paddings.extend(block_paddings) + + return nn.Sequential(*layers) + + def forward(self, x): + x = self.conv1_no_act(x) + x = self.bn1(x) + x = self.conv1(x) + x = self.maxpool(x) + + x = self.layer1(x) + x = self.layer2(x) + x = self.layer3(x) + x = self.layer4(x) + + return x + + def conv_info(self): + return self.kernel_sizes, self.strides, self.paddings + + def num_layers(self): + """ + the number of conv layers in the network, not counting the number + of bypass layers + """ + return ( + self.block.num_layers * self.layers[0] + + self.block.num_layers * self.layers[1] + + self.block.num_layers * self.layers[2] + + self.block.num_layers * self.layers[3] + + 1 + ) + + def __repr__(self): + template = "resnet{}_features" + return template.format(self.num_layers() + 1) + + +def resnet18_features(pretrained=False, **kwargs): + """Constructs a ResNet-18 model. + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + """ + model = ResNetFeatures(BasicBlock, [2, 2, 2, 2], **kwargs) + if pretrained: + my_dict = model_zoo.load_url(model_urls["resnet18"], model_dir=model_dir) + my_dict.pop("fc.weight") + my_dict.pop("fc.bias") + model.load_state_dict(my_dict, strict=False) + return model + + +def resnet34_features(pretrained=False, **kwargs): + """Constructs a ResNet-34 model. + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + """ + model = ResNetFeatures(BasicBlock, [3, 4, 6, 3], **kwargs) + if pretrained: + my_dict = model_zoo.load_url(model_urls["resnet34"], model_dir=model_dir) + my_dict.pop("fc.weight") + my_dict.pop("fc.bias") + model.load_state_dict(my_dict, strict=False) + return model + + +def resnet50_features(pretrained=False, **kwargs): + """Constructs a ResNet-50 model. + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + """ + model = ResNetFeatures(Bottleneck, [3, 4, 6, 3], **kwargs) + if pretrained: + my_dict = model_zoo.load_url(model_urls["resnet50"], model_dir=model_dir) + my_dict.pop("fc.weight") + my_dict.pop("fc.bias") + model.load_state_dict(my_dict, strict=False) + return model + + +def resnet101_features(pretrained=False, **kwargs): + """Constructs a ResNet-101 model. + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + """ + model = ResNetFeatures(Bottleneck, [3, 4, 23, 3], **kwargs) + if pretrained: + my_dict = model_zoo.load_url(model_urls["resnet101"], model_dir=model_dir) + my_dict.pop("fc.weight") + my_dict.pop("fc.bias") + model.load_state_dict(my_dict, strict=False) + return model + + +def resnet152_features(pretrained=False, **kwargs): + """Constructs a ResNet-152 model. + Args: + pretrained (bool): If True, returns a model pretrained on ImageNet + """ + model = ResNetFeatures(Bottleneck, [3, 8, 36, 3], **kwargs) + if pretrained: + my_dict = model_zoo.load_url(model_urls["resnet152"], model_dir=model_dir) + my_dict.pop("fc.weight") + my_dict.pop("fc.bias") + model.load_state_dict(my_dict, strict=False) + return model + + +if __name__ == "__main__": + r18_features = resnet18_features(pretrained=True) + print(r18_features) + + r34_features = resnet34_features(pretrained=True) + print(r34_features) + + r50_features = resnet50_features(pretrained=True) + print(r50_features) + + r101_features = resnet101_features(pretrained=True) + print(r101_features) + + r152_features = resnet152_features(pretrained=True) + print(r152_features) diff --git a/pixpnet/protonets/push.py b/pixpnet/protonets/push.py new file mode 100644 index 0000000..90de21c --- /dev/null +++ b/pixpnet/protonets/push.py @@ -0,0 +1,173 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import torch + +from pixpnet.data import SubsetWithIdx +from pixpnet.utils import get_logger +from pixpnet.utils_torch import unravel_index + +logger = get_logger(__name__) + + +def push_prototypes( + dataloader: SubsetWithIdx, protonet, class_specific=True, preprocess_func=None, duplicate_filter="sample" +): + """push each prototype to the nearest patch in the training set""" + was_training = protonet.training + protonet.eval() + + prototype_shape = protonet.prototype_shape + n_prototypes = protonet.num_prototypes + prototype_layer_stride = protonet.prototype_layer_stride + + device = protonet.prototype_vectors.device + dtype = protonet.prototype_vectors.dtype + + # saves the closest distance seen so far + min_proto_dists = torch.full((n_prototypes,), torch.inf, dtype=dtype, device=device) + # saves the patch representation that gives the current smallest distance + min_fmap_patches = torch.zeros(prototype_shape, dtype=dtype, device=device) + # saves the sample indices that each prototype corresponds to in dataloader + min_sample_idxs = protonet.corresponding_sample_idxs + # save the feature map indices + min_fmap_idxs = protonet.min_fmap_idxs + + with torch.no_grad(): + # Find the closest training images to each prototype across the entire + # data set (updates closest each batch to achieve global maximums) + for sample_idxs, x, y in dataloader: + x = x.to(device) + y = y.to(device) + + _update_prototypes_on_batch( + sample_idxs=sample_idxs, + x=x, + y=y, + protonet=protonet, + min_proto_dists=min_proto_dists, + min_fmap_patches=min_fmap_patches, + min_sample_idxs=min_sample_idxs, + min_fmap_idxs=min_fmap_idxs, + class_specific=class_specific, + preprocess_func=preprocess_func, + proto_layer_stride=prototype_layer_stride, + duplicate_filter=duplicate_filter, + ) + + q = torch.tensor([0, 0.25, 0.50, 0.75, 1], dtype=dtype, device=device) + dist_percentiles = torch.quantile(min_proto_dists, q).tolist() + logger.info( + f"Prototypes pushing distances stats:\n" + f' {" / ".join(f"{x * 100:6.2f}%" for x in q.tolist())}\n' + f' {" / ".join(f"{x:7.4f}" for x in dist_percentiles)}\n' + f" {int(torch.isnan(min_proto_dists).sum())} / " + f"{min_proto_dists.numel()} are NaN" + ) + + # Executing push... + prototype_update = torch.reshape(min_fmap_patches, prototype_shape) + + proto_norm_pre = torch.norm(protonet.prototype_vectors) + proto_norm_post = torch.norm(prototype_update) + + logger.info( + f"Prototype vector Frobenius norm pre- and post-push: " f"{proto_norm_pre:.4f} --> {proto_norm_post:.4f}" + ) + + protonet.set_prototypes( + prototype_update, # P x D x K x K + corresponding_sample_idxs=min_sample_idxs, # P + min_fmap_idxs=min_fmap_idxs, # P x 4 + ) + + if was_training: + protonet.train() + + +def _update_prototypes_on_batch( + sample_idxs, + x, + y, # required if class_specific + protonet, + min_proto_dists, # this will be updated + min_fmap_patches, # this will be updated + min_sample_idxs, + min_fmap_idxs, + class_specific, + preprocess_func, + proto_layer_stride, + duplicate_filter, +): + """update each prototype for current search batch""" + if preprocess_func is not None: + x = preprocess_func(x) + + if duplicate_filter == "none": + duplicate_filter = None + + features, proto_dists = protonet.push_forward(x) + + if class_specific: + # Set dists of non-target prototypes to inf to prevent pushing + # non-class-specific prototypes + prototype_classes = protonet.prototype_class_identity.argmax(dim=1) + proto_dists[y[:, None] != prototype_classes[None]] = torch.inf + + n_prototypes, proto_dim, proto_h, proto_w = protonet.prototype_shape + + for j in range(n_prototypes): + if duplicate_filter: + # iterate by minimum distance to determine prototype. same prototype + # is avoided by setting all prototype distances to inf. we need to + # go by global minimum distance to determine which patch/sample + # should be assigned to which image, otherwise we can end up with + # non-min-dist pushing if iterating arbitrarily. + min_proto_dist_idx = torch.argmin(proto_dists) + min_proto_dist_idx = unravel_index(min_proto_dist_idx, proto_dists.size()) + min_proto_dist_j = proto_dists[min_proto_dist_idx].clone() + # adjust j (the prototype idx) and grab sample/patch idxs + idx, j, patch_idx_h, patch_idx_w = min_proto_dist_idx + # mark all dists for prototype j off-limits from here-on-out (every + # other value is higher, so if the patch is not selected then + # nothing else possibly could be) + proto_dists[:, j, :, :] = torch.inf + else: + # iterate prototype by prototype as we are not preventing duplicate + # prototypes + proto_dist_j = proto_dists[:, j, :, :] + min_proto_dist_j_idx = torch.argmin(proto_dist_j) + idx, patch_idx_h, patch_idx_w = unravel_index(min_proto_dist_j_idx, proto_dist_j.size()) + min_proto_dist_j = proto_dist_j[idx, patch_idx_h, patch_idx_w] + + if min_proto_dist_j < min_proto_dists[j]: + # retrieve the corresponding feature map patch + fmap_h_start = patch_idx_h * proto_layer_stride + fmap_h_end = fmap_h_start + proto_h + fmap_w_start = patch_idx_w * proto_layer_stride + fmap_w_end = fmap_w_start + proto_w + # @formatter:off + min_fmap_patch_j = features[idx, :, fmap_h_start:fmap_h_end, fmap_w_start:fmap_w_end] + # @formatter:on + + # store the patch and its distance from prototype j + min_proto_dists[j] = min_proto_dist_j + min_fmap_patches[j] = min_fmap_patch_j + min_sample_idxs[j] = sample_idxs[idx] + min_fmap_idxs[j] = torch.tensor( + [fmap_h_start, fmap_h_end, fmap_w_start, fmap_w_end], + dtype=min_fmap_idxs.dtype, + device=min_fmap_idxs.device, + ) + + # proto_dists: N x P x H x W + if duplicate_filter: + if duplicate_filter == "sample": + # mark all dists for sample off-limits + proto_dists[idx] = torch.inf + elif duplicate_filter == "patch": + # mark all dists for sample patch off-limits + proto_dists[idx, :, patch_idx_h, patch_idx_w] = torch.inf + else: + raise NotImplementedError(f"duplicate_filter = {duplicate_filter}") diff --git a/pixpnet/protonets/utils.py b/pixpnet/protonets/utils.py new file mode 100644 index 0000000..4f0c46c --- /dev/null +++ b/pixpnet/protonets/utils.py @@ -0,0 +1,37 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +from argparse import Namespace +from glob import glob +from os import path as osp +from typing import Tuple + +from pixpnet.protonets.lit_model import ProtoLitModel +from pixpnet.utils import parse_config_file + + +def load_config_and_best_model(logdir) -> Tuple[Namespace, ProtoLitModel]: + results_dir = osp.join(logdir, "results") + config = parse_config_file(osp.join(results_dir, "config.yaml")) + + best_model_path_txt = osp.join(results_dir, "best_model_path.txt") + best_model_path_txt_exists = osp.isfile(best_model_path_txt) + best_model_path_exists = True + if best_model_path_txt_exists: + with open(best_model_path_txt, "r") as f: + best_model_path = f.read().strip() + if not osp.isabs(best_model_path): + best_model_path = osp.join(results_dir, best_model_path) + if not osp.isfile(best_model_path): + best_model_path_exists = False + print(f"WARN: {best_model_path} does not exist!") + if not best_model_path_txt_exists or not best_model_path_exists: + model_paths = glob(osp.join(logdir, "**", "*.ckpt"), recursive=True) + if len(model_paths) != 1: + raise ValueError(f"{len(model_paths)} paths found but expected 1") + best_model_path = model_paths[0] + + model: ProtoLitModel = ProtoLitModel.load_from_checkpoint(best_model_path, config=config) + + return config, model diff --git a/pixpnet/symbolic/__init__.py b/pixpnet/symbolic/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pixpnet/symbolic/base_layers.py b/pixpnet/symbolic/base_layers.py new file mode 100644 index 0000000..bc54714 --- /dev/null +++ b/pixpnet/symbolic/base_layers.py @@ -0,0 +1,474 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# Copyright (c) PyTorch Contributors 2022 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: BSD-3-Clause + +# Code largely based on PyTorch https://github.com/pytorch/pytorch + +from abc import ABCMeta +from collections import OrderedDict +from functools import wraps +from math import ceil +from typing import Any, Optional, Tuple, Union + +import numpy as np + +from pixpnet.symbolic.misc import _pair, _reverse_repeat_tuple, _size_2_t, sym_scope + + +def flatten(input, start_dim: int = 0, end_dim: int = -1): + ndim = len(input.shape) + if start_dim < 0: + start_dim += ndim + 1 + assert start_dim >= 0 + if end_dim < 0: + end_dim += ndim + 1 + assert end_dim >= 0 + assert start_dim <= end_dim + if start_dim == end_dim: + return input + flat_size = 1 + for d in input.shape[start_dim : end_dim + 1]: + flat_size *= d + out_shape = input.shape[0:start_dim] + (flat_size,) + input.shape[end_dim + 1 :] + return input.reshape(*out_shape) + + +def cat(tensors, dim=0): + return np.concatenate(tensors, axis=dim) + + +concat = cat + + +def unsqueeze(x, dim): + return np.expand_dims(x, axis=dim) + + +def np_sp_func(func): + @wraps(func) + def wrapper(*input, **kwargs): + out = func(*input, **kwargs) + return out + + return wrapper + + +class Module: + def __init__(self) -> None: + pass + + def forward(self, *input: Any) -> Any: + raise NotImplementedError + + def __call__(self, *input, **kwargs): + # noinspection PyArgumentList + + return self.forward(*input, **kwargs) + + def add_module(self, name, module): + if hasattr(self, name): + raise ValueError(f"{self} already has attribute {name}") + setattr(self, name, module) + + +class ModuleDict(Module): + def __init__(self, module_dict=None): + super(ModuleDict, self).__init__() + self.__module_dict = module_dict or OrderedDict() + + def values(self): + return self.__module_dict.values() + + def items(self): + return self.__module_dict.items() + + def add_module(self, name, module): + super(ModuleDict, self).add_module(name, module) + self.__module_dict[name] = module + + +class Sequential(ModuleDict): + def __init__(self, *modules): + if len(modules) == 1 and isinstance(modules[0], OrderedDict): + modules = modules[0] + else: + modules = OrderedDict((str(i), module) for i, module in enumerate(modules)) + super().__init__(modules) + + def __iter__(self): + yield from self.values() + + def forward(self, input): + for module in self: + input = module(input) + return input + + +class DummyTensor: + __slots__ = ("shape",) + + def __init__(self, shape): + self.shape = shape + + +class Flatten(Module): + def __init__(self, start_dim=1, end_dim=-1): + super().__init__() + self.start_dim = start_dim + self.end_dim = end_dim + + def forward(self, input): + return flatten(input, start_dim=self.start_dim, end_dim=self.end_dim) + + +def _ConvNd_factory(tensor_cls, parameters=True): + tensor_cls = tensor_cls if parameters else DummyTensor + + class _ConvNd(Module, metaclass=ABCMeta): + def _conv_forward(self, input, weight, bias): + raise NotImplementedError + + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: Tuple[int, ...], + stride: Tuple[int, ...], + padding: Tuple[int, ...], + dilation: Tuple[int, ...], + transposed: bool, + output_padding: Tuple[int, ...], + groups: int, + bias: bool, + padding_mode: str, + ) -> None: + super(_ConvNd, self).__init__() + if in_channels % groups != 0: + raise ValueError("in_channels must be divisible by groups") + if out_channels % groups != 0: + raise ValueError("out_channels must be divisible by groups") + if in_channels == 0: + raise ValueError(f"in_channels={in_channels}") + if out_channels == 0: + raise ValueError(f"out_channels={out_channels}") + valid_padding_strings = {"same", "valid"} + if isinstance(padding, str): + if padding not in valid_padding_strings: + raise ValueError( + "Invalid padding string {!r}, should be one of " "{}".format(padding, valid_padding_strings) + ) + if padding == "same" and any(s != 1 for s in stride): + raise ValueError("padding='same' is not supported for " "strided convolutions") + + valid_padding_modes = {"zeros", "reflect", "replicate", "circular"} + if padding_mode not in valid_padding_modes: + raise ValueError( + "padding_mode must be one of {}, but got " + "padding_mode='{}'".format(valid_padding_modes, padding_mode) + ) + self.in_channels = in_channels + self.out_channels = out_channels + self.kernel_size = kernel_size + self.stride = stride + self.padding = padding + self.dilation = dilation + self.transposed = transposed + self.output_padding = output_padding + self.groups = groups + self.padding_mode = padding_mode + # `_reversed_padding_repeated_twice` is the padding to be passed to + # `F.pad` if needed (e.g., for non-zero padding types that are + # implemented as two ops: padding + conv). `F.pad` accepts paddings + # in reverse order than the dimension. + if isinstance(self.padding, str): + self._reversed_padding_repeated_twice = [0, 0] * len(kernel_size) + if padding == "same": + for d, k, i in zip(dilation, kernel_size, range(len(kernel_size) - 1, -1, -1)): + total_padding = d * (k - 1) + left_pad = total_padding // 2 + self._reversed_padding_repeated_twice[2 * i] = left_pad + self._reversed_padding_repeated_twice[2 * i + 1] = total_padding - left_pad + else: + self._reversed_padding_repeated_twice = _reverse_repeat_tuple(self.padding, 2) + + if transposed: + with sym_scope("weight"): + self.weight = tensor_cls(shape=(in_channels, out_channels // groups, *kernel_size)) + else: + with sym_scope("weight"): + self.weight = tensor_cls(shape=(out_channels, in_channels // groups, *kernel_size)) + if bias: + with sym_scope("bias"): + self.bias = tensor_cls(shape=(out_channels,)) + else: + self.bias = None + + return _ConvNd + + +def Conv2d_factory(_ConvNd, conv2d): + class Conv2d(_ConvNd): + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: _size_2_t, + stride: _size_2_t = 1, + padding: Union[str, _size_2_t] = 0, + dilation: _size_2_t = 1, + groups: int = 1, + bias: bool = True, + padding_mode: str = "zeros", + ) -> None: + kernel_size_ = _pair(kernel_size) + stride_ = _pair(stride) + padding_ = padding if isinstance(padding, str) else _pair(padding) + dilation_ = _pair(dilation) + super(Conv2d, self).__init__( + in_channels, + out_channels, + kernel_size_, + stride_, + padding_, + dilation_, + False, + _pair(0), + groups, + bias, + padding_mode, + ) + + def _conv_forward(self, input, weight, bias): + assert input.shape[1] // self.groups == weight.shape[1], (input.shape[1], self.groups, weight.shape[1]) + if self.padding_mode != "zeros": + raise NotImplementedError(self.padding_mode) + return conv2d( + input, + weight, + bias, + stride=self.stride, + padding=self.padding, + dilation=self.dilation, + groups=self.groups, + ) + + def forward(self, input): + return self._conv_forward(input, self.weight, self.bias) + + return Conv2d + + +def _NormBase_factory(tensor_cls, parameters=True): + tensor_cls = tensor_cls if parameters else DummyTensor + + class _NormBase(Module, metaclass=ABCMeta): + """Common base of _InstanceNorm and _BatchNorm""" + + def __init__( + self, + num_features: int, + eps: float = 1e-5, + momentum: float = 0.1, + affine: bool = True, + track_running_stats: bool = True, + ) -> None: + super(_NormBase, self).__init__() + self.num_features = num_features + self.eps = eps + self.momentum = momentum + self.affine = affine + self.track_running_stats = track_running_stats + if self.track_running_stats: + with sym_scope("running_mean"): + self.running_mean = tensor_cls(shape=(num_features,)) + with sym_scope("running_var"): + self.running_var = tensor_cls(shape=(num_features,)) + else: + self.running_mean = None + self.running_var = None + if self.affine: + with sym_scope("weight"): + self.weight = tensor_cls(shape=(num_features,)) + with sym_scope("bias"): + self.bias = tensor_cls(shape=(num_features,)) + else: + self.weight = None + self.bias = None + + def _check_input_dim(self, input): + raise NotImplementedError + + return _NormBase + + +def _BatchNorm_factory(_NormBase, batch_norm=None): + class _BatchNorm(_NormBase, metaclass=ABCMeta): + def __init__( + self, + num_features, + eps=1e-5, + momentum=0.1, + affine=True, + track_running_stats=True, + ): + super(_BatchNorm, self).__init__( + num_features, + eps, + momentum, + affine, + track_running_stats, + ) + + def forward(self, input): + self._check_input_dim(input) + if batch_norm is None: + raise NotImplementedError + return batch_norm(input, self.running_mean, self.running_var, self.momentum, self.eps, self.affine) + + return _BatchNorm + + +def BatchNorm2d_factory(_BatchNorm): + class BatchNorm2d(_BatchNorm): + @staticmethod + def _check_input_dim(input): + ndim = len(input.shape) + if ndim != 4: + raise ValueError("expected 4D input (got {}D input)".format(ndim)) + + return BatchNorm2d + + +def Linear_factory(tensor_cls, linear, parameters=True): + tensor_cls = tensor_cls if parameters else DummyTensor + + class Linear(Module): + def __init__(self, in_features: int, out_features: int, bias: bool = True) -> None: + super(Linear, self).__init__() + self.in_features = in_features + self.out_features = out_features + with sym_scope("weight"): + self.weight = tensor_cls(shape=(out_features, in_features)) + if bias: + with sym_scope("bias"): + self.bias = tensor_cls(shape=(out_features,)) + else: + self.bias = None + + def forward(self, input): + assert input.shape[-1] == self.weight.shape[1] + orig_shape = None + if input.ndim != 2: + orig_shape = input.shape + input = input.reshape(-1, input.shape[-1]) + out = linear(input, self.weight, self.bias) + if orig_shape is not None: + out = out.reshape(*orig_shape[:-1], out.shape[-1]) + return out + + return Linear + + +class _AdaptiveAvgPoolNd(Module, metaclass=ABCMeta): + def __init__(self, output_size) -> None: + super(_AdaptiveAvgPoolNd, self).__init__() + self.output_size = output_size + + def extra_repr(self) -> str: + return "output_size={}".format(self.output_size) + + +def AdaptiveAvgPool2d_factory(adaptive_avg_pool_2d): + class AdaptiveAvgPool2d(_AdaptiveAvgPoolNd): + def forward(self, input): + return adaptive_avg_pool_2d(input, output_size=self.output_size) + + return AdaptiveAvgPool2d + + +def start_index(out_idx: int, out_len: int, in_len: int) -> int: + """ + * out_idx: the current index of output matrix + * out_len: the dimension_size of output matrix + * in_len: the dimension_size of input matrix + * Basically, in_len / out_len gives the number of + * elements in each average computation. + * This function computes the start index on input matrix. + """ + return (out_idx * in_len) // out_len # floor + + +def end_index(out_idx: int, out_len: int, in_len: int) -> int: + """ + * Parameter definition is the same as start_index. + * This function computes the end index on input matrix. + """ + return ceil(((out_idx + 1) * in_len) / out_len) + + +class _MaxPoolNd(Module, metaclass=ABCMeta): + def __init__( + self, kernel_size, stride=None, padding=0, dilation=1, return_indices: bool = False, ceil_mode: bool = False + ) -> None: + super(_MaxPoolNd, self).__init__() + self.kernel_size = kernel_size + self.stride = stride if (stride is not None) else kernel_size + self.padding = padding + self.dilation = dilation + self.return_indices = return_indices + self.ceil_mode = ceil_mode + + +def MaxPool2d_factory(max_pool2d): + class MaxPool2d(_MaxPoolNd): + def forward(self, input): + return max_pool2d( + input, + kernel_size=self.kernel_size, + stride=self.stride, + padding=self.padding, + dilation=self.dilation, + ceil_mode=self.ceil_mode, + return_indices=self.return_indices, + ) + + return MaxPool2d + + +class _AvgPoolNd(Module, metaclass=ABCMeta): + pass + + +def AvgPool2d_factory(avg_pool2d): + class AvgPool2d(_AvgPoolNd): + def __init__( + self, + kernel_size: _size_2_t, + stride: Optional[_size_2_t] = None, + padding: _size_2_t = 0, + ceil_mode: bool = False, + count_include_pad: bool = True, + divisor_override: Optional[int] = None, + ) -> None: + super(AvgPool2d, self).__init__() + self.kernel_size = kernel_size + self.stride = stride if (stride is not None) else kernel_size + self.padding = padding + self.ceil_mode = ceil_mode + self.count_include_pad = count_include_pad + self.divisor_override = divisor_override + + def forward(self, input): + return avg_pool2d( + input, + self.kernel_size, + self.stride, + self.padding, + self.ceil_mode, + self.count_include_pad, + self.divisor_override, + ) + + return AvgPool2d diff --git a/pixpnet/symbolic/exceptions.py b/pixpnet/symbolic/exceptions.py new file mode 100644 index 0000000..2a68b61 --- /dev/null +++ b/pixpnet/symbolic/exceptions.py @@ -0,0 +1,7 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + + +class NonPositiveDimError(ValueError): + pass diff --git a/pixpnet/symbolic/index_layers.py b/pixpnet/symbolic/index_layers.py new file mode 100644 index 0000000..c9b0586 --- /dev/null +++ b/pixpnet/symbolic/index_layers.py @@ -0,0 +1,733 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# Copyright (c) PyTorch Contributors 2022 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: BSD-3-Clause + +# Some code based on PyTorch https://github.com/pytorch/pytorch + +from itertools import chain, product +from math import ceil +from typing import List, Sequence, Tuple, Union + +import numpy as np + +# noinspection PyUnresolvedReferences +from pixpnet.symbolic.base_layers import ( # noqa: F401 + AdaptiveAvgPool2d_factory, + AvgPool2d_factory, + BatchNorm2d_factory, + Conv2d_factory, + Flatten, + Linear_factory, + MaxPool2d_factory, + Module, + ModuleDict, + Sequential, + _AdaptiveAvgPoolNd, + _BatchNorm_factory, + _ConvNd_factory, + _MaxPoolNd, + _NormBase_factory, + cat, + concat, + end_index, + flatten, + np_sp_func, + start_index, + unsqueeze, +) +from pixpnet.symbolic.exceptions import NonPositiveDimError +from pixpnet.symbolic.misc import _pair, unique_syms_factory + + +class Tensor(np.ndarray): + __slots__ = ("_names",) + + def __new__(cls, shape, name=None, **kwargs): + obj = super().__new__(cls, shape=shape, dtype=object, **kwargs) + + names = [*product(*(range(d) for d in shape))] + vcs = [ + HypercubeCollection.from_hypercube(Hypercube.from_slices(map(slice, indices))) + for indices in product(*map(range, shape)) + ] + obj.flat[:] = vcs + obj._names = names + return obj + + @property + def names(self): + return self._names + + +_FULL_SLICE = slice(None) + + +class OutputTensor(np.ndarray): + __slots__ = "identical_channels", "_underlying" + + def __new__(cls, shape, dtype=None, identical_channels=False, **kwargs): + if identical_channels: + shape_orig = shape + n, c, *dims = shape + assert c > 0 + shape = (n, 1, *dims) + obj = super().__new__(cls, shape=shape, dtype=dtype, **kwargs) + obj._underlying = None + if identical_channels: + underlying = obj + obj = np.broadcast_to(underlying, shape_orig, subok=True) + obj._underlying = underlying + obj.identical_channels = identical_channels + return obj + + def __setitem__(self, key, value): + if self._underlying is None: + super().__setitem__(key, value) + else: # identical_channels memory view trick + if len(key) >= 2: + assert key[1] == _FULL_SLICE + self._underlying[key] = value + + def __iadd__(self, other): + if self._underlying is None: + if self.flags["WRITEABLE"]: + super().__iadd__(other) + else: + out = self + other + if self.identical_channels and isinstance(other, OutputTensor) and other.identical_channels: + out.identical_channels = True + return out + else: # identical_channels memory view trick + if isinstance(other, OutputTensor) and other.identical_channels: + self._underlying += other._underlying + elif (isinstance(other, np.ndarray) and other.ndim >= 2 and other.shape[1] == 1) or not isinstance( + other, np.ndarray + ): + self._underlying += other + else: + return self + other + return self + + def __isub__(self, other): + if self._underlying is None: + if self.flags["WRITEABLE"]: + super().__isub__(other) + else: + out = self - other + if self.identical_channels and isinstance(other, OutputTensor) and other.identical_channels: + out.identical_channels = True + return out + else: # identical_channels memory view trick + if isinstance(other, OutputTensor) and other.identical_channels: + self._underlying -= other._underlying + elif (isinstance(other, np.ndarray) and other.ndim >= 2 and other.shape[1] == 1) or not isinstance( + other, np.ndarray + ): + self._underlying -= other + else: + return self - other + return self + + def __imul__(self, other): + if self._underlying is None: + if self.flags["WRITEABLE"]: + super().__imul__(other) + else: + out = self * other + if self.identical_channels and isinstance(other, OutputTensor) and other.identical_channels: + out.identical_channels = True + return out + else: # identical_channels memory view trick + if isinstance(other, OutputTensor) and other.identical_channels: + self._underlying *= other._underlying + elif (isinstance(other, np.ndarray) and other.ndim >= 2 and other.shape[1] == 1) or not isinstance( + other, np.ndarray + ): + self._underlying *= other + else: + return self * other + return self + + def __array_finalize__(self, obj): + if obj is None: + return + if not hasattr(self, "_underlying"): + self._underlying = None + if not hasattr(self, "identical_channels"): + self.identical_channels = self.ndim >= 2 and self.shape[1] == 1 + + +def has_identical_channels(tensor): + return (isinstance(tensor, OutputTensor) and tensor.identical_channels) or ( + isinstance(tensor, np.ndarray) and tensor.ndim >= 2 and tensor.shape[1] == 1 + ) + + +unique_syms = unique_syms_factory(Tensor) + + +class Hypercube: + """NOTE: step is not supported in this function""" + + __slots__ = "indices", "ndim" + + indices: Tuple[Tuple[int, int], ...] + ndim: int + + @classmethod + def from_slices( + cls, + indices: Tuple[slice, ...], + ) -> "Hypercube": + indices = tuple((s.stop, s.stop + 1) if s.start is None else (s.start, s.stop) for s in indices) + return cls(indices) + + def __init__( + self, + indices: Tuple[Tuple[int, int], ...], + ): + self.indices = indices + self.ndim = len(self.indices) + + def serialize(self): + return [[*idx] for idx in self.indices] + + @classmethod + def deserialize(cls, indices): + return cls(indices) + + def union(self, other: "Hypercube") -> Union["Hypercube", Tuple["Hypercube", "Hypercube"]]: + if self == other: + return self + # contains_other # self contains other + # other_contains # other contains self + unequal_count = 0 + contains_other = other_contains = concat_dim = None + for d in range(self.ndim): + (r00, r01), (r10, r11) = self.indices[d], other.indices[d] + r_int = r00 if r00 > r10 else r10, r01 if r01 < r11 else r11 + adjacent = (r00 == r11) or (r10 == r01) + if not (len(r_int) or adjacent): # no intersection, cannot combine + return self, other + unequal = (r00 != r10) or (r01 != r11) + unequal_count += unequal + if unequal: + concat_dim = d + if contains_other is None or contains_other: + contains_other = r_int == (r10, r11) # r1 contained within r0 + if other_contains is None or other_contains: + other_contains = r_int == (r00, r01) # r0 contained within r1 + if contains_other: + return self + if other_contains: + return other + if unequal_count == 1: + # This means we can concatenate the hypercubes along a single axis + (r00, r01), (r10, r11) = (self.indices[concat_dim], other.indices[concat_dim]) + indices = ( + self.indices[:concat_dim] + + ((r00 if r00 < r10 else r10, r01 if r01 > r11 else r11),) + + self.indices[concat_dim + 1 :] + ) + return Hypercube(indices) + + return self, other + + def _intersection_indices(self: "Hypercube", other: "Hypercube"): + indices = [] + for d in range(self.ndim): + (r00, r01), (r10, r11) = self.indices[d], other.indices[d] + r_int = r00 if r00 > r10 else r10, r01 if r01 < r11 else r11 + if not len(r_int): # no intersection + return None + indices.append((r00 if r00 > r10 else r10, r01 if r01 < r11 else r11)) + + return indices + + def intersection(self: "Hypercube", other: "Hypercube") -> Union["Hypercube", None]: + indices = self._intersection_indices(other) + return None if indices is None else Hypercube(indices) + + def atoms(self): + return {*product(*(range(a, b) for a, b in self.indices))} + + def intersects(self, index: Tuple[int, ...]): + return all(r0 <= index[d] < r1 for d, (r0, r1) in enumerate(self.indices)) + + def corners(self, indices=None): + if indices is None: + indices = self.indices + return product(*indices) + + def edges(self, indices=None): + if indices is None: + indices = self.indices + flags = [(0, 1)] * (len(indices) - 1) + # noinspection PyTypeChecker + flags.append((0,)) # only one side so no duplicate edges + for flags_i in product(*flags): + corner = [idx[flag] for idx, flag in zip(indices, flags_i)] + for j, flag in enumerate(flags_i): + corner_other = corner.copy() + corner_other[j] = indices[j][0 if flag else 1] + yield corner, corner_other + + def difference(self, other): + indices = self._intersection_indices(other) + if indices is None: + return self # no intersection + + corners = self.corners() + edges = self.edges() + int_corners = self.corners(indices) + int_edges = self.edges(indices) + + cubes = [] + + # create cubes corner to corner (1:1 corners) + for corner, int_corner in zip(corners, int_corners): + indices_cube = [] + for d0, d1 in zip(corner, int_corner): + if d0 > d1: + d0, d1 = d1, d0 # swap + indices_cube.append((d0, d1)) + cubes.append(Hypercube(indices_cube)) + + # create cubes edge to edge (1:1 edges) + for edge, int_edge in zip(edges, int_edges): + indices_cube = [] + for d0, d1 in zip(edge[0], int_edge[1]): + if d0 > d1: + d0, d1 = d1, d0 # swap + indices_cube.append((d0, d1)) + cubes.append(Hypercube(indices_cube)) + + return HypercubeCollection.from_hypercubes(cubes) + + def as_slice(self, all_channels=False): # -> Tuple[slice] + return tuple( + slice(None) if all_channels and i == 1 else slice(i_a, i_b) for i, (i_a, i_b) in enumerate(self.indices) + ) + + def take_from(self, arr, all_channels=False): + assert self.ndim == arr.ndim + return arr[self.as_slice(all_channels=all_channels)] + + def __len__(self): + size = 1 + for r0, r1 in self.indices: + size *= r1 - r0 + return size + + def __eq__(self, other): + return self.indices == other.indices + + def __or__(self, other): + return self.union(other) + + def __and__(self, other): + return self.intersection(other) + + def __sub__(self, other): + return self.difference(other) + + def __repr__(self): + return f"Hypercube(indices={self.indices})" + + def __str__(self): + return repr(self) + + +class HypercubeCollection: + __slots__ = ("hypercubes",) + + @classmethod + def from_hypercube(cls, hypercube: Hypercube) -> "HypercubeCollection": + obj = HypercubeCollection.__new__(cls) + obj.hypercubes = [hypercube] + return obj + + @classmethod + def from_hypercubes(cls, hypercubes: Sequence[Hypercube]) -> "HypercubeCollection": + obj = HypercubeCollection.__new__(cls) + obj.hypercubes = hypercubes + return obj + + def __init__(self, *args: Sequence["HypercubeCollection"]): + hypercubes = [*chain.from_iterable(hc.hypercubes for hc in chain.from_iterable(args))] + self.hypercubes = self._reduce_hcs(hypercubes) + + def serialize(self): + return [hc.serialize() for hc in self.hypercubes] + + @classmethod + def deserialize(cls, arr_indices): + return cls.from_hypercubes([Hypercube.deserialize(indices) for indices in arr_indices]) + + @staticmethod + def _reduce_hcs(hypercubes: List[Hypercube]) -> List[Hypercube]: + uncombined = [] + combined = [] + while hypercubes: + hc0 = hypercubes.pop() + HypercubeCollection._compare_hcs( + hc0, compare_src=hypercubes, combined_dest=combined, uncombined_dest=uncombined + ) + while combined: + hc0 = combined.pop() + HypercubeCollection._compare_hcs( + hc0, compare_src=uncombined, combined_dest=combined, uncombined_dest=uncombined + ) + return uncombined + + @staticmethod + def _compare_hcs(hc0: Hypercube, compare_src: List, combined_dest: List, uncombined_dest: List): + idxs_to_drop = [] + for i, hc1 in enumerate(compare_src): + hcc = hc0 | hc1 + if not isinstance(hcc, tuple): + combined_dest.append(hcc) + idxs_to_drop.append(i) + break + else: + uncombined_dest.append(hc0) + for i in idxs_to_drop: + del compare_src[i] + + def atoms(self, *args): + if args: + print("ignored:", args) + return set().union(*(hc.atoms() for hc in self.hypercubes)) + + def intersects(self, index: Tuple[int]): + for hc in self.hypercubes: + if hc.intersects(index): + return True + return False + + def intersecting_indices(self, indices: Sequence[Tuple[int]]): + return [index for index in indices if self.intersects(index)] + + def difference(self, other): + if isinstance(other, Hypercube): + hypercubes = [hc.difference(other) for hc in self.hypercubes] + else: + hypercubes = [hc.difference(hc_other) for hc in self.hypercubes for hc_other in other.hypercubes] + return HypercubeCollection(hypercubes) + + def take_from(self, arr, all_channels=False): + to_intersect = [] + for hc in self.hypercubes: + for hc_i in to_intersect: + hc = hc.difference(hc_i) + to_intersect.append(hc) + if len(to_intersect) == 1: + return to_intersect[0].take_from(arr, all_channels=all_channels) + return [to_int.take_from(arr, all_channels=all_channels) for to_int in to_intersect] + + def as_slices(self, all_channels=False): + to_intersect = [] + for hc in self.hypercubes: + for hc_i in to_intersect: + hc = hc.difference(hc_i) + to_intersect.append(hc) + return [hc.as_slice(all_channels=all_channels) for hc in to_intersect] + + def __len__(self): + size = 0 + to_intersect = [] + for hc in self.hypercubes: + for hc_i in to_intersect: + hc = hc.difference(hc_i) + size += len(hc) + to_intersect.append(hc) + return size + + def __or__(self, other: "HypercubeCollection") -> "HypercubeCollection": + """Union operator ``self | other``""" + return HypercubeCollection((self, other)) + + def __add__(self, other: "HypercubeCollection") -> "HypercubeCollection": + return HypercubeCollection((self, other)) + + def __mul__(self, other: "HypercubeCollection") -> "HypercubeCollection": + return HypercubeCollection((self, other)) + + def __repr__(self): + return f"HypercubeCollection(hypercubes={self.hypercubes})" + + def __str__(self): + return repr(self) + + +class ReLU(Module): + __slots__ = () + + def __init__(self, inplace=False): + super(ReLU, self).__init__() + + def forward(self, input: Tensor) -> Tensor: + return input + + +SiLU = ReLU +Sigmoid = ReLU +GELU = ReLU + + +def conv2d(input, weight, bias, stride, padding=0, dilation=1, groups=1): + sh, sw = _pair(stride) + ph, pw = _pair(padding) + dh, dw = _pair(dilation) + if not (dh == dw == 1): + raise NotImplementedError + + c_out, ci_per_group, kh, kw = weight.shape + co_per_group = c_out // groups + h_in, w_in = input.shape[-2:] + h_out = (h_in + 2 * ph - dh * (kh - 1) - 1) // sh + 1 + w_out = (w_in + 2 * pw - dw * (kw - 1) - 1) // sw + 1 + + single_sample = input.ndim == 3 + if single_sample: + input = input.reshape((1, *input.shape)) + if any(d <= 0 for d in (c_out, h_out, w_out)): + raise NonPositiveDimError((c_out, h_out, w_out)) + # input has identical channels or no groups or there is only 1 channel + identical_channels = has_identical_channels(input) + output = OutputTensor( + (input.shape[0], c_out, h_out, w_out), dtype=input.dtype, identical_channels=identical_channels or groups == 1 + ) + if not output.identical_channels: + print( + "WARNING: input does not have identical channels in conv2d and " + "groups != 1, this will take longer to compute" + ) + + for oh in range(h_out): + ih0 = (oh * sh) - ph + ih1 = ih0 + kh + if ih0 < 0: + ih0 = 0 + for ow in range(w_out): + iw0 = (ow * sw) - pw + iw1 = iw0 + kw + if iw0 < 0: + iw0 = 0 + # slice: n x c x kh x kw + # weight: c_out x c x kh x kw + if identical_channels: + # we can ignore groups. take first channel (arbitrary as all + # channels are the same) + x_slice = input[:, 0, ih0:ih1, iw0:iw1] + for n in range(output.shape[0]): + hc_n = HypercubeCollection(x_slice[n].flatten().tolist()) + output[n, :, oh, ow] = hc_n + elif groups == 1: + x_slice = input[:, :, ih0:ih1, iw0:iw1] + for n in range(output.shape[0]): + hc_n = HypercubeCollection(x_slice[n].flatten().tolist()) + output[n, :, oh, ow] = hc_n + else: + for g in range(groups): + co0 = g * co_per_group + co1 = co0 + co_per_group + ci0 = g * ci_per_group + ci1 = ci0 + ci_per_group + x_slice = input[:, ci0:ci1, ih0:ih1, iw0:iw1] + for n in range(output.shape[0]): + hc_n = HypercubeCollection(x_slice[n, :].flatten().tolist()) + for c in range(co0, co1): + output[n, c, oh, ow] = hc_n + + if single_sample: + output = output.squeeze(axis=0) + return output + + +def linear(input: Tensor, weight: Tensor, bias: Tensor) -> np.ndarray: + # out_features x in_features + output = OutputTensor((input.shape[0], weight.shape[0]), dtype=input.dtype, identical_channels=True) + + for n in range(output.shape[0]): + hc_n = HypercubeCollection(input[n].tolist()) + output[n, :] = hc_n + + return output + + +def adaptive_avg_pool_2d( + input: np.ndarray, # Tensor + output_size=None, +): + input_height, input_width = input.shape[-2:] + output_height, output_width = _pair(output_size) + output_height = output_height or input_height + output_width = output_width or input_width + + single_sample = input.ndim == 3 + if single_sample: + input = input.reshape((1, *input.shape)) + + identical_channels = has_identical_channels(input) + output = OutputTensor( + (input.shape[0], input.shape[1], output_height, output_width), + dtype=input.dtype, + identical_channels=identical_channels, + ) + if not identical_channels: + print( + "WARNING: input does not have identical channels in " + "adaptive_avg_pool_2d, this will take longer to compute" + ) + + for oh in range(output_height): + ih0 = start_index(oh, output_height, input_height) + ih1 = end_index(oh, output_height, input_height) + + for ow in range(output_width): + iw0 = start_index(ow, output_width, input_width) + iw1 = end_index(ow, output_width, input_width) + + x_slice = input[:, :, ih0:ih1, iw0:iw1] + if identical_channels: + for n in range(input.shape[0]): + # arbitrarily take first channel + output[n, :, oh, ow] = HypercubeCollection(x_slice[n, 0].flatten().tolist()) + else: + for c in range(input.shape[1]): + for n in range(input.shape[0]): + output[n, c, oh, ow] = HypercubeCollection(x_slice[n, c].flatten().tolist()) + + if single_sample: + output = output.squeeze(axis=0) + return output + + +def max_pool2d( + input, kernel_size, stride, padding=0, dilation=1, return_indices: bool = False, ceil_mode: bool = False +): + if return_indices: + raise NotImplementedError + kh, kw = _pair(kernel_size) + sh, sw = _pair(stride) + ph, pw = _pair(padding) + dh, dw = _pair(dilation) + if not (dh == dw == 1): + raise NotImplementedError + h_in, w_in = input.shape[-2:] + h_out = (h_in + 2 * ph - dh * (kh - 1) - 1) / sh + 1 + w_out = (w_in + 2 * pw - dw * (kw - 1) - 1) / sw + 1 + h_out = ceil(h_out) if ceil_mode else int(h_out) + w_out = ceil(w_out) if ceil_mode else int(w_out) + + single_sample = input.ndim == 3 + if single_sample: + input = input.reshape((1, *input.shape)) + + identical_channels = has_identical_channels(input) + output = OutputTensor( + (input.shape[0], input.shape[1], h_out, w_out), dtype=input.dtype, identical_channels=identical_channels + ) + if not identical_channels: + print("WARNING: input does not have identical channels in " "max_pool2d, this will take longer to compute") + for oh in range(h_out): + ih0 = (oh * sh) - ph + ih1 = ih0 + kh + ih0 = max(ih0, 0) + for ow in range(w_out): + iw0 = (ow * sw) - pw + iw1 = iw0 + kw + iw0 = max(iw0, 0) + if identical_channels: + for n in range(output.shape[0]): + # arbitrarily take first channel + values = input[n, 0, ih0:ih1, iw0:iw1].flatten().tolist() + output[n, :, oh, ow] = HypercubeCollection(values) + else: + for n in range(output.shape[0]): + for c in range(output.shape[1]): + values = input[n, c, ih0:ih1, iw0:iw1].flatten().tolist() + output[n, c, oh, ow] = HypercubeCollection(values) + + if single_sample: + output = output.squeeze(axis=0) + return output + + +def avg_pool2d(input, kernel_size, stride, padding, ceil_mode, count_include_pad, divisor_override): + kh, kw = _pair(kernel_size) + sh, sw = _pair(stride) + ph, pw = _pair(padding) + h_in, w_in = input.shape[-2:] + h_out = (h_in + 2 * ph - kh) / sh + 1 + w_out = (w_in + 2 * pw - kw) / sw + 1 + h_out = ceil(h_out) if ceil_mode else int(h_out) + w_out = ceil(w_out) if ceil_mode else int(w_out) + + single_sample = input.ndim == 3 + if single_sample: + input = input.reshape((1, *input.shape)) + + identical_channels = has_identical_channels(input) + output = OutputTensor( + (input.shape[0], input.shape[1], h_out, w_out), dtype=input.dtype, identical_channels=identical_channels + ) + if not identical_channels: + print("WARNING: input does not have identical channels in " "avg_pool2d, this will take longer to compute") + for oh in range(h_out): + ih0 = (oh * sh) - ph + ih1 = ih0 + kh + ih0 = max(ih0, 0) + for ow in range(w_out): + iw0 = (ow * sw) - pw + iw1 = iw0 + kw + iw0 = max(iw0, 0) + if identical_channels: + for n in range(output.shape[0]): + # arbitrarily take first channel + values = input[n, 0, ih0:ih1, iw0:iw1].flatten().tolist() + output[n, :, oh, ow] = HypercubeCollection(values) + else: + for n in range(output.shape[0]): + for c in range(output.shape[1]): + values = input[n, c, ih0:ih1, iw0:iw1].flatten().tolist() + output[n, c, oh, ow] = HypercubeCollection(values) + + if single_sample: + output = output.squeeze(axis=0) + return output + + +def batch_norm(input, running_mean, running_var, momentum, eps, affine): + return input + + +class LayerNorm(Module): + def __init__(self, normalized_shape, eps: float = 1e-5, elementwise_affine: bool = True) -> None: + super(LayerNorm, self).__init__() + import numbers + + if isinstance(normalized_shape, numbers.Integral): + # mypy error: incompatible types in assignment + normalized_shape = (normalized_shape,) # type: ignore[assignment] + self.normalized_shape = tuple(normalized_shape) # type: ignore[arg-type] + self.eps = eps + self.elementwise_affine = elementwise_affine + + def forward(self, input: Tensor) -> Tensor: + return input + + +_ConvNd = _ConvNd_factory(Tensor, parameters=False) +Conv2d = Conv2d_factory(_ConvNd, conv2d) +_NormBase = _NormBase_factory(Tensor) +_BatchNorm = _BatchNorm_factory(_NormBase, batch_norm) +BatchNorm2d = BatchNorm2d_factory(_BatchNorm) + +Linear = Linear_factory(Tensor, linear, parameters=False) +AdaptiveAvgPool2d = AdaptiveAvgPool2d_factory(adaptive_avg_pool_2d) +MaxPool2d = MaxPool2d_factory(max_pool2d) +AvgPool2d = AvgPool2d_factory(avg_pool2d) diff --git a/pixpnet/symbolic/misc.py b/pixpnet/symbolic/misc.py new file mode 100644 index 0000000..1d38915 --- /dev/null +++ b/pixpnet/symbolic/misc.py @@ -0,0 +1,139 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# Copyright (c) PyTorch Contributors 2022 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: BSD-3-Clause + +# Code largely based on PyTorch https://github.com/pytorch/pytorch + +import collections.abc +from contextlib import contextmanager +from itertools import repeat +from typing import Any, Dict, Optional, Tuple, TypeVar, Union + +_SYM_NAME_STACK = [] + + +def unique_syms_factory(tensor_cls): + class unique_syms: + def __init__(self): + self.all_names = set() + + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.all_names = set() + + # noinspection PyPep8Naming + def Tensor(self, *args, **kwargs): + tensor = tensor_cls(*args, **kwargs) + + prev_len = len(self.all_names) + self.all_names.update(tensor.names) + if len(self.all_names) != prev_len + len(tensor.names): + from collections import Counter + + print({k: v for k, v in Counter(tensor.names).items() if v != 1}) + raise ValueError( + f"Non-unique names!!! {len(self.all_names)} " + f"{prev_len} {len(tensor.names)} " + f"{len(set(tensor.names))}" + ) + return tensor + + return unique_syms + + +@contextmanager +def sym_scope(name): + try: + _SYM_NAME_STACK.append(name) + yield + finally: + _SYM_NAME_STACK.pop() + + +def get_sym_scope(): + return ".".join(_SYM_NAME_STACK) + + +V = TypeVar("V") +T = TypeVar("T") +_scalar_or_tuple_any_t = Union[T, Tuple[T, ...]] +_scalar_or_tuple_1_t = Union[T, Tuple[T]] +_scalar_or_tuple_2_t = Union[T, Tuple[T, T]] +_scalar_or_tuple_3_t = Union[T, Tuple[T, T, T]] +_scalar_or_tuple_4_t = Union[T, Tuple[T, T, T, T]] +_scalar_or_tuple_5_t = Union[T, Tuple[T, T, T, T, T]] +_scalar_or_tuple_6_t = Union[T, Tuple[T, T, T, T, T, T]] + +# For arguments which represent size parameters (eg, kernel size, padding) +_size_any_t = _scalar_or_tuple_any_t[int] +_size_1_t = _scalar_or_tuple_1_t[int] +_size_2_t = _scalar_or_tuple_2_t[int] +_size_3_t = _scalar_or_tuple_3_t[int] +_size_4_t = _scalar_or_tuple_4_t[int] +_size_5_t = _scalar_or_tuple_5_t[int] +_size_6_t = _scalar_or_tuple_6_t[int] + +# For arguments which represent optional size parameters (eg, adaptive pool +# parameters) +_size_any_opt_t = _scalar_or_tuple_any_t[Optional[int]] +_size_2_opt_t = _scalar_or_tuple_2_t[Optional[int]] +_size_3_opt_t = _scalar_or_tuple_3_t[Optional[int]] + +# For arguments that represent a ratio to adjust each dimension of an input +# with (eg, upsampling parameters) +_ratio_2_t = _scalar_or_tuple_2_t[float] +_ratio_3_t = _scalar_or_tuple_3_t[float] +_ratio_any_t = _scalar_or_tuple_any_t[float] + + +def _ntuple(n, name="parse"): + def parse(x): + if isinstance(x, collections.abc.Iterable): + return tuple(x) + return tuple(repeat(x, n)) + + parse.__name__ = name + return parse + + +_single = _ntuple(1, "_single") +_pair = _ntuple(2, "_pair") +_triple = _ntuple(3, "_triple") +_quadruple = _ntuple(4, "_quadruple") + + +def _overwrite_named_param(kwargs: Dict[str, Any], param: str, new_value: V) -> None: + if param in kwargs: + if kwargs[param] != new_value: + raise ValueError(f"The parameter '{param}' expected value " f"{new_value} but got {kwargs[param]} instead.") + else: + kwargs[param] = new_value + + +def _reverse_repeat_tuple(t, n): + r"""Reverse the order of `t` and repeat each element for `n` times. + + This can be used to translate padding arg used by Conv and Pooling modules + to the ones used by `F.pad`. + """ + return tuple(x for x in reversed(t) for _ in range(n)) + + +def _make_divisible(v: float, divisor: int, min_value: Optional[int] = None) -> int: + """ + This function is taken from the original tf repo. + It ensures that all layers have a channel number that is divisible by 8 + It can be seen here: + https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet.py + """ + if min_value is None: + min_value = divisor + new_v = max(min_value, int(v + divisor / 2) // divisor * divisor) + # Make sure that round down does not go down by more than 10%. + if new_v < 0.9 * v: + new_v += divisor + return new_v diff --git a/pixpnet/symbolic/models.py b/pixpnet/symbolic/models.py new file mode 100644 index 0000000..eff7faa --- /dev/null +++ b/pixpnet/symbolic/models.py @@ -0,0 +1,2916 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# Copyright (c) PyTorch Contributors 2022 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: BSD-3-Clause + +# Code largely based on PyTorch https://github.com/pytorch/pytorch + +import copy +import math +import os +import os.path as osp +import pickle +import sys +from collections import OrderedDict +from functools import partial +from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Type, Union, cast + +import numpy as np +from filelock import FileLock + +import pixpnet +import pixpnet.symbolic.index_layers as nn +from pixpnet.symbolic.misc import _make_divisible, _overwrite_named_param, sym_scope +from pixpnet.utils import get_logger + +logger = get_logger(__name__) + +major, minor = sys.version_info[:2] +if major > 3 or (major == 3 and minor >= 9): + OrderedDict_T = OrderedDict +else: + OrderedDict_T = Dict + +unique_syms = nn.unique_syms +Tensor = nn.Tensor + +ROOT_DIR = osp.dirname(osp.dirname(osp.realpath(pixpnet.__file__))) +CACHE_DIR = osp.join(ROOT_DIR, "rf_cache") + + +def _get_cache_dir(model_name, height, width, num_classes, insert_at): + insert_at_args = (f"insert_at_{insert_at}",) if insert_at else () + return osp.join(CACHE_DIR, model_name, f"{height}x{width}", f"{num_classes}_classes", *insert_at_args) + + +def _get_cache_lockfile(model_name, height, width, num_classes, insert_at): + os.makedirs(CACHE_DIR, exist_ok=True) + insert_at_str = f"__insert_at_{insert_at}" if insert_at else "" + return osp.join(CACHE_DIR, f".{model_name}__{height}x{width}__{num_classes}_classes{insert_at_str}" f".lock") + + +def check_cache(model_name, height, width, num_classes=1, insert_at=None): + save_dir = _get_cache_dir(model_name, height, width, num_classes, insert_at) + save_path = osp.join(save_dir, "rf_data.pkl") + if os.path.isfile(save_path): + return save_path + + +def _serialize_ndarray(arr: np.ndarray): + return { + "shape": arr.shape, + "data": [v.serialize() for v in arr.flat], + } + + +def _deserialize_ndarray(data): + return np.asarray([nn.HypercubeCollection.deserialize(arr_indices) for arr_indices in data["data"]]).reshape( + data["shape"] + ) + + +def write_cache(out, intermediates, model_name, height, width, num_classes, insert_at): + save_dir = _get_cache_dir(model_name, height, width, num_classes, insert_at) + save_path = osp.join(save_dir, "rf_data.pkl") + if os.path.isfile(save_path): + logger.warning(f'Will overwrite "{save_path}" which already exists') + else: + os.makedirs(save_dir, exist_ok=True) + + write_data = { + "out": out, + "intermediates": [(k, v) for k, v in intermediates.items()], + } + with open(save_path, "wb") as fp: + pickle.dump(write_data, fp) + fp.flush() + + +def load_cache(model_name, height, width, num_classes=1, insert_at=None): + save_dir = _get_cache_dir(model_name, height, width, num_classes, insert_at) + save_path = osp.join(save_dir, "rf_data.pkl") + with open(save_path, "rb") as fp: + sys.modules["ngn"] = pixpnet # legacy naming + data = pickle.load(fp) + logger.info(f'Reusing cached data "{save_path}"') + out = data["out"] + intermediates = OrderedDict(((k, v) for k, v in data["intermediates"])) + return out, intermediates + + +def compute_rf_data(model_name, height, width, num_classes=1, insert_at=None): + name_is_name = isinstance(model_name, str) + + lock_path = _get_cache_lockfile(model_name, height, width, num_classes, insert_at) + with FileLock(lock_path): + if name_is_name and check_cache(model_name, height, width, num_classes, insert_at): + try: + out, intermediates = load_cache(model_name, height, width, num_classes, insert_at) + except pickle.UnpicklingError: + logger.warning("UnpicklingError when loading rf data! " "Recomputing...") + else: + return out, intermediates + # It is not in the cache at this point. + if name_is_name: + try: + sym_model_cls = globals()[model_name] + except KeyError: + raise ValueError(f'Invalid name "{model_name}". Valid: ' f"{[*globals().keys()]}") + else: + sym_model_cls = model_name + img_shape = (height, width) + + with unique_syms() as ctx: + x = ctx.Tensor(shape=(1, 1, *img_shape), name="x") + + sym_model = sym_model_cls(num_classes=num_classes) + + if insert_at: + _, rf_data_from_x = compute_rf_data(model_name, height, width, num_classes) + shape_at_insert_layer = rf_data_from_x[insert_at].shape + with unique_syms() as ctx: + intermediate_x = ctx.Tensor(shape=shape_at_insert_layer, name="intermediate_x") + out, intermediates = sym_model(x, intermediate_x=intermediate_x, insert_at=insert_at) + else: + out, intermediates = sym_model(x) + if name_is_name: + write_cache(out, intermediates, model_name, height, width, num_classes, insert_at) + return out, intermediates + + +class StochasticDepth(nn.Module): + """ + See :func:`stochastic_depth`. + """ + + def __init__(self, p: float, mode: str) -> None: + super().__init__() + self.p = p + self.mode = mode + + def forward(self, input: Tensor) -> Tensor: + return input + + def __repr__(self) -> str: + s = f"{self.__class__.__name__}(p={self.p}, mode={self.mode})" + return s + + +def conv3x3(in_planes: int, out_planes: int, stride: int = 1, groups: int = 1, dilation: int = 1) -> nn.Conv2d: + """3x3 convolution with padding""" + return nn.Conv2d( + in_planes, + out_planes, + kernel_size=3, + stride=stride, + padding=dilation, + groups=groups, + bias=False, + dilation=dilation, + ) + + +def conv1x1(in_planes: int, out_planes: int, stride: int = 1) -> nn.Conv2d: + """1x1 convolution""" + return nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, bias=False) + + +class BasicBlock(nn.Module): + expansion: int = 1 + + def __init__( + self, + inplanes: int, + planes: int, + stride: int = 1, + downsample: Optional[nn.Module] = None, + groups: int = 1, + base_width: int = 64, + dilation: int = 1, + norm_layer: Optional[Callable[..., nn.Module]] = None, + ) -> None: + super().__init__() + if groups != 1 or base_width != 64: + raise ValueError("BasicBlock only supports groups=1 and base_width=64") + if dilation > 1: + raise NotImplementedError("Dilation > 1 not supported in BasicBlock") + with sym_scope("conv1"): + self.conv1 = conv3x3(inplanes, planes, stride) + with sym_scope("relu"): + self.relu = nn.ReLU() + with sym_scope("conv2"): + self.conv2 = conv3x3(planes, planes) + self.downsample = downsample + self.stride = stride + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.relu(out) + + out = self.conv2(out) + + if self.downsample is not None: + identity = self.downsample(x) + + out += identity + out = self.relu(out) + + return out + + +class Bottleneck(nn.Module): + # Bottleneck in torchvision places the stride for downsampling at 3x3 + # convolution(self.conv2) while original implementation places the stride at + # the first 1x1 convolution(self.conv1) according to "Deep residual learning + # for image recognition"https://arxiv.org/abs/1512.03385. This variant is + # also known as ResNet V1.5 and improves accuracy according to + # https://ngc.nvidia.com/catalog/model-scripts/nvidia:resnet_50_v1_5_for_pytorch. + + # 4 normally but not needed in symbolic version (more than 1 channel is + # redundant) + expansion: int = 1 + + def __init__( + self, + inplanes: int, + planes: int, + stride: int = 1, + downsample: Optional[nn.Module] = None, + groups: int = 1, + base_width: int = 64, + dilation: int = 1, + norm_layer: Optional[Callable[..., nn.Module]] = None, + ) -> None: + super().__init__() + width = int(planes * (base_width / 64.0)) * groups + with sym_scope("conv1"): + self.conv1 = conv1x1(inplanes, width) + with sym_scope("conv2"): + self.conv2 = conv3x3(width, width, stride, groups, dilation) + with sym_scope("conv3"): + self.conv3 = conv1x1(width, planes * self.expansion) + with sym_scope("relu"): + self.relu = nn.ReLU() + self.downsample = downsample + self.stride = stride + + def forward(self, x): + identity = x + + out = self.conv1(x) + out = self.relu(out) + + out = self.conv2(out) + out = self.relu(out) + + out = self.conv3(out) + + if self.downsample is not None: + identity = self.downsample(x) + + out += identity + out = self.relu(out) + + return out + + +class ResNet(nn.Module): + def __init__( + self, + block: Type[Union[BasicBlock, Bottleneck]], + layers: List[int], + num_classes: int = 1000, + groups: int = 1, + width_per_group: int = 64, + replace_stride_with_dilation: Optional[List[bool]] = None, + norm_layer: Optional[Callable[..., nn.Module]] = None, + ) -> None: + super().__init__() + self._norm_layer = norm_layer + + self.inplanes = 64 + self.dilation = 1 + if replace_stride_with_dilation is None: + # each element in the tuple indicates if we should replace + # the 2x2 stride with a dilated convolution instead + replace_stride_with_dilation = [False, False, False] + if len(replace_stride_with_dilation) != 3: + raise ValueError( + "replace_stride_with_dilation should be None " + f"or a 3-element tuple, got {replace_stride_with_dilation}" + ) + self.groups = groups + self.base_width = width_per_group + with sym_scope("conv1"): # 3 --> 1 channel + self.conv1 = nn.Conv2d(1, self.inplanes, kernel_size=7, stride=2, padding=3, bias=False) + with sym_scope("relu"): + self.relu = nn.ReLU() + with sym_scope("maxpool"): + self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1) + with sym_scope("layer1"): + self.layer1 = self._make_layer(block, 64, layers[0]) # 64 + with sym_scope("layer2"): + self.layer2 = self._make_layer( + block, 128, layers[1], stride=2, dilate=replace_stride_with_dilation[0] # 128 + ) + with sym_scope("layer3"): + self.layer3 = self._make_layer( + block, 256, layers[2], stride=2, dilate=replace_stride_with_dilation[1] # 256 + ) + with sym_scope("layer4"): + self.layer4 = self._make_layer( + block, 512, layers[3], stride=2, dilate=replace_stride_with_dilation[2] # 512 + ) + with sym_scope("avgpool"): + self.avgpool = nn.AdaptiveAvgPool2d((1, 1)) + with sym_scope("fc"): + self.fc = nn.Linear(512 * block.expansion, num_classes) # 512 + + def _make_layer( + self, + block: Type[Union[BasicBlock, Bottleneck]], + planes: int, + blocks: int, + stride: int = 1, + dilate: bool = False, + ) -> nn.Sequential: + norm_layer = self._norm_layer + downsample = None + previous_dilation = self.dilation + if dilate: + self.dilation *= stride + stride = 1 + if stride != 1 or self.inplanes != planes * block.expansion: + with sym_scope("downsample"): + downsample = nn.Sequential( + conv1x1(self.inplanes, planes * block.expansion, stride), + ) + + with sym_scope("block0"): + layers = [ + block( + self.inplanes, + planes, + stride, + downsample, + self.groups, + self.base_width, + previous_dilation, + norm_layer, + ) + ] + self.inplanes = planes * block.expansion + for i in range(1, blocks): + with sym_scope(f"block_{i}"): + layers.append( + block( + self.inplanes, + planes, + groups=self.groups, + base_width=self.base_width, + dilation=self.dilation, + norm_layer=norm_layer, + ) + ) + + return nn.Sequential(*layers) + + def _forward_impl(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + x = self.conv1(x) + x = self.relu(x) + intermediates["conv1"] = x + if insert_at == "conv1": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.maxpool(x) + intermediates["maxpool"] = x + if insert_at == "maxpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + x = self.layer1(x) + intermediates["layer1"] = x + if insert_at == "layer1": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.layer2(x) + intermediates["layer2"] = x + if insert_at == "layer2": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.layer3(x) + intermediates["layer3"] = x + if insert_at == "layer3": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.layer4(x) + intermediates["layer4"] = x + if insert_at == "layer4": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = nn.flatten(x, 1) + x = self.fc(x) + intermediates["fc"] = x + if insert_at == "fc": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + return x, intermediates + + def forward(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + return self._forward_impl(x, intermediate_x, insert_at) + + +def _resnet( + block: Type[Union[BasicBlock, Bottleneck]], + layers: List[int], + **kwargs: Any, +) -> ResNet: + model = ResNet(block, layers, **kwargs) + return model + + +def resnet18(**kwargs: Any) -> ResNet: + """ResNet-18 from `Deep Residual Learning for Image Recognition + `__. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + with sym_scope("resnet18"): + return _resnet(BasicBlock, [2, 2, 2, 2], **kwargs) + + +def resnet34(**kwargs: Any) -> ResNet: + """ResNet-34 from `Deep Residual Learning for Image Recognition + `__. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + with sym_scope("resnet34"): + return _resnet(BasicBlock, [3, 4, 6, 3], **kwargs) + + +def resnet50(**kwargs: Any) -> ResNet: + """ResNet-50 from `Deep Residual Learning for Image Recognition + `__. + .. note:: + The bottleneck of TorchVision places the stride for downsampling to the + second 3x3 convolution while the original paper places it to the first + 1x1 convolution. This variant improves the accuracy and is known as + `ResNet V1.5 + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + with sym_scope("resnet50"): + return _resnet(Bottleneck, [3, 4, 6, 3], **kwargs) + + +def resnet101(**kwargs: Any) -> ResNet: + """ResNet-101 from `Deep Residual Learning for Image Recognition + `__. + .. note:: + The bottleneck of TorchVision places the stride for downsampling to the + second 3x3 convolution while the original paper places it to the first + 1x1 convolution. This variant improves the accuracy and is known as + `ResNet V1.5 + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + with sym_scope("resnet101"): + return _resnet(Bottleneck, [3, 4, 23, 3], **kwargs) + + +def resnet152(**kwargs: Any) -> ResNet: + """ResNet-152 from `Deep Residual Learning for Image Recognition + `__. + .. note:: + The bottleneck of TorchVision places the stride for downsampling to the + second 3x3 convolution while the original paper places it to the first + 1x1 convolution. This variant improves the accuracy and is known as + `ResNet V1.5 + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + with sym_scope("resnet152"): + return _resnet(Bottleneck, [3, 8, 36, 3], **kwargs) + + +def resnext50_32x4d(**kwargs: Any) -> ResNet: + """ResNeXt-50 32x4d model from + `Aggregated Residual Transformation for Deep Neural Networks + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + _overwrite_named_param(kwargs, "groups", 32) + _overwrite_named_param(kwargs, "width_per_group", 4) + return _resnet(Bottleneck, [3, 4, 6, 3], **kwargs) + + +def resnext101_32x8d(**kwargs: Any) -> ResNet: + """ResNeXt-101 32x8d model from + `Aggregated Residual Transformation for Deep Neural Networks + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + _overwrite_named_param(kwargs, "groups", 32) + _overwrite_named_param(kwargs, "width_per_group", 8) + return _resnet(Bottleneck, [3, 4, 23, 3], **kwargs) + + +def resnext101_64x4d(**kwargs: Any) -> ResNet: + """ResNeXt-101 64x4d model from + `Aggregated Residual Transformation for Deep Neural Networks + `_. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + _overwrite_named_param(kwargs, "groups", 64) + _overwrite_named_param(kwargs, "width_per_group", 4) + return _resnet(Bottleneck, [3, 4, 23, 3], **kwargs) + + +def wide_resnet50_2(**kwargs: Any) -> ResNet: + """Wide ResNet-50-2 model from + `Wide Residual Networks `_. + The model is the same as ResNet except for the bottleneck number of channels + which is twice larger in every block. The number of channels in outer 1x1 + convolutions is the same, e.g. last block in ResNet-50 has 2048-512-2048 + channels, and in Wide ResNet-50-2 has 2048-1024-2048. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + _overwrite_named_param(kwargs, "width_per_group", 64 * 2) + return _resnet(Bottleneck, [3, 4, 6, 3], **kwargs) + + +def wide_resnet101_2(**kwargs: Any) -> ResNet: + """Wide ResNet-101-2 model from + `Wide Residual Networks `_. + The model is the same as ResNet except for the bottleneck number of channels + which is twice larger in every block. The number of channels in outer 1x1 + convolutions is the same, e.g. last block in ResNet-101 has 2048-512-2048 + channels, and in Wide ResNet-101-2 has 2048-1024-2048. + Args: + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + """ + _overwrite_named_param(kwargs, "width_per_group", 64 * 2) + return _resnet(Bottleneck, [3, 4, 23, 3], **kwargs) + + +class VGG(nn.Module): + def __init__(self, features, num_classes: int = 1000, init_weights: bool = True, dropout: float = 0.5) -> None: + super().__init__() + self.features, self.cfg = features + self.avgpool = nn.AdaptiveAvgPool2d((7, 7)) + self.classifier = nn.Sequential( + nn.Linear(1 * 7 * 7, 4096), + nn.ReLU(), + nn.Linear(4096, 4096), + nn.ReLU(), + nn.Linear(4096, num_classes), + ) + + def forward(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + m_cnt = 0 + for i, (layer, typ) in enumerate(zip(self.features, self.cfg)): + x = layer(x) + if typ == "M": + m_cnt += 1 + intermediates[f"maxpool{m_cnt}"] = x + if insert_at == f"maxpool{m_cnt}": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + elif i == 0: + intermediates["conv1"] = x + if insert_at == "conv1": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = nn.flatten(x, 1) + x = self.classifier(x) + intermediates["classifier"] = x + if insert_at == "classifier": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + return x, intermediates + + +def make_layers(cfg: List[Union[str, int]], batch_norm: bool = False): + layers: List[nn.Module] = [] + in_channels = 1 + for v in cfg: + if v == "M": + layers += [nn.MaxPool2d(kernel_size=2, stride=2)] + else: + v = cast(int, v) + v = 1 # always one channel b + conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1) + layers += [nn.Sequential(conv2d, nn.ReLU())] + in_channels = v + return layers, cfg + + +cfgs: Dict[str, List[Union[str, int]]] = { + "A": [64, "M", 128, "M", 256, 256, "M", 512, 512, "M", 512, 512, "M"], + "B": [64, 64, "M", 128, 128, "M", 256, 256, "M", 512, 512, "M", 512, 512, "M"], + "D": [64, 64, "M", 128, 128, "M", 256, 256, 256, "M", 512, 512, 512, "M", 512, 512, 512, "M"], + "E": [64, 64, "M", 128, 128, "M", 256, 256, 256, 256, "M", 512, 512, 512, 512, "M", 512, 512, 512, 512, "M"], +} + + +def _vgg(arch: str, cfg: str, batch_norm: bool, pretrained: bool, progress: bool, **kwargs: Any) -> VGG: + if pretrained: + kwargs["init_weights"] = False + model = VGG(make_layers(cfgs[cfg], batch_norm=batch_norm), **kwargs) + return model + + +def vgg11(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 11-layer model (configuration "A") from + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg11", "A", False, pretrained, progress, **kwargs) + + +def vgg11_bn(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 11-layer model (configuration "A") with batch normalization + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg11_bn", "A", True, pretrained, progress, **kwargs) + + +def vgg13(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 13-layer model (configuration "B") + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg13", "B", False, pretrained, progress, **kwargs) + + +def vgg13_bn(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 13-layer model (configuration "B") with batch normalization + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg13_bn", "B", True, pretrained, progress, **kwargs) + + +def vgg16(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 16-layer model (configuration "D") + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg16", "D", False, pretrained, progress, **kwargs) + + +def vgg16_bn(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 16-layer model (configuration "D") with batch normalization + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg16_bn", "D", True, pretrained, progress, **kwargs) + + +def vgg19(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 19-layer model (configuration "E") + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg19", "E", False, pretrained, progress, **kwargs) + + +def vgg19_bn(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> VGG: + r"""VGG 19-layer model (configuration 'E') with batch normalization + `"Very Deep Convolutional Networks For Large-Scale Image Recognition" `_. + The required minimum input size of the model is 32x32. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _vgg("vgg19_bn", "E", True, pretrained, progress, **kwargs) + + +class Fire(nn.Module): + def __init__(self, inplanes: int, squeeze_planes: int, expand1x1_planes: int, expand3x3_planes: int) -> None: + super().__init__() + self.inplanes = inplanes + self.squeeze = nn.Conv2d(inplanes, squeeze_planes, kernel_size=1) + self.squeeze_activation = nn.ReLU() + self.expand1x1 = nn.Conv2d(squeeze_planes, expand1x1_planes, kernel_size=1) + self.expand1x1_activation = nn.ReLU() + self.expand3x3 = nn.Conv2d(squeeze_planes, expand3x3_planes, kernel_size=3, padding=1) + self.expand3x3_activation = nn.ReLU() + + def forward(self, x: nn.Tensor) -> nn.Tensor: + x = self.squeeze_activation(self.squeeze(x)) + return nn.cat([self.expand1x1_activation(self.expand1x1(x)), self.expand3x3_activation(self.expand3x3(x))], 1) + + +class SqueezeNet(nn.Module): + def __init__(self, version: str = "1_0", num_classes: int = 1000, dropout: float = 0.5) -> None: + super().__init__() + self.num_classes = num_classes + if version == "1_0": + self.features = nn.Sequential( + nn.Conv2d(1, 1, kernel_size=7, stride=2), + nn.ReLU(), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(1, 1, 1, 1), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(2, 1, 1, 1), + ) + self.checkpoints = {0: "conv1", 2: "maxpool1", 6: "maxpool2", 11: "maxpool3"} + elif version == "1_1": + self.features = nn.Sequential( + nn.Conv2d(1, 1, kernel_size=3, stride=2), + nn.ReLU(), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(1, 1, 1, 1), + Fire(2, 1, 1, 1), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + nn.MaxPool2d(kernel_size=3, stride=2, ceil_mode=True), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + Fire(2, 1, 1, 1), + ) + self.checkpoints = {0: "conv1", 2: "maxpool1", 5: "maxpool2", 8: "maxpool3"} + else: + raise ValueError(f"Unsupported SqueezeNet version {version}: " f"1_0 or 1_1 expected") + + # Final convolution is initialized differently from the rest + final_conv = nn.Conv2d(2, self.num_classes, kernel_size=1) + self.classifier = nn.Sequential(final_conv, nn.ReLU(), nn.AdaptiveAvgPool2d((1, 1))) + self.classifier_checkpoints = {0: "final_conv", 2: "avgpool"} + + def forward(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + for i, layer in enumerate(self.features): + x = layer(x) + if i in self.checkpoints: + intermediates[self.checkpoints[i]] = x + if insert_at == self.checkpoints[i]: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + intermediates["features"] = x + if insert_at == "features": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + for i, layer in enumerate(self.classifier): + x = layer(x) + if i in self.classifier_checkpoints: + intermediates[self.classifier_checkpoints[i]] = x + if insert_at == self.classifier_checkpoints[i]: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + return nn.flatten(x, 1), intermediates + + +def _squeezenet(version: str, pretrained: bool, progress: bool, **kwargs: Any) -> SqueezeNet: + model = SqueezeNet(version, **kwargs) + return model + + +def squeezenet1_0(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> SqueezeNet: + r"""SqueezeNet model architecture from the `"SqueezeNet: AlexNet-level + accuracy with 50x fewer parameters and <0.5MB model size" + `_ paper. + The required minimum input size of the model is 21x21. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _squeezenet("1_0", pretrained, progress, **kwargs) + + +def squeezenet1_1(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> SqueezeNet: + r"""SqueezeNet 1.1 model from the `official SqueezeNet repo + `_. + SqueezeNet 1.1 has 2.4x less computation and slightly fewer parameters + than SqueezeNet 1.0, without sacrificing accuracy. + The required minimum input size of the model is 17x17. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _squeezenet("1_1", pretrained, progress, **kwargs) + + +class Inception3(nn.Module): + def __init__( + self, + num_classes: int = 1000, + aux_logits: bool = False, + transform_input: bool = False, + inception_blocks: Optional[List[Callable[..., nn.Module]]] = None, + init_weights: Optional[bool] = None, + dropout: float = 0.5, + ) -> None: + super().__init__() + if inception_blocks is None: + inception_blocks = [BasicConv2d, InceptionA, InceptionB, InceptionC, InceptionD, InceptionE, InceptionAux] + assert len(inception_blocks) == 7 + conv_block = inception_blocks[0] + inception_a = inception_blocks[1] + inception_b = inception_blocks[2] + inception_c = inception_blocks[3] + inception_d = inception_blocks[4] + inception_e = inception_blocks[5] + inception_aux = inception_blocks[6] + + self.aux_logits = aux_logits + self.transform_input = transform_input + self.Conv2d_1a_3x3 = conv_block(1, 1, kernel_size=3, stride=2) + self.Conv2d_2a_3x3 = conv_block(1, 1, kernel_size=3) + self.Conv2d_2b_3x3 = conv_block(1, 1, kernel_size=3, padding=1) + self.maxpool1 = nn.MaxPool2d(kernel_size=3, stride=2) + self.Conv2d_3b_1x1 = conv_block(1, 1, kernel_size=1) + self.Conv2d_4a_3x3 = conv_block(1, 1, kernel_size=3) + self.maxpool2 = nn.MaxPool2d(kernel_size=3, stride=2) + self.Mixed_5b = inception_a(1, pool_features=1) + self.Mixed_5c = inception_a(4, pool_features=1) + self.Mixed_5d = inception_a(4, pool_features=1) + self.Mixed_6a = inception_b(4) + self.Mixed_6b = inception_c(6, channels_7x7=1) + self.Mixed_6c = inception_c(4, channels_7x7=1) + self.Mixed_6d = inception_c(4, channels_7x7=1) + self.Mixed_6e = inception_c(4, channels_7x7=1) + self.AuxLogits: Optional[nn.Module] = None + if aux_logits: + self.AuxLogits = inception_aux(1, num_classes) + self.Mixed_7a = inception_d(4) + self.Mixed_7b = inception_e(6) + self.Mixed_7c = inception_e(6) + self.avgpool = nn.AdaptiveAvgPool2d((1, 1)) + self.fc = nn.Linear(6, num_classes) + + def _transform_input(self, x: nn.Tensor) -> nn.Tensor: + if self.transform_input: + x_ch0 = nn.unsqueeze(x[:, 0], 1) * (0.229 / 0.5) + (0.485 - 0.5) / 0.5 + x_ch1 = nn.unsqueeze(x[:, 1], 1) * (0.224 / 0.5) + (0.456 - 0.5) / 0.5 + x_ch2 = nn.unsqueeze(x[:, 2], 1) * (0.225 / 0.5) + (0.406 - 0.5) / 0.5 + x = nn.cat((x_ch0, x_ch1, x_ch2), 1) + return x + + def _forward(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + # N x 3 x 299 x 299 + x = self.Conv2d_1a_3x3(x) + intermediates["Conv2d_1a_3x3"] = x + if insert_at == "Conv2d_1a_3x3": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 32 x 149 x 149 + x = self.Conv2d_2a_3x3(x) + intermediates["Conv2d_2a_3x3"] = x + if insert_at == "Conv2d_2a_3x3": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 32 x 147 x 147 + x = self.Conv2d_2b_3x3(x) + intermediates["Conv2d_2b_3x3"] = x + if insert_at == "Conv2d_2b_3x3": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 64 x 147 x 147 + x = self.maxpool1(x) + intermediates["maxpool1"] = x + if insert_at == "maxpool1": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 64 x 73 x 73 + x = self.Conv2d_3b_1x1(x) + intermediates["Conv2d_3b_1x1"] = x + if insert_at == "Conv2d_3b_1x1": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 80 x 73 x 73 + x = self.Conv2d_4a_3x3(x) + intermediates["Conv2d_4a_3x3"] = x + if insert_at == "Conv2d_4a_3x3": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 192 x 71 x 71 + x = self.maxpool2(x) + intermediates["maxpool2"] = x + if insert_at == "maxpool2": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 192 x 35 x 35 + x = self.Mixed_5b(x) + intermediates["Mixed_5b"] = x + if insert_at == "Mixed_5b": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 256 x 35 x 35 + x = self.Mixed_5c(x) + intermediates["Mixed_5c"] = x + if insert_at == "Mixed_5c": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 288 x 35 x 35 + x = self.Mixed_5d(x) + intermediates["Mixed_5d"] = x + if insert_at == "Mixed_5d": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 288 x 35 x 35 + x = self.Mixed_6a(x) + intermediates["Mixed_6a"] = x + if insert_at == "Mixed_6a": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 768 x 17 x 17 + x = self.Mixed_6b(x) + intermediates["Mixed_6b"] = x + if insert_at == "Mixed_6b": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 768 x 17 x 17 + x = self.Mixed_6c(x) + intermediates["Mixed_6c"] = x + if insert_at == "Mixed_6c": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 768 x 17 x 17 + x = self.Mixed_6d(x) + intermediates["Mixed_6d"] = x + if insert_at == "Mixed_6d": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 768 x 17 x 17 + x = self.Mixed_6e(x) + intermediates["Mixed_6e"] = x + if insert_at == "Mixed_6e": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 768 x 17 x 17 + aux: Optional[nn.Tensor] = None + if self.AuxLogits is not None: + if self.training: + aux = self.AuxLogits(x) + # N x 768 x 17 x 17 + x = self.Mixed_7a(x) + # N x 1280 x 8 x 8 + x = self.Mixed_7b(x) + # N x 2048 x 8 x 8 + x = self.Mixed_7c(x) + intermediates["Mixed_7c"] = x + if insert_at == "Mixed_7c": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 2048 x 8 x 8 + # Adaptive average pooling + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 2048 x 1 x 1 + x = nn.flatten(x, 1) + # N x 2048 + x = self.fc(x) + intermediates["fc"] = x + if insert_at == "fc": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + # N x 1000 (num_classes) + return x, aux, intermediates + + def eager_outputs(self, x: nn.Tensor, aux: Optional[nn.Tensor]): + return x # type: ignore[return-value] + + def forward(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + x = self._transform_input(x) + x, aux, intermediates = self._forward(x, intermediate_x, insert_at) + return self.eager_outputs(x, aux), intermediates + + +class InceptionA(nn.Module): + def __init__( + self, in_channels: int, pool_features: int, conv_block: Optional[Callable[..., nn.Module]] = None + ) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.branch1x1 = conv_block(in_channels, 1, kernel_size=1) + + self.branch5x5_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch5x5_2 = conv_block(1, 1, kernel_size=5, padding=2) + + self.branch3x3dbl_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch3x3dbl_2 = conv_block(1, 1, kernel_size=3, padding=1) + self.branch3x3dbl_3 = conv_block(1, 1, kernel_size=3, padding=1) + + self.branch_pool = conv_block(in_channels, pool_features, kernel_size=1) + self.avgpool = nn.AvgPool2d(kernel_size=3, stride=1, padding=1) + + def _forward(self, x: nn.Tensor) -> List[nn.Tensor]: + branch1x1 = self.branch1x1(x) + + branch5x5 = self.branch5x5_1(x) + branch5x5 = self.branch5x5_2(branch5x5) + + branch3x3dbl = self.branch3x3dbl_1(x) + branch3x3dbl = self.branch3x3dbl_2(branch3x3dbl) + branch3x3dbl = self.branch3x3dbl_3(branch3x3dbl) + + branch_pool = self.avgpool(x) + branch_pool = self.branch_pool(branch_pool) + + outputs = [branch1x1, branch5x5, branch3x3dbl, branch_pool] + return outputs + + def forward(self, x: nn.Tensor) -> nn.Tensor: + outputs = self._forward(x) + return nn.cat(outputs, 1) + + +class InceptionB(nn.Module): + def __init__(self, in_channels: int, conv_block: Optional[Callable[..., nn.Module]] = None) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.branch3x3 = conv_block(in_channels, 1, kernel_size=3, stride=2) + + self.branch3x3dbl_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch3x3dbl_2 = conv_block(1, 1, kernel_size=3, padding=1) + self.branch3x3dbl_3 = conv_block(1, 1, kernel_size=3, stride=2) + + self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2) + + def _forward(self, x: nn.Tensor) -> List[nn.Tensor]: + branch3x3 = self.branch3x3(x) + + branch3x3dbl = self.branch3x3dbl_1(x) + branch3x3dbl = self.branch3x3dbl_2(branch3x3dbl) + branch3x3dbl = self.branch3x3dbl_3(branch3x3dbl) + + branch_pool = self.maxpool(x) + + outputs = [branch3x3, branch3x3dbl, branch_pool] + return outputs + + def forward(self, x: nn.Tensor) -> nn.Tensor: + outputs = self._forward(x) + return nn.cat(outputs, 1) + + +class InceptionC(nn.Module): + def __init__( + self, in_channels: int, channels_7x7: int, conv_block: Optional[Callable[..., nn.Module]] = None + ) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.branch1x1 = conv_block(in_channels, 1, kernel_size=1) + + c7 = channels_7x7 + self.branch7x7_1 = conv_block(in_channels, c7, kernel_size=1) + self.branch7x7_2 = conv_block(c7, c7, kernel_size=(1, 7), padding=(0, 3)) + self.branch7x7_3 = conv_block(c7, 1, kernel_size=(7, 1), padding=(3, 0)) + + self.branch7x7dbl_1 = conv_block(in_channels, c7, kernel_size=1) + self.branch7x7dbl_2 = conv_block(c7, c7, kernel_size=(7, 1), padding=(3, 0)) + self.branch7x7dbl_3 = conv_block(c7, c7, kernel_size=(1, 7), padding=(0, 3)) + self.branch7x7dbl_4 = conv_block(c7, c7, kernel_size=(7, 1), padding=(3, 0)) + self.branch7x7dbl_5 = conv_block(c7, 1, kernel_size=(1, 7), padding=(0, 3)) + self.avgpool = nn.AvgPool2d(kernel_size=3, stride=1, padding=1) + self.branch_pool = conv_block(in_channels, 1, kernel_size=1) + + def _forward(self, x: nn.Tensor) -> List[nn.Tensor]: + branch1x1 = self.branch1x1(x) + + branch7x7 = self.branch7x7_1(x) + branch7x7 = self.branch7x7_2(branch7x7) + branch7x7 = self.branch7x7_3(branch7x7) + + branch7x7dbl = self.branch7x7dbl_1(x) + branch7x7dbl = self.branch7x7dbl_2(branch7x7dbl) + branch7x7dbl = self.branch7x7dbl_3(branch7x7dbl) + branch7x7dbl = self.branch7x7dbl_4(branch7x7dbl) + branch7x7dbl = self.branch7x7dbl_5(branch7x7dbl) + + branch_pool = self.avgpool(x) + branch_pool = self.branch_pool(branch_pool) + + outputs = [branch1x1, branch7x7, branch7x7dbl, branch_pool] + return outputs + + def forward(self, x: nn.Tensor) -> nn.Tensor: + outputs = self._forward(x) + return nn.cat(outputs, 1) + + +class InceptionD(nn.Module): + def __init__(self, in_channels: int, conv_block: Optional[Callable[..., nn.Module]] = None) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.branch3x3_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch3x3_2 = conv_block(1, 1, kernel_size=3, stride=2) + + self.branch7x7x3_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch7x7x3_2 = conv_block(1, 1, kernel_size=(1, 7), padding=(0, 3)) + self.branch7x7x3_3 = conv_block(1, 1, kernel_size=(7, 1), padding=(3, 0)) + self.branch7x7x3_4 = conv_block(1, 1, kernel_size=3, stride=2) + self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2) + + def _forward(self, x: nn.Tensor) -> List[nn.Tensor]: + branch3x3 = self.branch3x3_1(x) + branch3x3 = self.branch3x3_2(branch3x3) + + branch7x7x3 = self.branch7x7x3_1(x) + branch7x7x3 = self.branch7x7x3_2(branch7x7x3) + branch7x7x3 = self.branch7x7x3_3(branch7x7x3) + branch7x7x3 = self.branch7x7x3_4(branch7x7x3) + + branch_pool = self.maxpool(x) + outputs = [branch3x3, branch7x7x3, branch_pool] + return outputs + + def forward(self, x: nn.Tensor) -> nn.Tensor: + outputs = self._forward(x) + return nn.cat(outputs, 1) + + +class InceptionE(nn.Module): + def __init__(self, in_channels: int, conv_block: Optional[Callable[..., nn.Module]] = None) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.branch1x1 = conv_block(in_channels, 1, kernel_size=1) + + self.branch3x3_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch3x3_2a = conv_block(1, 1, kernel_size=(1, 3), padding=(0, 1)) + self.branch3x3_2b = conv_block(1, 1, kernel_size=(3, 1), padding=(1, 0)) + + self.branch3x3dbl_1 = conv_block(in_channels, 1, kernel_size=1) + self.branch3x3dbl_2 = conv_block(1, 1, kernel_size=3, padding=1) + self.branch3x3dbl_3a = conv_block(1, 1, kernel_size=(1, 3), padding=(0, 1)) + self.branch3x3dbl_3b = conv_block(1, 1, kernel_size=(3, 1), padding=(1, 0)) + self.avgpool = nn.AvgPool2d(kernel_size=3, stride=1, padding=1) + self.branch_pool = conv_block(in_channels, 1, kernel_size=1) + + def _forward(self, x: nn.Tensor) -> List[nn.Tensor]: + branch1x1 = self.branch1x1(x) + + branch3x3 = self.branch3x3_1(x) + branch3x3 = [ + self.branch3x3_2a(branch3x3), + self.branch3x3_2b(branch3x3), + ] + branch3x3 = nn.cat(branch3x3, 1) + + branch3x3dbl = self.branch3x3dbl_1(x) + branch3x3dbl = self.branch3x3dbl_2(branch3x3dbl) + branch3x3dbl = [ + self.branch3x3dbl_3a(branch3x3dbl), + self.branch3x3dbl_3b(branch3x3dbl), + ] + branch3x3dbl = nn.cat(branch3x3dbl, 1) + + branch_pool = self.avgpool(x) + branch_pool = self.branch_pool(branch_pool) + + outputs = [branch1x1, branch3x3, branch3x3dbl, branch_pool] + return outputs + + def forward(self, x: nn.Tensor) -> nn.Tensor: + outputs = self._forward(x) + return nn.cat(outputs, 1) + + +class InceptionAux(nn.Module): + def __init__( + self, in_channels: int, num_classes: int, conv_block: Optional[Callable[..., nn.Module]] = None + ) -> None: + super().__init__() + if conv_block is None: + conv_block = BasicConv2d + self.conv0 = conv_block(in_channels, 1, kernel_size=1) + self.conv1 = conv_block(1, 1, kernel_size=5) + self.conv1.stddev = 0.01 # type: ignore[assignment] + self.fc = nn.Linear(1, num_classes) + self.fc.stddev = 0.001 # type: ignore[assignment] + self.adaptive_avgpool = nn.AdaptiveAvgPool2d((1, 1)) + self.avgpool = nn.AvgPool2d(kernel_size=5, stride=3) + + def forward(self, x: nn.Tensor) -> nn.Tensor: + # N x 768 x 17 x 17 + x = self.avgpool(x) + # N x 768 x 5 x 5 + x = self.conv0(x) + # N x 128 x 5 x 5 + x = self.conv1(x) + # N x 768 x 1 x 1 + # Adaptive average pooling + x = self.adaptive_avgpool(x) + # N x 768 x 1 x 1 + x = nn.flatten(x, 1) + # N x 768 + x = self.fc(x) + # N x 1000 + return x + + +class BasicConv2d(nn.Module): + def __init__(self, in_channels: int, out_channels: int, **kwargs: Any) -> None: + super().__init__() + self.conv = nn.Conv2d(in_channels, out_channels, bias=False, **kwargs) + self.relu = nn.ReLU() + + def forward(self, x: nn.Tensor) -> nn.Tensor: + x = self.conv(x) + return self.relu(x) + + +def inception_v3(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> Inception3: + r"""Inception v3 model architecture from + `"Rethinking the Inception Architecture for Computer Vision" + `_. + The required minimum input size of the model is 75x75. + + .. note:: + **Important**: In contrast to the other models the inception_v3 expects + nn.Tensors with a size of + N x 3 x 299 x 299, so ensure your images are sized accordingly. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to + stderr + aux_logits (bool): If True, add an auxiliary branch that can improve + training. + Default: *True* + transform_input (bool): If True, preprocesses the input according to the + method with which it was trained on ImageNet. Default: True if + ``pretrained=True``, else False. + """ + return Inception3(**kwargs) + + +class _DenseLayer(nn.Module): + def __init__( + self, num_input_features: int, growth_rate: int, bn_size: int, drop_rate: float, memory_efficient: bool = False + ) -> None: + super().__init__() + self.relu1: nn.ReLU + self.add_module("relu1", nn.ReLU()) + self.conv1: nn.Conv2d + self.add_module( + "conv1", nn.Conv2d(num_input_features, bn_size * growth_rate, kernel_size=1, stride=1, bias=False) + ) + self.relu2: nn.ReLU + self.add_module("relu2", nn.ReLU()) + self.conv2: nn.Conv2d + self.add_module( + "conv2", nn.Conv2d(bn_size * growth_rate, growth_rate, kernel_size=3, stride=1, padding=1, bias=False) + ) + self.drop_rate = float(drop_rate) + self.memory_efficient = memory_efficient + + def bn_function(self, inputs): + concated_features = nn.cat(inputs, 1) + bottleneck_output = self.conv1(self.relu1(concated_features)) # noqa: T484 + return bottleneck_output + + # torchscript does not yet support *args, so we overload method + # allowing it to take either a List[Tensor] or single Tensor + def forward(self, input): # noqa: F811 + if not isinstance(input, list): + prev_features = [input] + else: + prev_features = input + + bottleneck_output = self.bn_function(prev_features) + + new_features = self.conv2(self.relu2(bottleneck_output)) + return new_features + + +class _DenseBlock(nn.ModuleDict): + _version = 2 + + def __init__( + self, + num_layers: int, + num_input_features: int, + bn_size: int, + growth_rate: int, + drop_rate: float, + memory_efficient: bool = False, + ) -> None: + super().__init__() + for i in range(num_layers): + layer = _DenseLayer( + num_input_features + i * growth_rate, + growth_rate=growth_rate, + bn_size=bn_size, + drop_rate=drop_rate, + memory_efficient=memory_efficient, + ) + self.add_module("denselayer%d" % (i + 1), layer) + + def forward(self, init_features): + features = [init_features] + for name, layer in self.items(): + new_features = layer(features) + features.append(new_features) + return nn.cat(features, 1) + + +class _Transition(nn.Sequential): + def __init__(self, num_input_features: int, num_output_features: int) -> None: + super().__init__() + self.add_module("relu", nn.ReLU()) + self.add_module("conv", nn.Conv2d(num_input_features, num_output_features, kernel_size=1, stride=1, bias=False)) + self.add_module("pool", nn.AvgPool2d(kernel_size=2, stride=2)) + + +class DenseNet(nn.Module): + r"""Densenet-BC model class, based on + `"Densely Connected Convolutional Networks" `_. + + Args: + growth_rate (int) - how many filters to add each layer (`k` in paper) + block_config (list of 4 ints) - how many layers in each pooling block + num_init_features (int) - the number of filters to learn in the first convolution layer + bn_size (int) - multiplicative factor for number of bottle neck layers + (i.e. bn_size * k features in the bottleneck layer) + drop_rate (float) - dropout rate after each dense layer + num_classes (int) - number of classification classes + memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient, + but slower. Default: *False*. See `"paper" `_. + """ + + def __init__( + self, + growth_rate: int = 32, + block_config: Tuple[int, int, int, int] = (6, 12, 24, 16), + num_init_features: int = 64, + bn_size: int = 4, + drop_rate: float = 0, + num_classes: int = 1000, + memory_efficient: bool = False, + ) -> None: + growth_rate = 1 + num_init_features = 1 + bn_size = 1 + + super().__init__() + + # First convolution + self.features = nn.Sequential( + OrderedDict( + [ + ("conv0", nn.Conv2d(1, num_init_features, kernel_size=7, stride=2, padding=3, bias=False)), + ("relu0", nn.ReLU()), + ("pool0", nn.MaxPool2d(kernel_size=3, stride=2, padding=1)), + ] + ) + ) + + # Each denseblock + num_features = num_init_features + for i, num_layers in enumerate(block_config): + block = _DenseBlock( + num_layers=num_layers, + num_input_features=num_features, + bn_size=bn_size, + growth_rate=growth_rate, + drop_rate=drop_rate, + memory_efficient=memory_efficient, + ) + self.features.add_module("denseblock%d" % (i + 1), block) + num_features = num_features + num_layers * growth_rate + if i != len(block_config) - 1: + trans = _Transition(num_input_features=num_features, num_output_features=max(num_features // 2, 1)) + self.features.add_module("transition%d" % (i + 1), trans) + num_features = max(num_features // 2, 1) + + self.relu = nn.ReLU() + self.avgpool = nn.AdaptiveAvgPool2d((1, 1)) + + # Linear layer + self.classifier = nn.Linear(num_features, num_classes) + + def forward(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + for name, layer in self.features.items(): + x = layer(x) + intermediates[name] = x + if insert_at == name: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + features = x + out = self.relu(features) + out = self.avgpool(out) + intermediates["avgpool"] = out + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + out = intermediate_x + out = nn.flatten(out, 1) + out = self.classifier(out) + intermediates["classifier"] = out + if insert_at == "classifier": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + out = intermediate_x + return out, intermediates + + +def _densenet( + arch: str, + growth_rate: int, + block_config: Tuple[int, int, int, int], + num_init_features: int, + pretrained: bool, + progress: bool, + **kwargs: Any, +) -> DenseNet: + model = DenseNet(growth_rate, block_config, num_init_features, **kwargs) + return model + + +def densenet121(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> DenseNet: + r"""Densenet-121 model from + `"Densely Connected Convolutional Networks" `_. + The required minimum input size of the model is 29x29. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient, + but slower. Default: *False*. See `"paper" `_. + """ + return _densenet("densenet121", 32, (6, 12, 24, 16), 64, pretrained, progress, **kwargs) + + +def densenet161(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> DenseNet: + r"""Densenet-161 model from + `"Densely Connected Convolutional Networks" `_. + The required minimum input size of the model is 29x29. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient, + but slower. Default: *False*. See `"paper" `_. + """ + return _densenet("densenet161", 48, (6, 12, 36, 24), 96, pretrained, progress, **kwargs) + + +def densenet169(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> DenseNet: + r"""Densenet-169 model from + `"Densely Connected Convolutional Networks" `_. + The required minimum input size of the model is 29x29. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient, + but slower. Default: *False*. See `"paper" `_. + """ + return _densenet("densenet169", 32, (6, 12, 32, 32), 64, pretrained, progress, **kwargs) + + +def densenet201(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> DenseNet: + r"""Densenet-201 model from + `"Densely Connected Convolutional Networks" `_. + The required minimum input size of the model is 29x29. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + memory_efficient (bool) - If True, uses checkpointing. Much more memory efficient, + but slower. Default: *False*. See `"paper" `_. + """ + return _densenet("densenet201", 32, (6, 12, 48, 32), 64, pretrained, progress, **kwargs) + + +class ConvNormActivation(nn.Sequential): + """ + Configurable block used for Convolution-Normalzation-Activation blocks. + + Args: + in_channels (int): Number of channels in the input image + out_channels (int): Number of channels produced by the Convolution- + Normalzation-Activation block + kernel_size: (int, optional): Size of the convolving kernel. Default: 3 + stride (int, optional): Stride of the convolution. Default: 1 + padding (int, tuple or str, optional): Padding added to all four sides + of the input. Default: None, in wich case it will calculated as + ``padding = (kernel_size - 1) // 2 * dilation`` + groups (int, optional): Number of blocked connections from input + channels to output channels. Default: 1 + norm_layer (Callable[..., nn.Module], optional): Norm layer that will be + stacked on top of the convolutiuon layer. If ``None`` this layer wont be + used. Default: ``nn.BatchNorm2d`` + activation_layer (Callable[..., nn.Module], optinal): Activation + function which will be stacked on top of the normalization layer + (if not None), otherwise on top of the conv layer. If ``None`` this + layer wont be used. Default: ``nn.ReLU`` + dilation (int): Spacing between kernel elements. Default: 1 + inplace (bool): Parameter for the activation layer, which can optionally + do the operation in-place. Default ``True`` + bias (bool, optional): Whether to use bias in the convolution layer. By + default, biases are included if ``norm_layer is None``. + + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + kernel_size: int = 3, + stride: int = 1, + padding: Optional[int] = None, + groups: int = 1, + norm_layer: Optional[Callable[..., nn.Module]] = nn.BatchNorm2d, + activation_layer: Optional[Callable[..., nn.Module]] = nn.ReLU, + dilation: int = 1, + inplace: Optional[bool] = True, + bias: Optional[bool] = None, + ) -> None: + norm_layer = None + if padding is None: + padding = (kernel_size - 1) // 2 * dilation + if bias is None: + bias = norm_layer is None + layers = [ + nn.Conv2d( + in_channels, + out_channels, + kernel_size, + stride, + padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + ] + if norm_layer is not None: + layers.append(norm_layer(out_channels)) + if activation_layer is not None: + params = {} if inplace is None else {"inplace": inplace} + layers.append(activation_layer(**params)) + super().__init__(*layers) + self.out_channels = out_channels + + +class SqueezeExcitation(nn.Module): + """ + This block implements the Squeeze-and-Excitation block from + https://arxiv.org/abs/1709.01507 (see Fig. 1). + Parameters ``activation``, and ``scale_activation`` correspond to ``delta`` + and ``sigma`` in in eq. 3. + + Args: + input_channels (int): Number of channels in the input image + squeeze_channels (int): Number of squeeze channels + activation (Callable[..., nn.Module], optional): ``delta`` activation. + Default: ``nn.ReLU`` + scale_activation (Callable[..., nn.Module]): ``sigma`` activation. + Default: ``nn.Sigmoid`` + """ + + def __init__( + self, + input_channels: int, + squeeze_channels: int, + activation: Callable[..., nn.Module] = nn.ReLU, + scale_activation: Callable[..., nn.Module] = nn.Sigmoid, + ) -> None: + super().__init__() + self.avgpool = nn.AdaptiveAvgPool2d(1) + self.fc1 = nn.Conv2d(input_channels, squeeze_channels, 1) + self.fc2 = nn.Conv2d(squeeze_channels, input_channels, 1) + self.activation = activation() + self.scale_activation = scale_activation() + + def _scale(self, input): + scale = self.avgpool(input) + scale = self.fc1(scale) + scale = self.activation(scale) + scale = self.fc2(scale) + return self.scale_activation(scale) + + def forward(self, input): + scale = self._scale(input) + return scale * input + + +class MBConvConfig: + # Stores information listed at Table 1 of the EfficientNet paper + def __init__( + self, + expand_ratio: float, + kernel: int, + stride: int, + input_channels: int, + out_channels: int, + num_layers: int, + width_mult: float, + depth_mult: float, + ) -> None: + self.expand_ratio = expand_ratio + self.kernel = kernel + self.stride = stride + width_mult = 1 + input_channels = out_channels = 1 + self.input_channels = self.adjust_channels(input_channels, width_mult) + self.out_channels = self.adjust_channels(out_channels, width_mult) + self.num_layers = self.adjust_depth(num_layers, depth_mult) + + def __repr__(self) -> str: + s = ( + f"{self.__class__.__name__}(" + f"expand_ratio={self.expand_ratio}" + f", kernel={self.kernel}" + f", stride={self.stride}" + f", input_channels={self.input_channels}" + f", out_channels={self.out_channels}" + f", num_layers={self.num_layers}" + f")" + ) + return s + + @staticmethod + def adjust_channels(channels: int, width_mult: float, min_value: Optional[int] = None) -> int: + return _make_divisible(channels * width_mult, 1, min_value) + + @staticmethod + def adjust_depth(num_layers: int, depth_mult: float): + return int(math.ceil(num_layers * depth_mult)) + + +class MBConv(nn.Module): + def __init__( + self, + cnf: MBConvConfig, + stochastic_depth_prob: float, + norm_layer: Callable[..., nn.Module], + se_layer: Callable[..., nn.Module] = SqueezeExcitation, + ) -> None: + super().__init__() + + if not (1 <= cnf.stride <= 2): + raise ValueError("illegal stride value") + + self.use_res_connect = cnf.stride == 1 and cnf.input_channels == cnf.out_channels + + layers: List[nn.Module] = [] + activation_layer = nn.SiLU + + # expand + expanded_channels = cnf.adjust_channels(cnf.input_channels, cnf.expand_ratio) + if expanded_channels != cnf.input_channels: + layers.append( + ConvNormActivation( + cnf.input_channels, + expanded_channels, + kernel_size=1, + norm_layer=norm_layer, + activation_layer=activation_layer, + ) + ) + + # depthwise + layers.append( + ConvNormActivation( + expanded_channels, + expanded_channels, + kernel_size=cnf.kernel, + stride=cnf.stride, + groups=expanded_channels, + norm_layer=norm_layer, + activation_layer=activation_layer, + ) + ) + + # squeeze and excitation + squeeze_channels = max(1, cnf.input_channels // 4) + layers.append(se_layer(expanded_channels, squeeze_channels, activation=partial(nn.SiLU, inplace=True))) + + # project + layers.append( + ConvNormActivation( + expanded_channels, cnf.out_channels, kernel_size=1, norm_layer=norm_layer, activation_layer=None + ) + ) + + self.block = nn.Sequential(*layers) + self.out_channels = cnf.out_channels + + def forward(self, input): + result = self.block(input) + if self.use_res_connect: + result += input + return result + + +class EfficientNet(nn.Module): + def __init__( + self, + inverted_residual_setting: List[MBConvConfig], + dropout: float, + stochastic_depth_prob: float = 0.2, + num_classes: int = 1000, + block: Optional[Callable[..., nn.Module]] = None, + norm_layer: Optional[Callable[..., nn.Module]] = None, + **kwargs: Any, + ) -> None: + """ + EfficientNet main class + + Args: + inverted_residual_setting (List[MBConvConfig]): Network structure + dropout (float): The droupout probability + stochastic_depth_prob (float): The stochastic depth probability + num_classes (int): Number of classes + block (Optional[Callable[..., nn.Module]]): Module specifying + inverted residual building block for mobilenet + norm_layer (Optional[Callable[..., nn.Module]]): Module specifying + the normalization layer to use + """ + super().__init__() + + if not inverted_residual_setting: + raise ValueError("The inverted_residual_setting should not be empty") + elif not ( + isinstance(inverted_residual_setting, Sequence) + and all(isinstance(s, MBConvConfig) for s in inverted_residual_setting) + ): + raise TypeError("The inverted_residual_setting should be List[MBConvConfig]") + + if block is None: + block = MBConv + + if norm_layer is None: + norm_layer = nn.BatchNorm2d + norm_layer = None + + layers: List[nn.Module] = [] + + # building first layer + firstconv_output_channels = inverted_residual_setting[0].input_channels + layers.append( + ConvNormActivation( + 1, firstconv_output_channels, kernel_size=3, stride=2, norm_layer=norm_layer, activation_layer=nn.SiLU + ) + ) + + # building inverted residual blocks + total_stage_blocks = sum(cnf.num_layers for cnf in inverted_residual_setting) + stage_block_id = 0 + for cnf in inverted_residual_setting: + stage: List[nn.Module] = [] + for _ in range(cnf.num_layers): + # copy to avoid modifications. shallow copy is enough + block_cnf = copy.copy(cnf) + + # overwrite info if not the first conv in the stage + if stage: + block_cnf.input_channels = block_cnf.out_channels + block_cnf.stride = 1 + + # adjust stochastic depth probability based on the depth of the + # stage block + sd_prob = stochastic_depth_prob * float(stage_block_id) / total_stage_blocks + + stage.append(block(block_cnf, sd_prob, norm_layer)) + stage_block_id += 1 + + layers.append(nn.Sequential(*stage)) + + # building last several layers + lastconv_input_channels = inverted_residual_setting[-1].out_channels + lastconv_output_channels = 1 * lastconv_input_channels + layers.append( + ConvNormActivation( + lastconv_input_channels, + lastconv_output_channels, + kernel_size=1, + norm_layer=norm_layer, + activation_layer=nn.SiLU, + ) + ) + + self.features = nn.Sequential(*layers) + self.avgpool = nn.AdaptiveAvgPool2d(1) + self.classifier = nn.Sequential( + nn.Linear(lastconv_output_channels, num_classes), + ) + + def _forward_impl(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + for name, layer in self.features.items(): + x = layer(x) + intermediates[name] = x + if insert_at == name: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = nn.flatten(x, 1) + + x = self.classifier(x) + intermediates["classifier"] = x + if insert_at == "classifier": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + return x, intermediates + + def forward(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + return self._forward_impl(x, intermediate_x, insert_at) + + +def _efficientnet( + arch: str, + width_mult: float, + depth_mult: float, + dropout: float, + pretrained: bool, + progress: bool, + **kwargs: Any, +) -> EfficientNet: + bneck_conf = partial(MBConvConfig, width_mult=width_mult, depth_mult=depth_mult) + inverted_residual_setting = [ + bneck_conf(1, 3, 1, 32, 16, 1), + bneck_conf(6, 3, 2, 16, 24, 2), + bneck_conf(6, 5, 2, 24, 40, 2), + bneck_conf(6, 3, 2, 40, 80, 3), + bneck_conf(6, 5, 1, 80, 112, 3), + bneck_conf(6, 5, 2, 112, 192, 4), + bneck_conf(6, 3, 1, 192, 320, 1), + ] + model = EfficientNet(inverted_residual_setting, dropout, **kwargs) + return model + + +def efficientnet_b0(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B0 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet("efficientnet_b0", 1.0, 1.0, 0.2, pretrained, progress, **kwargs) + + +def efficientnet_b1(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B1 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet("efficientnet_b1", 1.0, 1.1, 0.2, pretrained, progress, **kwargs) + + +def efficientnet_b2(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B2 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet("efficientnet_b2", 1.1, 1.2, 0.3, pretrained, progress, **kwargs) + + +def efficientnet_b3(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B3 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet("efficientnet_b3", 1.2, 1.4, 0.3, pretrained, progress, **kwargs) + + +def efficientnet_b4(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B4 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet("efficientnet_b4", 1.4, 1.8, 0.4, pretrained, progress, **kwargs) + + +def efficientnet_b5(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B5 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet( + "efficientnet_b5", + 1.6, + 2.2, + 0.4, + pretrained, + progress, + **kwargs, + ) + + +def efficientnet_b6(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B6 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet( + "efficientnet_b6", + 1.8, + 2.6, + 0.5, + pretrained, + progress, + **kwargs, + ) + + +def efficientnet_b7(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> EfficientNet: + """ + Constructs a EfficientNet B7 architecture from + `"EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + return _efficientnet( + "efficientnet_b7", + 2.0, + 3.1, + 0.5, + pretrained, + progress, + **kwargs, + ) + + +class SimpleStemIN(ConvNormActivation): + """Simple stem for ImageNet: 3x3, BN, ReLU.""" + + def __init__( + self, + width_in: int, + width_out: int, + norm_layer: Callable[..., nn.Module], + activation_layer: Callable[..., nn.Module], + ) -> None: + super().__init__( + width_in, width_out, kernel_size=3, stride=2, norm_layer=norm_layer, activation_layer=activation_layer + ) + + +class BottleneckTransform(nn.Sequential): + """Bottleneck transformation: 1x1, 3x3 [+SE], 1x1.""" + + def __init__( + self, + width_in: int, + width_out: int, + stride: int, + norm_layer: Callable[..., nn.Module], + activation_layer: Callable[..., nn.Module], + group_width: int, + bottleneck_multiplier: float, + se_ratio: Optional[float], + ) -> None: + layers: OrderedDict_T[str, nn.Module] = OrderedDict() + w_b = int(round(width_out * bottleneck_multiplier)) + g = w_b // group_width + + layers["a"] = ConvNormActivation( + width_in, w_b, kernel_size=1, stride=1, norm_layer=norm_layer, activation_layer=activation_layer + ) + layers["b"] = ConvNormActivation( + w_b, w_b, kernel_size=3, stride=stride, groups=g, norm_layer=norm_layer, activation_layer=activation_layer + ) + + if se_ratio: + # The SE reduction ratio is defined with respect to the + # beginning of the block + width_se_out = int(round(se_ratio * width_in)) + layers["se"] = SqueezeExcitation( + input_channels=w_b, + squeeze_channels=width_se_out, + activation=activation_layer, + ) + + layers["c"] = ConvNormActivation( + w_b, width_out, kernel_size=1, stride=1, norm_layer=norm_layer, activation_layer=None + ) + super().__init__(layers) + + +class ResBottleneckBlock(nn.Module): + """Residual bottleneck block: x + F(x), F = bottleneck transform.""" + + def __init__( + self, + width_in: int, + width_out: int, + stride: int, + norm_layer: Callable[..., nn.Module], + activation_layer: Callable[..., nn.Module], + group_width: int = 1, + bottleneck_multiplier: float = 1.0, + se_ratio: Optional[float] = None, + ) -> None: + super().__init__() + + # Use skip connection with projection if shape changes + self.proj = None + should_proj = (width_in != width_out) or (stride != 1) + if should_proj: + self.proj = ConvNormActivation( + width_in, width_out, kernel_size=1, stride=stride, norm_layer=norm_layer, activation_layer=None + ) + self.f = BottleneckTransform( + width_in, + width_out, + stride, + norm_layer, + activation_layer, + group_width, + bottleneck_multiplier, + se_ratio, + ) + self.activation = activation_layer(inplace=True) + + def forward(self, x): + if self.proj is not None: + x = self.proj(x) + self.f(x) + else: + x = x + self.f(x) + return self.activation(x) + + +class AnyStage(nn.Sequential): + """AnyNet stage (sequence of blocks w/ the same output shape).""" + + def __init__( + self, + width_in: int, + width_out: int, + stride: int, + depth: int, + block_constructor: Callable[..., nn.Module], + norm_layer: Callable[..., nn.Module], + activation_layer: Callable[..., nn.Module], + group_width: int, + bottleneck_multiplier: float, + se_ratio: Optional[float] = None, + stage_index: int = 0, + ) -> None: + super().__init__() + + for i in range(depth): + block = block_constructor( + width_in if i == 0 else width_out, + width_out, + stride if i == 0 else 1, + norm_layer, + activation_layer, + group_width, + bottleneck_multiplier, + se_ratio, + ) + + self.add_module(f"block{stage_index}-{i}", block) + + +class BlockParams: + def __init__( + self, + depths: List[int], + widths: List[int], + group_widths: List[int], + bottleneck_multipliers: List[float], + strides: List[int], + se_ratio: Optional[float] = None, + ) -> None: + self.depths = depths + self.widths = widths + self.group_widths = group_widths + self.bottleneck_multipliers = bottleneck_multipliers + self.strides = strides + self.se_ratio = se_ratio + + @classmethod + def from_init_params( + cls, + depth: int, + w_0: int, + w_a: float, + w_m: float, + group_width: int, + bottleneck_multiplier: float = 1.0, + se_ratio: Optional[float] = None, + **kwargs: Any, + ) -> "BlockParams": + """ + Programatically compute all the per-block settings, + given the RegNet parameters. + + The first step is to compute the quantized linear block parameters, + in log space. Key parameters are: + - `w_a` is the width progression slope + - `w_0` is the initial width + - `w_m` is the width stepping in the log space + + In other terms + `log(block_width) = log(w_0) + w_m * block_capacity`, + with `bock_capacity` ramping up following the w_0 and w_a params. + This block width is finally quantized to multiples of 8. + + The second step is to compute the parameters per stage, + taking into account the skip connection and the final 1x1 convolutions. + We use the fact that the output width is constant within a stage. + """ + + QUANT = 8 + STRIDE = 2 + + if w_a < 0 or w_0 <= 0 or w_m <= 1 or w_0 % 8 != 0: + raise ValueError("Invalid RegNet settings") + # Compute the block widths. Each stage has one unique block width + import torch + + widths_cont = torch.arange(depth) * w_a + w_0 + block_capacity = torch.round(torch.log(widths_cont / w_0) / math.log(w_m)) + block_widths = (torch.round(torch.divide(w_0 * torch.pow(w_m, block_capacity), QUANT)) * QUANT).int().tolist() + num_stages = len(set(block_widths)) + + # Convert to per stage parameters + split_helper = zip( + block_widths + [0], + [0] + block_widths, + block_widths + [0], + [0] + block_widths, + ) + splits = [w != wp or r != rp for w, wp, r, rp in split_helper] + + stage_widths = [w for w, t in zip(block_widths, splits[:-1]) if t] + stage_depths = torch.diff(torch.tensor([d for d, t in enumerate(splits) if t])).int().tolist() + + strides = [STRIDE] * num_stages + bottleneck_multipliers = [bottleneck_multiplier] * num_stages + group_widths = [group_width] * num_stages + + # Adjust the compatibility of stage widths and group widths + stage_widths, group_widths = cls._adjust_widths_groups_compatibilty( + stage_widths, bottleneck_multipliers, group_widths + ) + + return cls( + depths=stage_depths, + widths=stage_widths, + group_widths=group_widths, + bottleneck_multipliers=bottleneck_multipliers, + strides=strides, + se_ratio=se_ratio, + ) + + def _get_expanded_params(self): + return zip(self.widths, self.strides, self.depths, self.group_widths, self.bottleneck_multipliers) + + @staticmethod + def _adjust_widths_groups_compatibilty( + stage_widths: List[int], bottleneck_ratios: List[float], group_widths: List[int] + ) -> Tuple[List[int], List[int]]: + """ + Adjusts the compatibility of widths and groups, + depending on the bottleneck ratio. + """ + # Compute all widths for the current settings + widths = [int(w * b) for w, b in zip(stage_widths, bottleneck_ratios)] + group_widths_min = [min(g, w_bot) for g, w_bot in zip(group_widths, widths)] + + # Compute the adjusted widths so that stage and group widths fit + ws_bot = [_make_divisible(w_bot, g) for w_bot, g in zip(widths, group_widths_min)] + stage_widths = [int(w_bot / b) for w_bot, b in zip(ws_bot, bottleneck_ratios)] + return stage_widths, group_widths_min + + +class RegNet(nn.Module): + def __init__( + self, + block_params: BlockParams, + num_classes: int = 1000, + stem_width: int = 32, + stem_type: Optional[Callable[..., nn.Module]] = None, + block_type: Optional[Callable[..., nn.Module]] = None, + norm_layer: Optional[Callable[..., nn.Module]] = None, + activation: Optional[Callable[..., nn.Module]] = None, + ) -> None: + super().__init__() + + if stem_type is None: + stem_type = SimpleStemIN + if norm_layer is None: + norm_layer = None + if block_type is None: + block_type = ResBottleneckBlock + if activation is None: + activation = nn.ReLU + + # Ad hoc stem + self.stem = stem_type( + 1, # width_in + stem_width, + norm_layer, + activation, + ) + + current_width = stem_width + + blocks = [] + for i, ( + width_out, + stride, + depth, + group_width, + bottleneck_multiplier, + ) in enumerate(block_params._get_expanded_params()): + blocks.append( + ( + f"block{i + 1}", + AnyStage( + current_width, + width_out, + stride, + depth, + block_type, + norm_layer, + activation, + group_width, + bottleneck_multiplier, + block_params.se_ratio, + stage_index=i + 1, + ), + ) + ) + + current_width = width_out + + self.trunk_output = nn.Sequential(OrderedDict(blocks)) + + self.avgpool = nn.AdaptiveAvgPool2d((1, 1)) + self.fc = nn.Linear(in_features=current_width, out_features=num_classes) + + def forward(self, x, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + x = self.stem(x) + intermediates["stem"] = x + if insert_at == "stem": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + for name, layer in self.trunk_output.items(): + x = layer(x) + intermediates[name] = x + if insert_at == name: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = nn.flatten(x, start_dim=1) + x = self.fc(x) + intermediates["fc"] = x + if insert_at == "fc": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + + return x, intermediates + + +def _regnet(arch: str, block_params: BlockParams, pretrained: bool, progress: bool, **kwargs: Any) -> RegNet: + norm_layer = None + model = RegNet(block_params, norm_layer=norm_layer, **kwargs) + return model + + +def regnet_y_400mf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_400MF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=16, w_0=48, w_a=27.89, w_m=2.09, group_width=8, se_ratio=0.25, **kwargs) + return _regnet("regnet_y_400mf", params, pretrained, progress, **kwargs) + + +def regnet_y_800mf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_800MF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=14, w_0=56, w_a=38.84, w_m=2.4, group_width=16, se_ratio=0.25, **kwargs) + return _regnet("regnet_y_800mf", params, pretrained, progress, **kwargs) + + +def regnet_y_1_6gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_1.6GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params( + depth=27, w_0=48, w_a=20.71, w_m=2.65, group_width=24, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_1_6gf", params, pretrained, progress, **kwargs) + + +def regnet_y_3_2gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_3.2GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params( + depth=21, w_0=80, w_a=42.63, w_m=2.66, group_width=24, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_3_2gf", params, pretrained, progress, **kwargs) + + +def regnet_y_8gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_8GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params( + depth=17, w_0=192, w_a=76.82, w_m=2.19, group_width=56, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_8gf", params, pretrained, progress, **kwargs) + + +def regnet_y_16gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_16GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params( + depth=18, w_0=200, w_a=106.23, w_m=2.48, group_width=112, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_16gf", params, pretrained, progress, **kwargs) + + +def regnet_y_32gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_32GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params( + depth=20, w_0=232, w_a=115.89, w_m=2.53, group_width=232, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_32gf", params, pretrained, progress, **kwargs) + + +def regnet_y_128gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetY_128GF architecture from + `"Designing Network Design Spaces" `_. + NOTE: Pretrained weights are not available for this model. + """ + params = BlockParams.from_init_params( + depth=27, w_0=456, w_a=160.83, w_m=2.52, group_width=264, se_ratio=0.25, **kwargs + ) + return _regnet("regnet_y_128gf", params, pretrained, progress, **kwargs) + + +def regnet_x_400mf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_400MF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=22, w_0=24, w_a=24.48, w_m=2.54, group_width=16, **kwargs) + return _regnet("regnet_x_400mf", params, pretrained, progress, **kwargs) + + +def regnet_x_800mf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_800MF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=16, w_0=56, w_a=35.73, w_m=2.28, group_width=16, **kwargs) + return _regnet("regnet_x_800mf", params, pretrained, progress, **kwargs) + + +def regnet_x_1_6gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_1.6GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=18, w_0=80, w_a=34.01, w_m=2.25, group_width=24, **kwargs) + return _regnet("regnet_x_1_6gf", params, pretrained, progress, **kwargs) + + +def regnet_x_3_2gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_3.2GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=25, w_0=88, w_a=26.31, w_m=2.25, group_width=48, **kwargs) + return _regnet("regnet_x_3_2gf", params, pretrained, progress, **kwargs) + + +def regnet_x_8gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_8GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=23, w_0=80, w_a=49.56, w_m=2.88, group_width=120, **kwargs) + return _regnet("regnet_x_8gf", params, pretrained, progress, **kwargs) + + +def regnet_x_16gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_16GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=22, w_0=216, w_a=55.59, w_m=2.1, group_width=128, **kwargs) + return _regnet("regnet_x_16gf", params, pretrained, progress, **kwargs) + + +def regnet_x_32gf(pretrained: bool = False, progress: bool = True, **kwargs: Any) -> RegNet: + """ + Constructs a RegNetX_32GF architecture from + `"Designing Network Design Spaces" `_. + + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + params = BlockParams.from_init_params(depth=23, w_0=320, w_a=69.86, w_m=2.0, group_width=168, **kwargs) + return _regnet("regnet_x_32gf", params, pretrained, progress, **kwargs) + + +class LayerNorm2d(nn.LayerNorm): + def forward(self, x: nn.Tensor) -> nn.Tensor: + return x + + +class Permute(nn.Module): + def __init__(self, dims: List[int], identical_channels=False): + super().__init__() + self.dims = dims + self.identical_channels = identical_channels + + def forward(self, x): + x = x.transpose(self.dims) + if self.identical_channels: + x.identical_channels = True + return x + + +class CNBlock(nn.Module): + def __init__( + self, + dim, + layer_scale: float, + stochastic_depth_prob: float, + norm_layer: Optional[Callable[..., nn.Module]] = None, + ) -> None: + super().__init__() + if norm_layer is None: + norm_layer = partial(nn.LayerNorm, eps=1e-6) + + self.block = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3, groups=dim, bias=True), + Permute([0, 2, 3, 1]), + norm_layer(dim), + nn.Linear(in_features=dim, out_features=4 * dim, bias=True), + nn.GELU(), + nn.Linear(in_features=4 * dim, out_features=dim, bias=True), + Permute([0, 3, 1, 2], identical_channels=True), + ) + self.stochastic_depth = StochasticDepth(stochastic_depth_prob, "row") + + def forward(self, input: nn.Tensor) -> nn.Tensor: + result = self.block(input) + result = self.stochastic_depth(result) + result += input + return result + + +class CNBlockConfig: + # Stores information listed at Section 3 of the ConvNeXt paper + def __init__( + self, + input_channels: int, + out_channels: Optional[int], + num_layers: int, + ) -> None: + self.input_channels = input_channels + self.out_channels = out_channels + self.num_layers = num_layers + + def __repr__(self) -> str: + s = self.__class__.__name__ + "(" + s += "input_channels={input_channels}" + s += ", out_channels={out_channels}" + s += ", num_layers={num_layers}" + s += ")" + return s.format(**self.__dict__) + + +class ConvNeXt(nn.Module): + def __init__( + self, + block_setting: List[CNBlockConfig], + stochastic_depth_prob: float = 0.0, + layer_scale: float = 1e-6, + num_classes: int = 1000, + block: Optional[Callable[..., nn.Module]] = None, + norm_layer: Optional[Callable[..., nn.Module]] = None, + **kwargs: Any, + ) -> None: + super().__init__() + + if not block_setting: + raise ValueError("The block_setting should not be empty") + elif not (isinstance(block_setting, Sequence) and all([isinstance(s, CNBlockConfig) for s in block_setting])): + raise TypeError("The block_setting should be List[CNBlockConfig]") + + if block is None: + block = CNBlock + + if norm_layer is None: + norm_layer = partial(LayerNorm2d, eps=1e-6) + + layers: List[nn.Module] = [] + + # Stem + firstconv_output_channels = block_setting[0].input_channels + layers.append( + ConvNormActivation( + 1, # 3 + firstconv_output_channels, + kernel_size=4, + stride=4, + padding=0, + norm_layer=norm_layer, + activation_layer=None, + bias=True, + ) + ) + + total_stage_blocks = sum(cnf.num_layers for cnf in block_setting) + stage_block_id = 0 + for cnf in block_setting: + # Bottlenecks + stage: List[nn.Module] = [] + for _ in range(cnf.num_layers): + # adjust stochastic depth probability based on the depth of the stage block + sd_prob = stochastic_depth_prob * stage_block_id / (total_stage_blocks - 1.0) + stage.append(block(cnf.input_channels, layer_scale, sd_prob)) + stage_block_id += 1 + layers.append(nn.Sequential(*stage)) + if cnf.out_channels is not None: + # Downsampling + layers.append( + nn.Sequential( + norm_layer(cnf.input_channels), + nn.Conv2d(cnf.input_channels, cnf.out_channels, kernel_size=2, stride=2), + ) + ) + + self.features = nn.Sequential(*layers) + self.avgpool = nn.AdaptiveAvgPool2d(1) + + lastblock = block_setting[-1] + lastconv_output_channels = ( + lastblock.out_channels if lastblock.out_channels is not None else lastblock.input_channels + ) + self.classifier = nn.Sequential( + norm_layer(lastconv_output_channels), nn.Flatten(1), nn.Linear(lastconv_output_channels, num_classes) + ) + + def _forward_impl(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + intermediates = OrderedDict() + for name, layer in self.features.items(): + x = layer(x) + intermediates[name] = x + if insert_at == name: + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.avgpool(x) + intermediates["avgpool"] = x + if insert_at == "avgpool": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + x = self.classifier(x) + intermediates["classifier"] = x + if insert_at == "classifier": + intermediates = OrderedDict() + intermediates[insert_at] = intermediate_x + x = intermediate_x + return x, intermediates + + def forward(self, x: nn.Tensor, intermediate_x: Optional[nn.Tensor] = None, insert_at: Optional[str] = None): + assert not ((insert_at is None) ^ (intermediate_x is None)) + return self._forward_impl(x, intermediate_x, insert_at) + + +def _convnext( + arch: str, + block_setting: List[CNBlockConfig], + stochastic_depth_prob: float, + pretrained: bool, + progress: bool, + **kwargs: Any, +) -> ConvNeXt: + model = ConvNeXt(block_setting, stochastic_depth_prob=stochastic_depth_prob, **kwargs) + return model + + +def convnext_tiny(*, pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ConvNeXt: + r"""ConvNeXt Tiny model architecture from the + `"A ConvNet for the 2020s" `_ paper. + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + block_setting = [ + CNBlockConfig(96, 192, 3), + CNBlockConfig(192, 384, 3), + CNBlockConfig(384, 768, 9), + CNBlockConfig(768, None, 3), + ] + stochastic_depth_prob = kwargs.pop("stochastic_depth_prob", 0.1) + return _convnext("convnext_tiny", block_setting, stochastic_depth_prob, pretrained, progress, **kwargs) + + +def convnext_small(*, pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ConvNeXt: + r"""ConvNeXt Small model architecture from the + `"A ConvNet for the 2020s" `_ paper. + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + block_setting = [ + CNBlockConfig(96, 192, 3), + CNBlockConfig(192, 384, 3), + CNBlockConfig(384, 768, 27), + CNBlockConfig(768, None, 3), + ] + stochastic_depth_prob = kwargs.pop("stochastic_depth_prob", 0.4) + return _convnext("convnext_small", block_setting, stochastic_depth_prob, pretrained, progress, **kwargs) + + +def convnext_base(*, pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ConvNeXt: + r"""ConvNeXt Base model architecture from the + `"A ConvNet for the 2020s" `_ paper. + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + block_setting = [ + CNBlockConfig(128, 256, 3), + CNBlockConfig(256, 512, 3), + CNBlockConfig(512, 1024, 27), + CNBlockConfig(1024, None, 3), + ] + stochastic_depth_prob = kwargs.pop("stochastic_depth_prob", 0.5) + return _convnext("convnext_base", block_setting, stochastic_depth_prob, pretrained, progress, **kwargs) + + +def convnext_large(*, pretrained: bool = False, progress: bool = True, **kwargs: Any) -> ConvNeXt: + r"""ConvNeXt Large model architecture from the + `"A ConvNet for the 2020s" `_ paper. + Args: + pretrained (bool): If True, returns a model pre-trained on ImageNet + progress (bool): If True, displays a progress bar of the download to stderr + """ + block_setting = [ + CNBlockConfig(192, 384, 3), + CNBlockConfig(384, 768, 3), + CNBlockConfig(768, 1536, 27), + CNBlockConfig(1536, None, 3), + ] + stochastic_depth_prob = kwargs.pop("stochastic_depth_prob", 0.5) + return _convnext("convnext_large", block_setting, stochastic_depth_prob, pretrained, progress, **kwargs) diff --git a/pixpnet/utils.py b/pixpnet/utils.py new file mode 100644 index 0000000..16d8a37 --- /dev/null +++ b/pixpnet/utils.py @@ -0,0 +1,515 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + +""" +============================================================================ +Attribution for the function `is_pareto_efficient(...)` +(https://stackoverflow.blog/2009/06/25/attribution-required/): +============================================================================ +Question and answer from StackOverflow: + https://stackoverflow.com/q/32791911 + https://stackoverflow.com/a/40239615 +Thank you to the author of the question: + Lucien S. (https://stackoverflow.com/users/1208142/lucien-s) +Thank you to the author of the answer: + Peter (https://stackoverflow.com/users/851699/peter) +Thank you to the authors of the other answers: + hilberts_drinking_problem (https://stackoverflow.com/users/4585963/hilberts-drinking-problem) + elzurdo (https://stackoverflow.com/users/6763056/elzurdo) + jmmcd (https://stackoverflow.com/users/86465/jmmcd) + Ragheb (https://stackoverflow.com/users/5004778/ragheb) + Jean Claude (https://stackoverflow.com/users/14801243/jean-claude) + fabi lauchi (https://stackoverflow.com/users/8775937/fabi-lauchi) +============================================================================ +""" +import argparse +import importlib.util +import inspect +import logging +import os +import os.path as osp +import warnings +from collections import OrderedDict +from datetime import datetime +from math import log10 +from pprint import pformat +from typing import IO, Any, AnyStr, Optional, Sequence, Union + +import configargparse +import numpy as np +import yaml + +try: + from yaml import CBaseDumper as yaml_BaseDumper + from yaml import CBaseLoader as yaml_BaseLoader + from yaml import CDumper as yaml_Dumper + from yaml import CLoader as yaml_Loader + from yaml import CSafeDumper as yaml_SafeDumper + from yaml import CSafeLoader as yaml_SafeLoader +except ImportError: + from yaml import BaseDumper as yaml_BaseDumper + from yaml import BaseLoader as yaml_BaseLoader + from yaml import Dumper as yaml_Dumper + from yaml import Loader as yaml_Loader + from yaml import SafeDumper as yaml_SafeDumper + from yaml import SafeLoader as yaml_SafeLoader + + warnings.warn("Could not load CSafeLoader.") + + +# noinspection PyPep8Naming +def yaml_load( + stream: Union[IO, AnyStr], + Loader: Optional[yaml_BaseLoader] = None, + safe: Optional[bool] = None, + load_all: bool = False, +) -> Any: + """ + A wrapper function around PyYAML loading functions. By default, the + `yaml.SafeLoader` loader is used. If the C bindings for YAML functions + are available, then they are used instead of the Python implementations + (e.g., `yaml.CSafeLoader` is preferred over `yaml.SafeLoader`). + + :param stream: a file-like object supporting `read()` or any string + containing the YAML data to be loaded + :param Loader: the YAML loader class to use + :param safe: whether to use the `SafeLoader` or `Loader` loader. If a + loader is not provided, then `safe` defaults to `True`. Do not + provide this argument if you explicitly specify the `Loader` + :param load_all: whether to load all YAML documents in `stream` or just + the first one + :return: the loaded YAML as a Python object(s) + :raises ValueError: if both `Loader` and `safe` are specified + """ + if Loader is None: + if safe is None: + safe = True + elif safe is not None: + raise ValueError(f"If `Loader` is provided, then `safe` must be " f"`None`. However, `safe={safe}` was passed.") + load_func = yaml.load_all if load_all else yaml.load + loader = yaml_SafeLoader if safe else (Loader or yaml_Loader) + return load_func(stream, loader) + + +# noinspection PyPep8Naming +def yaml_dump( + data: Any, + stream: Optional[Union[IO, AnyStr]] = None, + Dumper: Optional[yaml_BaseDumper] = None, + safe: Optional[bool] = None, + dump_all: bool = False, + **kwargs, +) -> Optional[AnyStr]: + """ + A wrapper function around PyYAML dumping functions. By default, the + `yaml.SafeDumper` dumper is used. If the C bindings for YAML functions + are available, then they are used instead of the Python implementations + (e.g., `yaml.CSafeDumper` is preferred over `yaml.SafeDumper`). + + :param data: a Python object(s) to dump + :param stream: a file-like object supporting `read()` or any string + containing the YAML data to be loaded + :param Dumper: the YAML dumper class to use + :param safe: whether to use the `SafeLoader` or `Loader` loader. If a + loader is not provided, then `safe` defaults to `True`. Do not + provide this argument if you explicitly specify the `Loader` + :param dump_all: whether to dump a sequence of Python objects or just a + single object + :return: the dumped YAML as `str` or `bytes` depending on the optional + `encoding` kwarg + :raises ValueError: if both `Loader` and `safe` are specified + """ + if Dumper is None: + if safe is None: + safe = True + elif safe is not None: + raise ValueError(f"If `Dumper` is provided, then `safe` must be " f"`None`. However, `safe={safe}` was passed.") + dump_func = yaml.dump_all if dump_all else yaml.dump + dumper = yaml_SafeDumper if safe else (Dumper or yaml_Dumper) + return dump_func(data, stream=stream, Dumper=dumper, **kwargs) + + +def get_logger(name): + logging.basicConfig( + format="%(asctime)s[%(process)d][%(levelname)s] %(message)s", + datefmt="%Y-%m-%dT%H:%M:%S", + ) + logger = logging.getLogger(name) + logger.setLevel(os.environ.get("PIXPNET_LOG_LEVEL", "INFO")) + return logger + + +logged = set() + + +def log_once(printer, msg): + if msg in logged: + return + logged.add(msg) + printer(msg) + + +def ns_to_nested_ns(namespace): + if not isinstance(namespace, dict): + namespace = vars(namespace) + ns_nested = {} + for k, v in namespace.items(): + ks = k.split(".", 1) + if len(ks) == 1: + ns_nested[k] = v + else: + ka, kb = ks + ns_nested_a = ns_to_nested_ns({kb: v}) + if ka in ns_nested: + setattr(ns_nested[ka], kb, getattr(ns_nested_a, kb)) + else: + ns_nested[ka] = ns_nested_a + return configargparse.Namespace(**ns_nested) + + +def nested_ns_to_nested_dict(namespace): + d = { + k: nested_ns_to_nested_dict(v) if isinstance(v, configargparse.Namespace) else v + for k, v in vars(namespace).items() + } + return d + + +def flatten_nested_dict(d, prefix=""): + d_flat = {} + for k, v in d.items(): + k = ((prefix + ".") if prefix else "") + k + if isinstance(v, dict): + d_flat.update(flatten_nested_dict(v, prefix=k)) + else: + d_flat[k] = v + return d_flat + + +def get_all_func_args(func): + try: + argspec = inspect.getfullargspec(func) + except TypeError: # unsupported callable + return [] + is_cls = inspect.isclass(func) + all_args = argspec.args + argspec.kwonlyargs + if is_cls: + all_args = all_args[1:] # drop self + if argspec.varargs or argspec.varkw: + for super_ in func.__mro__[1:]: # exclude func cls + all_args.extend(get_all_func_args(super_)) + all_args = [*{*all_args}] + return all_args + + +def intersect_func_and_kwargs(func, kwargs, exclude_func_args=None, exclude_kwargs=None, return_invalid=True): + func_args = {*get_all_func_args(func)} - (set() if exclude_func_args is None else {*exclude_func_args}) + if isinstance(kwargs, argparse.Namespace): + kwargs = vars(kwargs) + kwargs_keys = {*kwargs.keys()} - (set() if exclude_kwargs is None else {*exclude_kwargs}) + + intersecting_keys = kwargs_keys & func_args + intersected_dict = {k: kwargs[k] for k in intersecting_keys} + if return_invalid: + return intersected_dict, kwargs_keys - func_args + return intersected_dict + + +def now_str(): + return datetime.now().isoformat(timespec="seconds").replace(":", "_") + + +def num_cpus(): + if "SLURM_CPUS_PER_TASK" in os.environ: + # Slurm env + try: + return int(os.environ["SLURM_CPUS_PER_TASK"]) + except ValueError: + raise RuntimeError( + f"Detected SLURM environment but " + f"$SLURM_CPUS_PER_TASK is not an int: " + f'{os.environ["SLURM_CPUS_PER_TASK"]}' + ) + elif "JOB_ID" in os.environ: + # assume SGE environment + base_err = ( + "Inferred that you are in an SGE environment (because " + f'$JOB_ID is set as {os.environ["JOB_ID"]}) but $NSLOTS ' + f"is not " + ) + try: + return int(os.environ["NSLOTS"]) + except KeyError: + raise RuntimeError(base_err + "set!") + except ValueError: + raise RuntimeError(base_err + f'an int ({os.environ["NSLOTS"]})!') + else: + # assume no scheduler (resource allocation) + return os.cpu_count() + + +class NestedYAMLConfigFileParser(configargparse.YAMLConfigFileParser): + def parse(self, stream, as_str=True, ignore_none=True): + # see ConfigFileParser.parse docstring + yaml = self._load_yaml() + if isinstance(yaml, tuple): + yaml = yaml[0] + + try: + parsed_obj = yaml.safe_load(stream) + except Exception as e: + raise configargparse.ConfigFileParserException("Couldn't parse config file: %s" % e) + + if not isinstance(parsed_obj, dict): + raise configargparse.ConfigFileParserException( + "The config file doesn't appear to " + "contain 'key: value' pairs (aka. a YAML mapping). " + "yaml.load('%s') returned type '%s' instead of 'dict'." + % (getattr(stream, "name", "stream"), type(parsed_obj).__name__) + ) + + if not ignore_none: + assert not as_str + result = self._parse_level(parsed_obj, as_str=as_str, ignore_none=ignore_none) + return result + + def _parse_level(self, parsed_obj, as_str, ignore_none): + result = OrderedDict() + for key, value in parsed_obj.items(): + if isinstance(value, list): + result[key] = value + elif isinstance(value, dict): + result_nested = self._parse_level(value, as_str, ignore_none) + for key_nested, value_nested in result_nested.items(): + result[key + "." + key_nested] = value_nested + elif ignore_none and value is None: + pass + else: + result[key] = str(value) if as_str else value + + return result + + +def load_module_copy(module_name): + # load a copy of a module to avoid any global consequences + module_spec = importlib.util.find_spec(module_name) + module = importlib.util.module_from_spec(module_spec) + module_spec.loader.exec_module(module) + return module + + +# noinspection PyUnresolvedReferences +def make_base_parser(description, sub_log_dir, proj_path): + parser = configargparse.ArgParser( + description=description, + config_file_parser_class=NestedYAMLConfigFileParser, + formatter_class=configargparse.ArgumentDefaultsHelpFormatter, + ) + parser.add("-c", "--config", is_config_file=True, help="config file path") + + parser.add("--seed", type=int, help="The random seed") + parser.add( + "--gpus", + type=int, + default=None, + help="The number of GPUs to use. If None, 1 GPU is used if " "available, otherwise code will be run CPU-only.", + ) + parser.add("--log-dir", default=osp.join(proj_path, "logs", sub_log_dir), help="The logging directory") + parser.add("--run-id", default=None, help="Identifier for this run that suffixes the subdirectory " "in --log-dir") + parser.add("--profile", action="store_true", help="profile code") + parser.add( + "--profiler", default="simple", choices=["simple", "advanced", "pytorch", "xla"], help="the profiler name" + ) + parser.add("--debug", action="store_true", help="debug flag") + + dataset = parser.add_argument_group("dataset") + dataset.add("--dataset.name", default="MNIST", type=str, help="The dataset name") + dataset.add("--dataset.val-size", default=0.2, type=float, help="The size of the validation split") + dataset.add( + "--dataset.augment-factor", default=1, type=int, help="The number of augmented images per training image" + ) + dataset.add("--dataset.root", help="The dataset root directory") + dataset.add( + "--dataset.crop-to-bbox", action="store_true", help="Crop applicable datasets to bounding box annotations" + ) + # shhh I am internal ignore me + dataset.add("--dataset.needs_unaugmented", help=argparse.SUPPRESS, type=bool, default=False) + + train = parser.add_argument_group("train") + train.add("--train.epochs", default=50, type=int, help="Number of epochs to train for") + train.add("--train.batch-size", type=int, default=128, help="Training batch size") + train.add( + "--train.accumulate-grad-batches", + type=int, + default=None, + help="Number of batches to accumulate gradients before backprop. " + "In effect, increases the batch size by this factor.", + ) + train.add( + "--train.checkpoint", + action="store_true", + default=False, + help="Checkpoint the model and save/restore the best-performing " "(on the validation set) for testing", + ) + train.add("--train.no-checkpoint", action="store_false", dest="train.checkpoint") + train.add("--train.gradient-clip-norm", type=float, default=None, help="Gradient clip norm value") + train.add( + "--train.hparam-tune", + action="store_true", + help="Tune hyperparameters before training (see " + "`pytorch_lightning.Trainer.tune` documentation for " + "details).", + ) + train.add( + "--train.stochastic-weight-averaging", + action="store_true", + help="Perform stochastic weight averaging during training.", + ) + train.add( + "--train.val-every-n-epoch", + type=int, + help="Evaluate validation set every n epochs. By default " "select a value that does not evaluate too often", + ) + + test = parser.add_argument_group("test") + test.add( + "--test.batch-size", + type=int, + default=None, + help="Testing batch size. Double that of training batch size by " "default (if None)", + ) + + optimizer = parser.add_argument_group("optimizer") + optimizer.add("--optimizer.name", default="sgd", help="optimizer name") + optimizer.add("--optimizer.lr", type=float, default=0.1, help="optimizer learning rate") + optimizer.add( + "--optimizer.lr-scheduler", + default="cosine", + choices=["cosine", "step", "multistep"], + help="The name of the learning rate scheduler", + ) + optimizer.add("--optimizer.lr-factor", default=0.1, type=float, help="Learning rate decay factor (step scheduler)") + optimizer.add( + "--optimizer.lr-schedule", + nargs="+", + default=[100, 150], + type=int, + help="Milestones when the learning rate is dropped " "by lr-factor (step scheduler)", + ) + optimizer.add( + "--optimizer.weight-decay", type=float, default=2e-4, help="Weight decay of the parameters (L2 penalty)" + ) + optimizer.add("--optimizer.momentum", type=float, default=0.9, help="Momentum of the optimizer (if applicable)") + optimizer.add( + "--optimizer.warmup-period", + type=int, + default=5, + help="The number of epochs to exponentially warm up the " "learning rate", + ) + + return parser, dataset, train, test, optimizer + + +def parse_args(parser, logger): + config = parser.parse_args() + config_nested = ns_to_nested_ns(config) + logger.info(parser.format_values()) + logger.info(pformat(nested_ns_to_nested_dict(config_nested))) + return config_nested + + +def parse_config_file(filename): + with open(filename, "r") as fp: + parsed = NestedYAMLConfigFileParser().parse(fp, as_str=False, ignore_none=False) + + config = argparse.Namespace() + for k, v in parsed.items(): + setattr(config, k, v) + + return ns_to_nested_ns(config) + + +def is_pareto_efficient( + costs: np.ndarray, + return_mask: bool = True, + maximize: Union[bool, Sequence[bool]] = True, +) -> np.ndarray: + """ + ============================================================================ + Attribution (https://stackoverflow.blog/2009/06/25/attribution-required/): + ============================================================================ + Question and answer from StackOverflow: + https://stackoverflow.com/q/32791911 + https://stackoverflow.com/a/40239615 + Thank you to the author of the question: + Lucien S. (https://stackoverflow.com/users/1208142/lucien-s) + Thank you to the author of the answer: + Peter (https://stackoverflow.com/users/851699/peter) + Thank you to the authors of the other answers: + hilberts_drinking_problem (https://stackoverflow.com/users/4585963/hilberts-drinking-problem) + elzurdo (https://stackoverflow.com/users/6763056/elzurdo) + jmmcd (https://stackoverflow.com/users/86465/jmmcd) + Ragheb (https://stackoverflow.com/users/5004778/ragheb) + Jean Claude (https://stackoverflow.com/users/14801243/jean-claude) + fabi lauchi (https://stackoverflow.com/users/8775937/fabi-lauchi) + ============================================================================ + + Find the pareto-efficient points + + :param costs: An (n_points, n_costs) array + :param return_mask: True to return a mask + :param maximize: True if maximizing + :return: An array of indices of pareto-efficient points. + If return_mask is True, this will be an (n_points, ) boolean array + Otherwise it will be a (n_efficient_points, ) integer array of indices. + """ + assert costs.ndim == 2 + costs_ = np.copy(costs) + costs_[np.isnan(costs_)] = np.inf + if isinstance(maximize, bool): + maximize = [maximize] * costs_.shape[1] + else: + assert len(maximize) == costs_.shape[1] + for i, maximize_col in enumerate(maximize): + if maximize_col: + costs_[:, i] = -costs_[:, i] + is_efficient, n_points = np.arange(costs_.shape[0]), costs_.shape[0] + next_point_index = 0 # Next index in the is_efficient array to search for + while next_point_index < len(costs_): + nondominated_point_mask = np.any(costs_ < costs_[next_point_index], axis=1) + nondominated_point_mask[next_point_index] = True + # Remove dominated points + is_efficient = is_efficient[nondominated_point_mask] + costs_ = costs_[nondominated_point_mask] + next_point_index = np.sum(nondominated_point_mask[:next_point_index]) + 1 + if return_mask: + is_efficient_mask = np.zeros(n_points, dtype=bool) + is_efficient_mask[is_efficient] = True + return is_efficient_mask + return is_efficient # else + + +def nondominating( + costs: np.ndarray, + maximize: Union[bool, Sequence[bool]] = True, +) -> np.ndarray: + mask = is_pareto_efficient(costs, maximize=maximize, return_mask=True) + return costs[mask] + + +def pretty_si_units(value, places=2): + if value == 0: + return "0" + prefixes = ["y", "z", "a", "f", "p", "n", "μ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"] + decades_div_3 = max(min(int(log10(value) // 3), 8), -8) + prefix = prefixes[decades_div_3 + 8] + space = " " if prefix else "" + value_si_raw = value / 1000**decades_div_3 + value_si = round(value_si_raw, places) + if value_si == 0: + value_si = round(value_si_raw, abs(int(log10(value_si_raw)))) + if value_si.is_integer(): + value_si = int(value_si) + return f"{value_si}{space}{prefix}" diff --git a/pixpnet/utils_torch.py b/pixpnet/utils_torch.py new file mode 100644 index 0000000..59520ec --- /dev/null +++ b/pixpnet/utils_torch.py @@ -0,0 +1,172 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# Copyright (c) PyTorch Contributors 2022 +# +# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: BSD-3-Clause + +import operator +from functools import reduce +from typing import Sequence, Tuple, Union + +import torch +from torch import Tensor +from torch.testing._internal.common_dtype import integral_types + +from pixpnet.utils import get_logger + +logger = get_logger(__name__) + + +# PyTorch native unravel_index issue is stale +# https://github.com/pytorch/pytorch/issues/35674 +# Borrowed from stale PR: +# https://github.com/pytorch/pytorch/pull/66687 +def unravel_index( + indices: Tensor, shape: Union[int, Sequence, Tensor], *, as_tuple: bool = True +) -> Union[Tuple[Tensor, ...], Tensor]: + r"""Converts a `Tensor` of flat indices into a `Tensor` of coordinates for + the given target shape. + Args: + indices: An integral `Tensor` containing flattened indices of a `Tensor` + of dimension `shape`. + shape: The shape (can be an `int`, a `Sequence` or a `Tensor`) of the + `Tensor` for which + the flattened `indices` are unraveled. + as_tuple: A boolean value, which if `True` will return the result as + tuple of Tensors, + else a `Tensor` will be returned. Default: `True` + Returns: + unraveled coordinates from the given `indices` and `shape`. See + description of `as_tuple` for returning a `tuple`. + .. note:: The default behaviour of this function is analogous to + `numpy.unravel_index + `_. + Example:: + >>> indices = torch.tensor([22, 41, 37]) + >>> shape = (7, 6) + >>> unravel_index(indices, shape) + (tensor([3, 6, 6]), tensor([4, 5, 1])) + >>> unravel_index(indices, shape, as_tuple=False) + tensor([[3, 4], + [6, 5], + [6, 1]]) + >>> indices = torch.tensor([3, 10, 12]) + >>> shape_ = (4, 2, 3) + >>> unravel_index(indices, shape_) + (tensor([0, 1, 2]), tensor([1, 1, 0]), tensor([0, 1, 0])) + >>> unravel_index(indices, shape_, as_tuple=False) + tensor([[0, 1, 0], + [1, 1, 1], + [2, 0, 0]]) + """ + + def _helper_type_check(inp: Union[int, Sequence, Tensor], name: str): + # `indices` is expected to be a tensor, while `shape` can be a + # sequence/int/tensor + if name == "shape" and isinstance(inp, Sequence): + for dim in inp: + if not isinstance(dim, int): + raise TypeError("Expected shape to have only integral elements.") + if dim < 0: + raise ValueError("Negative values in shape are not allowed.") + elif name == "shape" and isinstance(inp, int): + if inp < 0: + raise ValueError("Negative values in shape are not allowed.") + elif isinstance(inp, Tensor): + if inp.dtype not in integral_types(): + raise TypeError(f"Expected {name} to be an integral tensor, " f"but found dtype: {inp.dtype}") + if torch.any(inp < 0): + raise ValueError(f"Negative values in {name} are not allowed.") + else: + allowed_types = "Sequence/Scalar (int)/Tensor" if name == "shape" else "Tensor" + msg = f"{name} should either be a {allowed_types}, but found " f"{type(inp)}" + raise TypeError(msg) + + _helper_type_check(indices, "indices") + _helper_type_check(shape, "shape") + + # Convert to a tensor, with the same properties as that of indices + if isinstance(shape, Sequence): + shape_tensor: Tensor = indices.new_tensor(shape) + elif isinstance(shape, int) or (isinstance(shape, Tensor) and shape.ndim == 0): + shape_tensor = indices.new_tensor((shape,)) + else: + shape_tensor = shape + + # By this time, shape tensor will have dim = 1 if it was passed as scalar + # (see if-elif above) + assert shape_tensor.ndim == 1, ( + f"Expected dimension of shape tensor to be <= 1, but got the tensor " f"with dim: {shape_tensor.ndim}." + ) + + if indices.numel() == 0: + shape_numel = shape_tensor.numel() + if shape_numel == 0: + raise ValueError("Got indices and shape as empty tensors, expected " "non-empty tensors.") + else: + output = [indices.new_tensor([]) for _ in range(shape_numel)] + return tuple(output) if as_tuple else torch.stack(output, dim=1) + + if torch.max(indices) >= torch.prod(shape_tensor): + raise ValueError("Target shape should cover all source indices.") + + coefs = shape_tensor[1:].flipud().cumprod(dim=0).flipud() + coefs = torch.cat((coefs, coefs.new_tensor((1,))), dim=0) + coords = torch.div(indices[..., None], coefs, rounding_mode="trunc") % shape_tensor + + if as_tuple: + return tuple(coords[..., i] for i in range(coords.size(-1))) + return coords + + +def take_rf_from_bbox(rf_layer, fmap_h_start, fmap_w_start, proto_h, proto_w, proto_layer_stride): + # retrieve the corresponding feature map patch + fmap_h_start *= proto_layer_stride + fmap_h_end = fmap_h_start + proto_h + fmap_w_start *= proto_layer_stride + fmap_w_end = fmap_w_start + proto_w + return take_rf(rf_layer, fmap_h_start, fmap_h_end, fmap_w_start, fmap_w_end) + + +def take_rf(rf_layer, fmap_h_start, fmap_h_end, fmap_w_start, fmap_w_end): + # @formatter:off + rf_feat = rf_layer[0, :, fmap_h_start:fmap_h_end, fmap_w_start:fmap_w_end] + # @formatter:on + identical_channels = getattr(rf_feat, "identical_channels", None) + if identical_channels is None: + logger.warning("BIST: rf_layer did not have the identical_channels " "attribute!!!") + if identical_channels: + rf_feat = rf_feat[0] + elif rf_feat.shape[0] != 1: + logger.info("rf_feat does not have identical channels so we are " "taking the union of all channel elements!!!") + rf_feat = rf_feat.copy() + orig_shape = rf_feat.shape + rf_feat = rf_feat.reshape(orig_shape[0], -1) + for i in range(rf_feat.shape[1]): + rf_feat[:, i] = reduce(operator.or_, rf_feat[:, i]) + rf_feat = rf_feat.reshape(orig_shape) + # take the first channel as all channels are the same now + rf_feat = rf_feat[0, ...] + if rf_feat.size == 1: + rf_feat = rf_feat.item() + else: + raise NotImplementedError( + "rf_feat has a size > 1, this case is not handled right now. " + f"rf_layer.shape={rf_layer.shape} rf_feat.shape={rf_feat.shape} " + f"rf_feat.identical_channels={identical_channels}" + f"fmap_h_start,fmap_h_end,fmap_w_start,fmap_w_end=" + f"{(fmap_h_start, fmap_h_end, fmap_w_start, fmap_w_end)}\n" + f"rf_feat: {rf_feat}" + ) + return rf_feat + + +def slices_to_bboxes(slices: Sequence[Tuple[slice, slice, slice, slice]]): + bboxes = [] + for slices_i in slices: + n_s, c_s, h_s, w_s = slices_i + xy = (w_s.start, h_s.start) + width = w_s.stop - w_s.start + height = h_s.stop - h_s.start + bboxes.append((xy, width, height)) + return bboxes diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7b14e4f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,26 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +numpy +torch +torchvision +torchmetrics +pytorch-lightning +pytorch_warmup +tensorboard +configargparse +PyYAML +tqdm +fvcore +filelock + +# Notebooks +matplotlib +pandas +seaborn +adjustText + +# version comparisons +packaging +GitPython diff --git a/scripts/hackjobs.py b/scripts/hackjobs.py new file mode 100644 index 0000000..5bd7af3 --- /dev/null +++ b/scripts/hackjobs.py @@ -0,0 +1,237 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import os.path as osp +import re +from pprint import pprint + +import pandas as pd +import torch +from pytorch_lightning import LightningModule, Trainer +from torch.nn import functional as F +from torchmetrics import Accuracy + +proj_path = osp.dirname(osp.dirname(osp.realpath(__file__))) + +try: + import pixpnet +except ImportError: + import sys + + sys.path.append(proj_path) + + import pixpnet # noqa: F401 +finally: + from pixpnet.data import get_metadata + from pixpnet.lightning.lightning_data import LitData + from pixpnet.protonets.models import feature_extractor_zoo as zoo + from pixpnet.utils import now_str + + +class LitModel(LightningModule): + def __init__(self, hackjob_model: zoo.ModelHackjob, classifier_only=False): + super().__init__() + self.model = hackjob_model + self.classifier_only = classifier_only + if self.classifier_only: + for p in hackjob_model.parameters(): + p.requires_grad = False + self.model.module_dict.eval() + if hackjob_model.requires_training: + for p in hackjob_model.classifier.parameters(): + p.requires_grad = True + + acc_kws = {"task": "multiclass", "num_classes": hackjob_model.num_classes} + self.accuracy = Accuracy(**acc_kws) + self.accuracy_top5 = Accuracy(top_k=5, **acc_kws) + if self.model.multi_output: + self.test_accuracy = torch.nn.ModuleDict( + {name: Accuracy(**acc_kws) for name in self.model.last_module_name} + ) + self.test_accuracy_top5 = torch.nn.ModuleDict( + {name: Accuracy(top_k=5, **acc_kws) for name in self.model.last_module_name} + ) + else: + self.test_accuracy = Accuracy(**acc_kws) + self.test_accuracy_top5 = Accuracy(top_k=5, **acc_kws) + + def forward(self, x): + return self.model(x) + + def training_step(self, batch, batch_idx=None): + x, y = batch + pred = self(x) + if self.model.multi_output: + pred = [*pred.values()] + loss = sum(F.cross_entropy(pred_layer, y) for pred_layer in pred) + self.accuracy(pred[-1], y) + else: + loss = F.cross_entropy(pred, y) + self.accuracy(pred, y) + self.log("train_loss", loss) + self.log("train_accuracy__last", self.accuracy, prog_bar=True) + return loss + + def test_step(self, batch, batch_idx=None, dataset_idx=None): + x, y = batch + pred = self(x) + metric_kwargs = dict(on_step=True, on_epoch=True, sync_dist=True) + if self.model.multi_output: + for name in self.model.last_module_name: + self.test_accuracy[name](pred[name], y) + self.test_accuracy_top5[name](pred[name], y) + self.log(f"{name}__test_accuracy", self.test_accuracy[name], **metric_kwargs) + self.log(f"{name}__test_accuracy_top5", self.test_accuracy_top5[name], **metric_kwargs) + else: + self.test_accuracy(pred, y) + self.test_accuracy_top5(pred, y) + self.log(f"{self.model.last_module_name}__test_accuracy", self.test_accuracy, **metric_kwargs) + self.log(f"{self.model.last_module_name}__test_accuracy_top5", self.test_accuracy_top5, **metric_kwargs) + + def configure_optimizers(self): + assert self.model.classifier is not None + params = ( + self.model.classifier_parameters() + if self.classifier_only + else [{"params": p["params"], "lr": 1e-3} for p in self.model.classifier_parameters()] + + [{"params": self.model.feature_extractor_parameters(), "lr": 1e-3}] + ) + return torch.optim.Adam(params, lr=0.001) + + +def pretty_key(key: str): + return re.sub(r"(^[a-z]|[_ ][a-z])", lambda m: m.group().upper().replace("_", " "), key) + + +# noinspection PyPep8Naming +class config: + debug = False + + # noinspection PyPep8Naming + class dataset: + needs_unaugmented = False + val_size = 0 # no tuning, so no validation set + name = "imagenette" + augment_factor = 1 + root = None + + # noinspection PyPep8Naming + class train: + batch_size = 32 + + # noinspection PyPep8Naming + class test: + batch_size = 32 + + +def evaluate_hackjob(model_name, data, epochs=2): + print("Get metadata") + metadata = get_metadata(config) + num_classes = metadata.output_size + + joint = False + print(f"joint = {joint}") + predict_module_names = None + idx = 0 + tot = 1 + all_results = [] + + while idx < tot: + print("Load feature extractor") + base_model = zoo.get_feature_extractor_base(model_name, pretrained=True) + + if predict_module_names is None: + predict_module_names = base_model.predict_module_names + if joint: + predict_module_names = [predict_module_names] + tot = len(predict_module_names) + predict_module_name = predict_module_names[idx] + + print(f"predict_module_name={predict_module_name}") + + print(f"Create hackjob model for {model_name}") + hackjob_model = zoo.ModelHackjob( + base_model, + last_module_name=predict_module_name, + num_classes=num_classes, + ) + + print("Create trainer") + trainer = Trainer( + accelerator="auto", + max_epochs=epochs, + devices=1 if torch.cuda.is_available() else None, + ) + + print("Create LitModel") + model = LitModel(hackjob_model) + + if hackjob_model.requires_training: + print("we need to train") + trainer.fit(model, data) + + print("evaluation time") + predict_module_name_ = [predict_module_name] if isinstance(predict_module_name, str) else predict_module_name + result_all_layers = {} + for k, v in trainer.test(model, data)[0].items(): + layer, metric = k.split("__") + assert layer in predict_module_name_ + result_all_layers[layer] = result_all_layers.get(layer, {}) + result_all_layers[layer][pretty_key(metric)] = v + + mod_seq_list = [*base_model.module_sequence.keys()] + for layer_name in predict_module_name_: + result = result_all_layers[layer_name] + result["Dataset"] = config.dataset.name + result["Height"] = metadata.input_size + result["Width"] = metadata.input_size + result["Stage #"] = mod_seq_list.index(layer_name) + 1 + result["Stage Name"] = layer_name + result["Model"] = model_name + all_results.append(result) + + idx += 1 + + pprint(all_results) + + return all_results + + +def run(): + import argparse + import os + import shutil + + parser = argparse.ArgumentParser() + parser.add_argument("--filter", default=None) + parser.add_argument("--epochs", default=10, type=int) + parser.add_argument("--debug", action="store_true") + args = parser.parse_args() + + result_dir = os.path.join(os.path.dirname(__file__), "../results/hackjob") + if args.debug: + config.dataset.name = "CIFAR10" + result_dir += "_DEBUGGING" + + os.makedirs(result_dir, exist_ok=True) + + print("Get datasets") + data = LitData(config) + + all_results = [] + for model_name in zoo.supported_models: + if args.filter and args.filter not in model_name: + continue + all_results.extend(evaluate_hackjob(model_name, data, epochs=args.epochs)) + + save_path = os.path.join(result_dir, f"hackjob_results_{now_str()}.csv") + print(save_path) + pd.DataFrame(all_results).to_csv(save_path, index=False) + + if args.debug: + shutil.rmtree(result_dir) + + +if __name__ == "__main__": + run() diff --git a/scripts/run_protonet.py b/scripts/run_protonet.py new file mode 100644 index 0000000..fa7e995 --- /dev/null +++ b/scripts/run_protonet.py @@ -0,0 +1,165 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import os.path as osp + +proj_path = osp.dirname(osp.dirname(osp.realpath(__file__))) + +try: + import pixpnet +except ImportError: + import sys + + sys.path.append(proj_path) + + import pixpnet # noqa: F401 + + +def main(): + from pixpnet.utils import make_base_parser, parse_args + + parser, dataset, train, test, optimizer = make_base_parser("Run protonet pipeline", "protonet", proj_path) + + parser.add( + "--tb-logging", action="store_true", help="Verbose logging of activations and gradients for " "TensorBoard" + ) + + model = parser.add_argument_group("model") + model.add("--model.name", required=True, choices=["protonet"], help="name of the model") + model.add("--model.feature-extractor", required=True, help="name of the feature extractor") + model.add("--model.feature-layer", default=None, help="name of the feature extractor layer to use") + model.add( + "--model.pretrained", + action="store_true", + default=True, + help="whether the feature extractor should be pretrained on " "ImageNet", + ) + model.add("--model.no-pretrained", action="store_false", dest="model.pretrained") + model.add("--model.num-prototypes", type=int, default=500, help="the number of prototypes in the protonet") + model.add("--model.prototype-dim", type=int, default=512, help="the dimensionality of the prototypes") + model.add( + "--model.prototype-kernel-size", + type=int, + default=1, + help="the kernel size of the prototypes (size of patches in " "latent space)", + ) + model.add( + "--model.init-weights", + action="store_true", + default=True, + help="whether to initialize the weights of the protonet", + ) + model.add("--model.no-init-weights", action="store_false", dest="model.init_weights") + model.add( + "--model.prototype-activation", + choices=["log", "linear"], + default="log", + help="the prototype activation function", + ) + model.add( + "--model.add-on-layers-type", + default="regular", + choices=["regular", "bottleneck"], + help="the type of add-on layers after the feature extractor to " "change channel size", + ) + model.add( + "--model.epsilon", + type=float, + default=1e-6, + help="the epsilon value in the divisor of the log prototype " "activation function", + ) + model.add( + "--model.learn-prototypes", + action="store_true", + default=True, + help="whether to learn prototypes by gradient descent", + ) + model.add("--model.no-learn-prototypes", action="store_false", dest="model.learn_prototypes") + model.add( + "--model.incorrect-strength", + type=float, + default=-0.5, + help="the initialization strength of incorrect connections in " "the readout weights (class-wise connections)", + ) + model.add( + "--model.correct-strength", + type=float, + default=1.0, + help="the initialization strength of correct connections in " "the readout weights (class-wise connections)", + ) + model.add( + "--model.class-specific", + action="store_true", + default=True, + help="whether model and its training should have class-specific " "prototypes", + ) + model.add("--model.no-class-specific", action="store_false", dest="model.class_specific") + model.add( + "--model.readout-type", default="linear", choices=["linear", "sparse", "proto"], help="The readout layer type" + ) + model.add( + "--model.distance", + default="l2", + choices=["l2", "cosine"], + help="The distance metric used between latent patches and " "prototypes", + ) + + train.add( + "--train.push-prototypes", + action="store_true", + default=True, + help="replace prototypes every --train.push-every epochs", + ) + train.add("--train.no-push-prototypes", action="store_false", dest="train.push_prototypes") + train.add("--train.push-every", type=int, default=10, help="replace prototypes every X epochs if pushing enabled") + train.add( + "--train.readout-push-epochs", + type=int, + default=20, + help="if replacing prototypes, train readout layer for this many " "epochs", + ) + train.add( + "--train.push-duplicate-filter", + default="sample", + choices=["sample", "patch", "none"], + help="if replacing prototypes, whether and how to prevent " "duplicate prototype assignment", + ) + + optimizer.add( + "--optimizer.fine-tune-lr", + type=float, + default=1e-4, + help="fine-tuning learning rate of the feature extractor " "(if pretrained)", + ) + optimizer.add("--optimizer.readout-lr", type=float, default=1e-4, help="readout/classification layer learning rate") + + loss = parser.add_argument_group("loss") + loss.add("--loss.xent", type=float, default=1.0, help="loss term coefficient for xent loss") + loss.add("--loss.cluster", type=float, default=0.8, help="loss term coefficient for cluster loss") + loss.add("--loss.separation", type=float, default=0.08, help="loss term coefficient for separation loss") + loss.add("--loss.l1", type=float, default=1e-4, help="loss term coefficient for l1 loss") + + from pixpnet.utils import get_logger + + logger = get_logger("run_protonet") + config_nested = parse_args(parser, logger) + + # set needs_unaugmented appropriately + config_nested.dataset.needs_unaugmented = config_nested.train.push_prototypes + + # now that args have been parsed load the heavier modules + # > TensorFlow needs to be imported before PyTorch Lightning! + # https://github.com/pytorch/pytorch/issues/81140#issuecomment-1230524321 + try: + import tensorflow as tf # noqa + except ImportError: + pass + from pixpnet.pipeline import run + from pixpnet.protonets.lit_model import ProtoFitLoop, ProtoLitModel + + run(config_nested, ProtoLitModel, ProtoFitLoop) + + +if __name__ == "__main__": + main() diff --git a/tests/test_entry_scripts.py b/tests/test_entry_scripts.py new file mode 100644 index 0000000..27d7dab --- /dev/null +++ b/tests/test_entry_scripts.py @@ -0,0 +1,37 @@ +# Copyright (c) 2022-2023 Mitsubishi Electric Research Laboratories (MERL) +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +import os.path as osp +import sys +import unittest + +proj_path = osp.dirname(osp.dirname(osp.realpath(__file__))) + +try: + import scripts +except ImportError: + sys.path.append(proj_path) + + import scripts # noqa: F401 +finally: + from scripts.hackjobs import run as run_hackjobs + from scripts.run_protonet import main as run_protonet + + +def test_run_protonet(): + argv_orig = sys.argv.copy() + sys.argv.extend(["-c", "configs/protonets/proto-cifar10-dummy.yaml"]) + run_protonet() + sys.argv = argv_orig + + +def test_hackjobs(): + argv_orig = sys.argv.copy() + sys.argv.extend(["--epochs", "1", "--filter", "vgg11_bn", "--debug"]) + run_hackjobs() + sys.argv = argv_orig + + +if __name__ == "__main__": + unittest.main()

    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

    =2MC`|S(6+Ngcj%uxlEy=u-7Iif|&@%W2He~tr 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 Fn$3n3{e@Cv$SCBi} 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 i}F2?IWPOHze`h$f2 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