diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..d4de784
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,17 @@
+storage/
+!storage/constants/
+tests/
+demos/
+logs/
+notebooks/
+scripts/
+**/*_*cache*_*
+/.*
+*.lock
+*.ini
+*.toml
+*.md
+!pyproject.toml
+!poetry.lock
+!README.md
+Dockerfile
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..1e1dd28
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,34 @@
+root = true
+
+[*]
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+charset = utf-8
+indent_style = tab
+indent_size = 2
+
+# YAML doesn't support hard tabs
+# Templates that will be weird with hard tabs in the website editor
+[*.{yml,yaml,md}]
+indent_style = space
+indent_size = 2
+
+# Force python to be as python demands
+[*.{py,ipynb}]
+indent_size = 4
+indent_style = space
+
+[{**.*sh}]
+indent_size = 2
+indent_style = tab
+
+shell_variant = bash
+binary_next_line = false # like -bn
+switch_case_indent = true # like -ci
+space_redirects = true # like -sr
+keep_padding = false # like -kp
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/.flake8 b/.flake8
new file mode 100644
index 0000000..a3f985a
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,130 @@
+[flake8]
+extend-ignore =
+ # Allow function call as argument default
+ B008,
+ # Do not enforce trailing comma (lets Black decide what is best)
+ C812,C813,C814,C815,C816,C818,C819,
+ # Don't ask for docstring at top of module --- put it in the functions/classes
+ D100,
+ # Do not check for docstring within __init__ method
+ D107,
+ # Ignore whitespace before ';'
+ E203,
+ # Don't ask about line length, Black recommends using bugbear B950 instead
+ E501,
+ # Stop finding commented out code because it's mistaking shape annotations for code
+ E800,
+ # Let pre-commit complain about sorting
+ I,
+ # Don't complain about asserts
+ S101,
+ # Stop complaining about using functions from random
+ S311,
+ # Ignore errors for internal mypy traceback, stderr output, or an unmatched line.
+ T499,
+ # Do not complain about line-break before binary operator (caused by Black)
+ W503,
+ # Do not warn on too many imports.
+ WPS201,
+ # Do not warn on too many module members
+ WPS202,
+ # Do not warn when too many arguments in functions
+ WPS211,
+ # Do not warn on too many methods
+ WPS214,
+ # Allow lots of importing from the same module --- it can happen and thats okay!
+ WPS235,
+ # Do not warn on complex f-string
+ WPS237,
+ # Allow relative module references
+ WPS300,
+ # Allow f-strings
+ WPS305,
+ # Do not force base classes to inherit object
+ WPS306,
+ # Allow return statement that simply returns a prior statement
+ WPS331,
+ # Allow new lines to start with a dot (caused by Black)
+ WPS348,
+ # Allow logic in __init__ modules
+ WPS412,
+ # Google Python style is not RST until after processed by Napoleon
+ # See https://github.com/peterjc/flake8-rst-docstrings/issues/17
+ RST201,RST203,RST301,
+ # It happens too often
+ C416, C419,
+ # This is new and cba to change the repo
+ S113
+extend-select =
+ # Should raise AssertionError instead of assert False
+ B011,
+ # Use of break, continue or return in finally blocks will silence exceptions.
+ B012,
+ # Redundant exception types in except
+ B014,
+ # Pointless comparisons
+ B015,
+ # Cannot raise a literal
+ B016,
+ # Do not use `self.assertRaises(Exception)`
+ B017,
+ # Find useless expressions
+ B018,
+ # Use namedtuple instead of dataclass when only `__init__` attributes are set
+ B903,
+ # Within an except clause, raise exceptions with `raise ... from err` or `raise ...
+ # from None` to distinguish them from errors in exception handling
+ B904,
+ # Counterpart to W503, enforce having the operator at the start of a new line.
+ W504,
+
+max-line-length = 99
+max-complexity = 18
+max-methods = 10
+max-line-complexity = 18
+max-local-variables = 20
+max-expressions = 20
+max-function-expressions = 10
+max-module-expressions = 20
+max-string-usages = 10
+max-annotation-complexity = 4
+min-name-length = 1
+max-try-body-length = 2
+exps-for-one-empty-line = 1
+show-violation-links = true
+format = wemake
+
+# Black enforces double quotes.
+inline-quotes = double
+
+docstring-convention = google
+
+# Darglint
+docstring_style = google
+strictness = long
+
+nested-classes-whitelist =
+ Meta
+ Params
+ Config
+
+allowed-domain-names =
+ data
+ utils
+ util
+ obj
+ params
+
+per-file-ignores =
+ src/*/_version.py:WPS410
+ src/**/__init__.py:D,F401,WPS436
+ tests/*:D,F401,WPS118,WPS202,WPS204,WPS214,WPS218,WPS226,WPS231,WPS232,WPS235,WPS301,WPS432,WPS437,WPS442,S101
+ scripts/update_torch_cuda.py:S404,S603,S607,WPS323,WPS333,WPS432,WPS433,WPS459
+
+extend-exclude=
+ .venv/,
+ *_cache/,
+ .cache/,
+ logs/,
+ storage/,
+ docs/
diff --git a/.github/labels.yml b/.github/labels.yml
new file mode 100644
index 0000000..9b1b308
--- /dev/null
+++ b/.github/labels.yml
@@ -0,0 +1,90 @@
+---
+# Labels names are important as they are used by Release Drafter to decide
+# regarding where to record them in changelog or if to skip them.
+#
+# The repository labels will be automatically configured using this file and
+# the GitHub Action https://github.com/marketplace/actions/github-labeler.
+## more info https://github.com/crazy-max/ghaction-github-labeler
+
+# ------------------------- Conventional Commit types ------------------------ #
+# From https://github.com/commitizen/conventional-commit-types/blob/master/index.json
+
+- name: feature
+ description: A new enhancement or feature
+ color: 0A8844
+ from_name: "enhancement"
+
+- name: fix
+ description: A bug fix
+ color: d23832
+ from_name: "bug"
+
+- name: documentation
+ description: Documentation changes only
+ color: F695C4
+
+- name: style
+ description: Changes that do not affect meaning of code (formatting, etc.)
+ color: FBCA0C
+
+- name: refactor
+ description: Code change that neither fixes a bug nor adds a feature
+ color: FBCA0C
+ from_name: refactoring
+
+- name: performance
+ description: Code change that improves performance
+ color: F2A33C
+
+- name: test
+ description: Adding missing tests or correcting existing tests
+ color: EE328E
+
+- name: build
+ description: Changes that affect the build system or external dependencies
+ color: 962EDD
+
+- name: continuous integration
+ description: Changes to CI configuration and scripts
+ color: FCBFE3
+
+- name: chore
+ description: Other changes that don't modify src or test files
+ color: A8D8F0
+
+- name: revert
+ description: Revert a previous commit
+ color: A8D8F0
+
+- name: backwards incompatible
+ description: incompatible changes to how the application works
+ color: AB2232
+
+- name: question
+ description: Further information is requested
+ color: EE328E
+
+# ------------------------------- Dependencies ------------------------------- #
+- name: dependencies
+ description: Pull requests that update dependencies
+ color: 0366d6
+
+# ------------------------------ Utility labels ------------------------------ #
+- name: automerge
+ color: "ffffff"
+ description: "Automerge this PR"
+
+- name: "stale"
+ color: "ffffff"
+ description: ""
+# - name: duplicate
+# description: This issue or pull request already exists
+# color: ffffff
+
+# - name: invalid
+# description: This doesn't seem right
+# color: ffffff
+
+# - name: wontfix
+# description: This will not be worked on
+# color: ffffff
diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml
new file mode 100644
index 0000000..1e43cf0
--- /dev/null
+++ b/.github/workflows/build-image.yml
@@ -0,0 +1,68 @@
+name: Build and push images
+
+on:
+ workflow_call:
+ workflow_dispatch:
+ release:
+ types: [published]
+
+env:
+ PYTHON_VERSION: 3.9
+ REGISTRY: ghcr.io
+ BASE_IMAGE: emma-heriot-watt/base:latest
+ BUILDER_IMAGE: emma-heriot-watt/builder:latest
+ REPOSITORY: emma-heriot-watt/policy
+
+jobs:
+ build_image:
+ name: Build and push image
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ torch_version_suffix: ["", "+cu113"]
+
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Check out the repository
+ uses: actions/checkout@v4
+
+ - name: Define image suffix
+ id: image-tag
+ env:
+ TORCH_VERSION_SUFFIX: ${{ matrix.torch_version_suffix }}
+ run: |
+ if [ -z "$TORCH_VERSION_SUFFIX" ]; then
+ TORCH_VERSION_SUFFIX="+cpu"
+ fi
+ IMAGE_TAG=$(echo "$TORCH_VERSION_SUFFIX" | tr -d "+")
+ echo "tag=$IMAGE_TAG" >> "$GITHUB_OUTPUT"
+
+ - name: Log in to the Container registry
+ uses: docker/login-action@v3
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Extract metadata (tags, labels) for Docker
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.REGISTRY }}/${{ env.REPOSITORY }}
+ tags: |
+ ${{ steps.image-tag.outputs.tag }}
+
+ - name: Build and push image
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ build-args: |
+ BASE_IMAGE_NAME=${{ env.REGISTRY }}/${{ env.BASE_IMAGE }}
+ BUILDER_IMAGE_NAME=${{ env.REGISTRY }}/${{ env.BUILDER_IMAGE }}
+ TORCH_VERSION_SUFFIX=${{ matrix.torch_version_suffix }}
diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml
new file mode 100644
index 0000000..67bd6ff
--- /dev/null
+++ b/.github/workflows/continuous_integration.yml
@@ -0,0 +1,169 @@
+name: Continuous Integration
+
+on:
+ workflow_dispatch:
+ workflow_call:
+ pull_request:
+ types: [opened, reopened, synchronize, ready_for_review]
+ branches: [main]
+
+env:
+ PYTHON_VERSION: 3.9
+
+jobs:
+ changes:
+ name: Check for Python file changes
+ runs-on: ubuntu-latest
+ if: ${{ !github.event.pull_request.draft }}
+ outputs:
+ python: ${{steps.filter.outputs.python}}
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ python:
+ - '**/*.py'
+ - 'pyproject.toml'
+ - 'poetry.lock'
+ - '.github/workflows/continuous_integration.yml'
+ - '.mypy.ini'
+ - '.flake8'
+
+ typecheck:
+ name: Type check Python
+ needs: [changes]
+ if: ${{needs.changes.outputs.python == 'true' && !github.event.pull_request.draft }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout the repository
+ uses: actions/checkout@v4
+
+ - name: Setup reviewdog
+ uses: reviewdog/action-setup@v1
+
+ - name: Install Poetry
+ run: pipx install poetry
+
+ - name: Set up Python ${{ env.PYTHON_VERSION }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ env.PYTHON_VERSION }}
+ cache: "poetry"
+
+ - name: Install dependencies
+ run: poetry install
+
+ - name: Load mypy cache
+ uses: actions/cache@v3
+ id: mypy-cache
+ with:
+ path: .mypy_cache
+ key: ${{ runner.os }}-mypy-cache-${{ hashFiles('poetry.lock') }}-${{hashFiles('pyproject.toml') }}
+ restore-keys: |
+ ${{ runner.os }}-mypy-cache-${{ hashFiles('poetry.lock') }}-${{hashFiles('pyproject.toml') }}
+ ${{ runner.os }}-mypy-cache-
+
+ - name: Run mypy with reviewdog
+ env:
+ REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_EVENT_NAME: ${{ github.event_name }}
+ run: |
+ exit_val="0"
+ [[ $GITHUB_EVENT_NAME == "pull_request" ]] && reporter="github-pr-review" || reporter="github-check"
+ poetry run mypy \
+ --show-column-numbers \
+ --show-absolute-path \
+ --no-error-summary . 2>&1 | reviewdog \
+ -efm="%f:%l:%c: %t%*[^:]: %m" \
+ -name="mypy" \
+ -filter-mode=nofilter \
+ -fail-on-error \
+ -reporter="${reporter}" || exit_val="$?"
+ if [[ "${exit_val}" -ne '0' ]]; then
+ exit 1
+ fi
+
+ lint:
+ name: Lint Python
+ needs: [changes]
+ if: ${{needs.changes.outputs.python == 'true' && !github.event.pull_request.draft }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Setup reviewdog
+ uses: reviewdog/action-setup@v1
+
+ - name: Install Poetry
+ run: pipx install poetry
+
+ - name: Set up Python ${{ env.PYTHON_VERSION }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ env.PYTHON_VERSION }}
+ cache: "poetry"
+
+ - name: Install dependencies
+ run: poetry install
+
+ - name: Run flake8
+ env:
+ REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GITHUB_EVENT_NAME: ${{ github.event_name }}
+ run: |
+ exit_val="0"
+ [[ $GITHUB_EVENT_NAME == "pull_request" ]] && reporter="github-pr-review" || reporter="github-check"
+ poetry run flake8 \
+ --format=default . 2>&1 | reviewdog \
+ -f=pep8 \
+ -name="flake8" \
+ -fail-on-error \
+ -filter-mode=file \
+ -reporter="${reporter}" || exit_val="$?"
+ if [[ "${exit_val}" -ne '0' ]]; then
+ exit 1
+ fi
+
+ format:
+ name: Format
+ runs-on: ubuntu-latest
+ if: ${{ !github.event.pull_request.draft }}
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up Python ${{ env.PYTHON_VERSION }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ env.PYTHON_VERSION }}
+ cache: "pip"
+
+ - name: Install pre-commit
+ run: |
+ pip install pre-commit
+
+ - name: Load cached pre-commit environment
+ uses: actions/cache@v3
+ id: pre-commit-cache
+ with:
+ path: ~/.cache/pre-commit
+ key: ${{ runner.os }}-pre-commit-${{ hashFiles('**/.pre-commit-config.yaml') }}
+ restore-keys: |
+ ${{ runner.os }}-pre-commit-
+
+ - name: Run pre-commit hook
+ id: run-pre-commit-hooks
+ run: |
+ git add .pre-commit-config.yaml
+ pre-commit run --color=always --all-files
+
+ - name: Annotate any changes using reviewdog
+ if: ${{ failure() }}
+ id: reviewdog-suggester
+ uses: reviewdog/action-suggester@v1
+ with:
+ tool_name: pre-commit
diff --git a/.github/workflows/pr-lint.yml b/.github/workflows/pr-lint.yml
new file mode 100644
index 0000000..2c917a9
--- /dev/null
+++ b/.github/workflows/pr-lint.yml
@@ -0,0 +1,42 @@
+name: "Lint PR"
+
+on:
+ pull_request_target:
+ types:
+ - opened
+ - edited
+ - synchronize
+
+jobs:
+ main:
+ name: Validate PR title
+ runs-on: ubuntu-latest
+ steps:
+ - name: Validate PR title
+ uses: amannn/action-semantic-pull-request@v5
+ id: lint_pr_title
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ # When the previous steps fails, the workflow would stop. By adding this
+ # condition you can continue the execution with the populated error message.
+ - name: Create error message if validation fails
+ uses: marocchino/sticky-pull-request-comment@v2
+ if: always() && (steps.lint_pr_title.outputs.error_message != null)
+ with:
+ header: pr-title-lint-error
+ message: |
+ Hey there and thank you for opening this pull request! 👋🏼
+ We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
+
+ Details:
+ ```
+ ${{ steps.lint_pr_title.outputs.error_message }}
+ ```
+
+ - name: Delete previous comment when issue is resolved
+ if: ${{ steps.lint_pr_title.outputs.error_message == null }}
+ uses: marocchino/sticky-pull-request-comment@v2
+ with:
+ header: pr-title-lint-error
+ delete: true
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
new file mode 100644
index 0000000..045e5d6
--- /dev/null
+++ b/.github/workflows/releases.yml
@@ -0,0 +1,35 @@
+name: Releases
+
+on:
+ push:
+ branches: [main]
+
+env:
+ PYTHON_VERSION: 3.9
+
+jobs:
+ labeler:
+ name: Update labels
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out the repository
+ uses: actions/checkout@v3
+
+ - name: Run Labeler
+ uses: crazy-max/ghaction-github-labeler@v4.1.0
+
+ continuous-integration:
+ name: Continuous Integration
+ uses: "./.github/workflows/continuous_integration.yml"
+ secrets: inherit
+
+ tests:
+ name: Tests
+ uses: "./.github/workflows/tests.yml"
+ secrets: inherit
+
+ build_image:
+ name: Build image
+ uses: "./.github/workflows/build-image.yml"
+ secrets: inherit
+ needs: [continuous-integration, tests]
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..76d5b5b
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,73 @@
+name: Tests
+
+on:
+ workflow_dispatch:
+ workflow_call:
+ pull_request:
+ branches: [main]
+ paths-ignore: ["**/*.md", "**/*.rst"]
+
+env:
+ PYTHON_VERSION: 3.9
+ # Disable tokenizers parallelism because this doesn't help, and can cause issues in distributed tests.
+ TOKENIZERS_PARALLELISM: "false"
+ # Disable multithreading with OMP because this can lead to dead-locks in distributed tests.
+ OMP_NUM_THREADS: "1"
+ # See https://github.com/pytorch/pytorch/issues/37377#issuecomment-677851112.
+ MKL_THREADING_LAYER: "GNU"
+
+jobs:
+ changes:
+ name: Check for Python file changes
+ runs-on: ubuntu-latest
+ if: ${{ !github.event.pull_request.draft }}
+ outputs:
+ python: ${{steps.filter.outputs.python}}
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ python:
+ - '**/*.py'
+ - 'storage/fixtures/**/*'
+ - 'pyproject.toml'
+ - 'poetry.lock'
+ - '.github/workflows/tests.yml'
+
+ python:
+ name: Run Python test suite
+ defaults:
+ run:
+ shell: bash
+
+ runs-on: ubuntu-latest
+ needs: [changes]
+ if: ${{needs.changes.outputs.python == 'true' && !github.event.pull_request.draft }}
+ steps:
+ - name: Checkout the repository
+ uses: actions/checkout@v4
+
+ - name: Install Poetry
+ run: pipx install poetry
+
+ - name: Set up Python ${{ env.PYTHON_VERSION }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ env.PYTHON_VERSION }}
+ cache: "poetry"
+
+ - name: Install dependencies
+ run: poetry install
+
+ - name: Run test suite
+ run: poetry run poe test-everything | tee pytest-coverage.txt
+
+ - name: Comment the coverage
+ if: ${{ always() && github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' }}
+ uses: MishaKav/pytest-coverage-comment@main
+ with:
+ pytest-coverage-path: ./pytest-coverage.txt
+ junitxml-path: ./pytest.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..512a318
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,364 @@
+# Created by https://www.toptal.com/developers/gitignore/api/vscode,python,intellij+all
+# Edit at https://www.toptal.com/developers/gitignore?templates=vscode,python,intellij+all
+
+### Intellij+all ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+slurm-*
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+.idea/artifacts
+.idea/compiler.xml
+.idea/jarRepositories.xml
+.idea/modules.xml
+.idea/*.iml
+.idea/modules
+*.iml
+*.ipr
+
+# 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
+
+# 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
+
+### Intellij+all Patch ###
+# Ignores the whole .idea folder and all .iml files
+# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
+
+.idea/
+
+# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
+
+*.iml
+modules.xml
+.idea/misc.xml
+*.ipr
+
+# Sonarlint plugin
+.idea/sonarlint
+
+### Python ###
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+parts/
+sdist/
+var/
+wheels/
+pip-wheel-metadata/
+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/
+pytestdebug.log
+
+# 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/
+doc/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+.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
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.env/
+.venv/
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+pythonenv*
+.autoenv
+.envrc
+
+# 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/
+
+# operating system-related files
+# file properties cache/storage on macOS
+*.DS_Store
+# thumbnail cache on Windows
+Thumbs.db
+
+# profiling data
+.prof
+
+### vscode ###
+.vscode/*
+!.vscode/recommended-settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Lightning-Hydra-Template
+logs/
+
+# End of https://www.toptal.com/developers/gitignore/api/vscode,python,intellij+all
+
+# Created by https://www.toptal.com/developers/gitignore/api/data,images,video
+# Edit at https://www.toptal.com/developers/gitignore?templates=data,images,video
+
+### Data ###
+# *.csv
+*.dat
+*.efx
+*.gbr
+*.key
+*.pps
+*.ppt
+*.pptx
+*.sdf
+*.tax2010
+*.vcf
+*.xml
+
+### Images ###
+# JPEG
+*.jpg
+*.jpeg
+*.jpe
+*.jif
+*.jfif
+*.jfi
+
+# JPEG 2000
+*.jp2
+*.j2k
+*.jpf
+*.jpx
+*.jpm
+*.mj2
+
+# JPEG XR
+*.jxr
+*.hdp
+*.wdp
+
+# Graphics Interchange Format
+*.gif
+
+# RAW
+*.raw
+
+# Web P
+*.webp
+
+# Portable Network Graphics
+*.png
+
+# Animated Portable Network Graphics
+*.apng
+
+# Multiple-image Network Graphics
+*.mng
+
+# Tagged Image File Format
+*.tiff
+*.tif
+
+# Scalable Vector Graphics
+*.svg
+*.svgz
+
+# Portable Document Format
+*.pdf
+
+# X BitMap
+*.xbm
+
+# BMP
+*.bmp
+*.dib
+
+# ICO
+*.ico
+
+# 3D Images
+*.3dm
+*.max
+
+### Video ###
+*.3g2
+*.3gp
+*.asf
+*.asx
+*.avi
+*.flv
+*.mkv
+*.mov
+*.mp4
+*.mpg
+*.ogv
+*.rm
+*.swf
+*.vob
+*.wmv
+*.webm
+
+# End of https://www.toptal.com/developers/gitignore/api/data,images,video
+
+# Ignoring storage folder
+storage/*
+!storage/constants/
+!storage/fixtures/
+!storage/fixtures/**/*.jpeg
+storage/constants/mscoco_resplit_train.json
+
+.rtx.toml
diff --git a/.kodiak.toml b/.kodiak.toml
new file mode 100644
index 0000000..de128d4
--- /dev/null
+++ b/.kodiak.toml
@@ -0,0 +1,15 @@
+version = 1
+
+[merge.automerge_dependencies]
+# only auto merge "minor" and "patch" version upgrades.
+# do not automerge "major" version upgrades.
+versions = ["minor", "patch"]
+usernames = ["dependabot"]
+
+# allow dependabot to update and close stale dependency upgrades.
+[update]
+ignored_usernames = ["dependabot"]
+
+# Automatically approve when using automerge label
+[approve]
+auto_approve_usernames = ["dependabot"]
diff --git a/.mypy.ini b/.mypy.ini
new file mode 100644
index 0000000..bf53fa8
--- /dev/null
+++ b/.mypy.ini
@@ -0,0 +1,35 @@
+[mypy]
+
+python_version = 3.9
+exclude = (?x)(configs | storage | logs | docs)
+
+# Import discovery
+namespace_packages = true
+ignore_missing_imports = true
+
+# Untyped definitions and calls
+disallow_untyped_defs = true
+disallow_incomplete_defs = true
+check_untyped_defs = true
+disallow_any_generics = true
+disallow_subclassing_any = true
+disallow_untyped_decorators = false
+
+# None and Optional handling
+no_implicit_optional = true
+
+# Warnings
+warn_redundant_casts = true
+warn_unused_ignores = true
+warn_unused_configs = true
+warn_unreachable = true
+
+# Config error messages
+show_error_context = false
+show_column_numbers = true
+show_error_codes = true
+pretty = false
+
+
+[mypy-tests.*]
+disallow_untyped_defs = false
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..50c6ff2
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,144 @@
+repos:
+ # -------------------------- Version control checks -------------------------- #
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.5.0
+ hooks:
+ - id: check-merge-conflict
+ name: Check for merge conflicts
+ - id: check-vcs-permalinks
+ name: Ensure links to VCS websites are permalinks
+ - id: detect-private-key
+ name: Detect private key
+ - id: check-case-conflict
+ name: Check issues with file name casing
+ - id: check-symlinks
+ name: Check for symlinks which point to nothing
+ - id: destroyed-symlinks
+ name: Check for destroyed symlinks
+
+ - repo: https://github.com/sirosen/check-jsonschema
+ rev: 0.27.2
+ hooks:
+ - id: check-github-workflows
+ name: Validate GitHub workflows
+ types: [yaml]
+
+ # ----------------------------- Check file issues ---------------------------- #
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.5.0
+ hooks:
+ - id: check-toml
+ name: Check TOML
+ types: [toml]
+ - id: check-yaml
+ name: Check YAML
+ args: [--allow-multiple-documents]
+ types: [yaml]
+ - id: end-of-file-fixer
+ name: Fix end of files
+ types: [text]
+ - id: trailing-whitespace
+ name: Trim trailing whitespace
+ args: [--markdown-linebreak-ext=md]
+ types: [text]
+ - id: mixed-line-ending
+ name: Check line endings
+ - id: fix-encoding-pragma
+ name: Remove any encoding pragma
+ args: [--remove]
+
+ # ------------------------------ Python checking ----------------------------- #
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.5.0
+ hooks:
+ - id: debug-statements
+ name: Check for debugger statements
+ types: [python]
+
+ - repo: https://github.com/pre-commit/pygrep-hooks
+ rev: v1.10.0
+ hooks:
+ - id: python-use-type-annotations
+ name: Using type annotations over comments
+ types: [python]
+ - id: python-check-blanket-noqa
+ name: Check for blanket `# noqa`
+ types: [python]
+ - id: python-check-blanket-type-ignore
+ name: "Check for blanket `# type: ignore`"
+ types: [python]
+ - id: python-no-log-warn
+ name: Check for deprecated `.warn()` method of python loggers
+ types: [python]
+
+ # ----------------------------- Automatic linters ---------------------------- #
+ - repo: https://github.com/asottile/pyupgrade
+ rev: v3.15.0
+ hooks:
+ - id: pyupgrade
+ name: Update syntax for newer Python
+ types: [python]
+ args: ["--py39-plus"]
+ - repo: https://github.com/sirosen/texthooks
+ rev: 0.6.3
+ hooks:
+ - id: fix-smartquotes
+ name: Fix Smart Quotes
+ - repo: https://github.com/asottile/yesqa
+ rev: v1.5.0
+ hooks:
+ - id: yesqa
+ name: Remove unnecessary `# noqa` comments
+ types: [python]
+ additional_dependencies: [wemake-python-styleguide]
+
+ # ------------------------------ Python imports ------------------------------ #
+ - repo: https://github.com/hakancelik96/unimport
+ rev: 1.1.0
+ hooks:
+ - id: unimport
+ name: Remove any unused imports
+ types: [python]
+ args:
+ [
+ --remove,
+ --exclude,
+ '^.*/?__init__\.py$',
+ --include-star-import,
+ --gitignore,
+ ]
+ - repo: https://github.com/MarcoGorelli/absolufy-imports
+ rev: v0.3.1
+ hooks:
+ - id: absolufy-imports
+ types: [python]
+ name: Convert relative imports to absolute
+ - repo: https://github.com/timothycrosley/isort
+ rev: 5.12.0
+ hooks:
+ - id: isort
+ name: Format imports
+ additional_dependencies: [toml]
+ types: [python]
+ exclude: ^.*/?setup\.py$
+
+ # -------------------------------- Formatting -------------------------------- #
+ - repo: https://github.com/pre-commit/mirrors-prettier
+ rev: v3.1.0
+ hooks:
+ - id: prettier
+ name: Prettier
+ exclude: ^.*/?CHANGELOG\.md$
+ - repo: https://github.com/myint/docformatter
+ rev: v1.7.5
+ hooks:
+ - id: docformatter
+ name: Format docstrings
+ types: [python]
+ args: [--in-place, --wrap-summaries=99, --wrap-descriptions=99]
+ - repo: https://github.com/psf/black
+ rev: 23.11.0
+ hooks:
+ - id: black-jupyter
+ types: [python]
+ name: Format code
diff --git a/.releaserc.js b/.releaserc.js
new file mode 100644
index 0000000..f0907bd
--- /dev/null
+++ b/.releaserc.js
@@ -0,0 +1,70 @@
+const RELEASE_BRANCH = process.env.RELEASE_BRANCH || "main";
+const CHANGELOG_FILE = process.env.CHANGELOG_FILE || "CHANGELOG.md";
+const VERSION_FILE = process.env.VERSION_FILE || "src/*/_version.py";
+
+const config = {
+ branches: [RELEASE_BRANCH],
+ plugins: [
+ [
+ "@semantic-release/commit-analyzer",
+ {
+ preset: "conventionalcommits",
+ },
+ ],
+ [
+ "@semantic-release/release-notes-generator",
+ {
+ preset: "conventionalcommits",
+ },
+ ],
+ [
+ "@semantic-release/changelog",
+ {
+ changelogFile: CHANGELOG_FILE,
+ changelogTitle:
+ "# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[Conventional Commits](https://conventionalcommits.org) for commit guidelines.",
+ },
+ ],
+ [
+ "@semantic-release/exec",
+ {
+ prepareCmd: "poetry version ${nextRelease.version} && poetry build",
+ },
+ ],
+ [
+ "@google/semantic-release-replace-plugin",
+ {
+ replacements: [
+ {
+ files: [VERSION_FILE],
+ ignore: ["test/*", "tests/*"],
+ from: "__version__ = [\"'].*[\"']",
+ to: '__version__ = "${nextRelease.version}"',
+ },
+ ],
+ },
+ ],
+ [
+ "@semantic-release/github",
+ {
+ assets: [
+ { path: "dist/*.tar.gz", label: "sdist" },
+ { path: "dist/*.whl", label: "wheel" },
+ ],
+ successComment: false,
+ failComment: false,
+ releasedLabels: false,
+ failTitle: false,
+ labels: false,
+ },
+ ],
+ [
+ "@semantic-release/git",
+ {
+ assets: ["pyproject.toml", VERSION_FILE, CHANGELOG_FILE],
+ },
+ ],
+ ],
+};
+
+module.exports = config;
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..978576d
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,28 @@
+{
+ "recommendations": [
+ "mikestead.dotenv",
+ "editorconfig.editorconfig",
+ "tamasfe.even-better-toml",
+ "redvanworkshop.explorer-exclude-vscode-extension",
+ "eamodio.gitlens",
+ "nhoizey.gremlins",
+ "ms-toolsai.jupyter",
+ "ms-toolsai.jupyter-keymap",
+ "ms-toolsai.jupyter-renderers",
+ "yzhang.markdown-all-in-one",
+ "christian-kohler.path-intellisense",
+ "ms-python.vscode-pylance",
+ "ms-python.python",
+ "njpwerner.autodocstring",
+ "ms-vscode-remote.remote-containers",
+ "ms-vscode-remote.remote-ssh",
+ "ms-vscode-remote.remote-ssh-edit",
+ "ms-vscode-remote.vscode-remote-extensionpack",
+ "stkb.rewrap",
+ "visualstudioexptteam.vscodeintellicode",
+ "kevinkyang.auto-comment-blocks",
+ "redhat.vscode-yaml",
+ "esbenp.prettier-vscode",
+ "foxundermoon.shell-format"
+ ]
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..ecc4587
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,36 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Current file",
+ "type": "python",
+ "request": "launch",
+ "program": "${file}",
+ "console": "integratedTerminal",
+ "justMyCode": false,
+ "subProcess": true
+ },
+ {
+ "name": "Debug Run",
+ "type": "python",
+ "request": "launch",
+ "program": "${workspaceFolder}/run.py",
+ "console": "integratedTerminal",
+ "justMyCode": false,
+ "subProcess": true
+ },
+ {
+ "name": "Debug Tests",
+ "type": "python",
+ "request": "launch",
+ "justMyCode": false,
+ "purpose": ["debug-test"],
+ "env": {
+ "_PYTEST_RAISE": "1"
+ }
+ }
+ ]
+}
diff --git a/.vscode/recommended-settings.json b/.vscode/recommended-settings.json
new file mode 100644
index 0000000..4ee13d2
--- /dev/null
+++ b/.vscode/recommended-settings.json
@@ -0,0 +1,81 @@
+{
+ "files.exclude": {
+ "**/.git": false,
+ "**/.svn": false,
+ "**/.hg": false,
+ "**/CVS": false,
+ "**/.DS_Store": false,
+ "**/Thumbs.db": false,
+ "**/.idea": false,
+ "**/LICENSE": false,
+ "**/.rsync-filter": false,
+ "**/.coverage*": false,
+ "**/.hypothesis": false,
+ "**/{*.egg-info,*cache*,.venv,*.lock}": false,
+ "**/{.python-version,py.typed}": false,
+ "**/.gitkeep": false,
+ "**/.gitignore": false,
+ "**/.gitattributes": false,
+ ".editorconfig": false,
+ ".pre-commit-config.yaml": false,
+ ".flake8": false,
+ ".dockerignore": false,
+ "Dockerfile": false,
+ "docker-compose.yaml": false,
+ "Makefile": false,
+ ".mypy.ini": false,
+ "pytest.ini": false,
+ "pyproject.toml": false,
+ ".env*": false,
+ ".vscode/": false,
+ ".github/": false,
+ "*.md": false,
+ "data": false,
+ "notebooks": false,
+ "scripts": false
+ },
+ "explorerExclude.backup": null,
+ "editor.wordWrapColumn": 99,
+ "editor.rulers": [99, 120],
+ "python.envFile": "${workspaceFolder}/.env",
+ "terminal.integrated.env.linux": {
+ "PYTHONPATH": "${workspaceFolder}"
+ },
+ "git.ignoreLimitWarning": true,
+ "[json,yaml]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "editor.formatOnSave": true
+ },
+ "[python]": {
+ "editor.defaultFormatter": "ms-python.python",
+ "editor.formatOnPaste": false,
+ "editor.formatOnSave": true,
+ "editor.codeActionsOnSave": {
+ "source.organizeImports": true,
+ "source.fixAll": false
+ }
+ },
+ "python.formatting.provider": "black",
+ "python.sortImports.args": ["--atomic"],
+ "python.linting.enabled": true,
+ "python.linting.lintOnSave": true,
+ "python.linting.pylintEnabled": false,
+ "python.linting.mypyEnabled": true,
+ "python.linting.flake8Enabled": true,
+ "python.linting.pydocstyleEnabled": false,
+ "python.testing.pytestEnabled": true,
+ "python.linting.mypyArgs": ["-v"],
+ "jupyter.jupyterServerType": "local",
+ "jupyter.notebookFileRoot": "${workspaceFolder}",
+ "python.pythonPath": ".venv/bin/python3",
+ "python.testing.unittestEnabled": false,
+ "shellformat.useEditorConfig": true,
+ "python.testing.cwd": "${workspaceFolder}",
+ "cSpell.enabled": true,
+ "rewrap.autoWrap.enabled": true,
+ "editor.insertSpaces": false,
+ "autoDocstring.docstringFormat": "google",
+ "python.testing.pytestArgs": ["tests"],
+ "editor.bracketPairColorization.enabled": true,
+ "editor.guides.bracketPairs": "active"
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..d058315
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,622 @@
+# Changelog
+
+All notable changes to this project will be documented in this file. See
+[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [1.48.0](https://github.com/emma-simbot/policy/compare/v1.47.2...v1.48.0) (2023-05-24)
+
+
+### Features
+
+* add-skip-phrase-instructions ([#807](https://github.com/emma-simbot/policy/issues/807)) ([1716256](https://github.com/emma-simbot/policy/commit/1716256a1430155345558f342142feb54570fb4c))
+
+## [1.47.2](https://github.com/emma-simbot/policy/compare/v1.47.1...v1.47.2) (2023-05-24)
+
+
+### Bug Fixes
+
+* create decoder input ids for the vad task ([#803](https://github.com/emma-simbot/policy/issues/803)) ([fdfcf4e](https://github.com/emma-simbot/policy/commit/fdfcf4ebeacccf9bf354df8d8243ebae86da3cb4))
+
+## [1.47.1](https://github.com/emma-simbot/policy/compare/v1.47.0...v1.47.1) (2023-05-19)
+
+
+### Bug Fixes
+
+* combined tokenizer ([#802](https://github.com/emma-simbot/policy/issues/802)) ([c5c72ee](https://github.com/emma-simbot/policy/commit/c5c72eeb74192bfd94a0c6d2b70960f1c5a3f5dc))
+
+## [1.47.0](https://github.com/emma-simbot/policy/compare/v1.46.0...v1.47.0) (2023-05-18)
+
+
+### Features
+
+* unified task ([#801](https://github.com/emma-simbot/policy/issues/801)) ([e4ed79e](https://github.com/emma-simbot/policy/commit/e4ed79efc7b65fa5103c0766adf6ee99b26ee0d0))
+
+## [1.46.0](https://github.com/emma-simbot/policy/compare/v1.45.7...v1.46.0) (2023-05-15)
+
+
+### Features
+
+* add flag to disable missing inventory ([#793](https://github.com/emma-simbot/policy/issues/793)) ([4a0ad98](https://github.com/emma-simbot/policy/commit/4a0ad98ce80c7ce33123766fcf22847f55491215))
+
+## [1.45.7](https://github.com/emma-simbot/policy/compare/v1.45.6...v1.45.7) (2023-05-15)
+
+
+### Bug Fixes
+
+* input for evaluation wit QAs ([#797](https://github.com/emma-simbot/policy/issues/797)) ([c2c5478](https://github.com/emma-simbot/policy/commit/c2c5478cc3e654f1ff4677b027af6334757a0160))
+* inventory input ([#783](https://github.com/emma-simbot/policy/issues/783)) ([5ef7729](https://github.com/emma-simbot/policy/commit/5ef7729693bc9012b5b09ae3ed7071938cee4259))
+
+## [1.45.6](https://github.com/emma-simbot/policy/compare/v1.45.5...v1.45.6) (2023-04-28)
+
+
+### Bug Fixes
+
+* coffee unmaker patch ([#790](https://github.com/emma-simbot/policy/issues/790)) ([edeed57](https://github.com/emma-simbot/policy/commit/edeed57cf929ecbd08a6a083f20991ae5e6de380))
+
+## [1.45.5](https://github.com/emma-simbot/policy/compare/v1.45.4...v1.45.5) (2023-04-28)
+
+
+### Bug Fixes
+
+* cartridge patch ([#789](https://github.com/emma-simbot/policy/issues/789)) ([3b4e936](https://github.com/emma-simbot/policy/commit/3b4e936256d5c2586fa8a1a8306802e11f344373))
+
+## [1.45.4](https://github.com/emma-simbot/policy/compare/v1.45.3...v1.45.4) (2023-04-28)
+
+
+### Bug Fixes
+
+* colorchanger patch ([#788](https://github.com/emma-simbot/policy/issues/788)) ([14994e9](https://github.com/emma-simbot/policy/commit/14994e9602f0fd609518a025b5ecdddef9f63036))
+
+## [1.45.3](https://github.com/emma-simbot/policy/compare/v1.45.2...v1.45.3) (2023-04-28)
+
+
+### Bug Fixes
+
+* button colorchanger ([#787](https://github.com/emma-simbot/policy/issues/787)) ([381586c](https://github.com/emma-simbot/policy/commit/381586cd29f9bb323fe63899a35535ffbe3a68f7))
+
+## [1.45.2](https://github.com/emma-simbot/policy/compare/v1.45.1...v1.45.2) (2023-04-27)
+
+
+### Bug Fixes
+
+* add use in is_toggle post-process ([#786](https://github.com/emma-simbot/policy/issues/786)) ([c265d9c](https://github.com/emma-simbot/policy/commit/c265d9ceadcd194774b44ee2d3bc920b63159240))
+
+## [1.45.1](https://github.com/emma-simbot/policy/compare/v1.45.0...v1.45.1) (2023-04-27)
+
+
+### Bug Fixes
+
+* patching v2 ([#782](https://github.com/emma-simbot/policy/issues/782)) ([827401c](https://github.com/emma-simbot/policy/commit/827401c45854ef482717c2e2a1efbf0cac9bfec3))
+
+## [1.44.1](https://github.com/emma-simbot/policy/compare/v1.44.0...v1.44.1) (2023-04-25)
+
+
+### Bug Fixes
+
+* patching ([#781](https://github.com/emma-simbot/policy/issues/781)) ([8fb92a8](https://github.com/emma-simbot/policy/commit/8fb92a89b40a783200d5a020bd144c94a9c44b5c))
+
+## [1.44.0](https://github.com/emma-simbot/policy/compare/v1.43.3...v1.44.0) (2023-04-25)
+
+
+### Features
+
+* show the entity to the annotation tool ([#780](https://github.com/emma-simbot/policy/issues/780)) ([af43ced](https://github.com/emma-simbot/policy/commit/af43ceda18be52c37c9a424a934faba8b839488f))
+
+
+### Bug Fixes
+
+* carrot case ([#779](https://github.com/emma-simbot/policy/issues/779)) ([14905bf](https://github.com/emma-simbot/policy/commit/14905bfdd7def51a41855b1e5b9e71224f1b3ab6))
+
+## [1.43.3](https://github.com/emma-simbot/policy/compare/v1.43.2...v1.43.3) (2023-04-25)
+
+
+### Bug Fixes
+
+* Frame token id in action output processor ([#778](https://github.com/emma-simbot/policy/issues/778)) ([b59e8f5](https://github.com/emma-simbot/policy/commit/b59e8f550f91312a4228c9a38efe8c38462bdff5))
+
+## [1.43.2](https://github.com/emma-simbot/policy/compare/v1.43.1...v1.43.2) (2023-04-24)
+
+
+### Bug Fixes
+
+* Update emma-datasets ([#774](https://github.com/emma-simbot/policy/issues/774)) ([0538396](https://github.com/emma-simbot/policy/commit/0538396995f2bdf2112acbf9b3658671e3c42960))
+
+## [1.43.1](https://github.com/emma-simbot/policy/compare/v1.43.0...v1.43.1) (2023-04-24)
+
+
+### Bug Fixes
+
+* minor bugs ([#772](https://github.com/emma-simbot/policy/issues/772)) ([a075a9c](https://github.com/emma-simbot/policy/commit/a075a9ce486683ffe847539dbfd760d22659db04))
+
+## [1.43.0](https://github.com/emma-simbot/policy/compare/v1.42.1...v1.43.0) (2023-04-23)
+
+
+### Features
+
+* enable cdf instance training ([#762](https://github.com/emma-simbot/policy/issues/762)) ([17fb96b](https://github.com/emma-simbot/policy/commit/17fb96bf79159e4a49c117e6714429ce56d5f813))
+
+## [1.42.1](https://github.com/emma-simbot/policy/compare/v1.42.0...v1.42.1) (2023-04-21)
+
+
+### Bug Fixes
+
+* use entity labels when patching model output ([#771](https://github.com/emma-simbot/policy/issues/771)) ([d747062](https://github.com/emma-simbot/policy/commit/d7470627fb91a5c402371242cd98c164fa0a6212))
+
+## [1.42.0](https://github.com/emma-simbot/policy/compare/v1.41.0...v1.42.0) (2023-04-21)
+
+
+### Features
+
+* restore patched objects ([#770](https://github.com/emma-simbot/policy/issues/770)) ([1ad466d](https://github.com/emma-simbot/policy/commit/1ad466ddcd11bd0b00760eb126e857cbb6143c31))
+
+## [1.41.0](https://github.com/emma-simbot/policy/compare/v1.40.2...v1.41.0) (2023-04-16)
+
+
+### Features
+
+* try to get object from object vinvl ([#767](https://github.com/emma-simbot/policy/issues/767)) ([268cae1](https://github.com/emma-simbot/policy/commit/268cae17e63eaaea0080e1933f4109ce41051c9b))
+
+## [1.40.2](https://github.com/emma-simbot/policy/compare/v1.40.1...v1.40.2) (2023-04-16)
+
+
+### Bug Fixes
+
+* len of enviroment history in carrot case ([#766](https://github.com/emma-simbot/policy/issues/766)) ([1408c7a](https://github.com/emma-simbot/policy/commit/1408c7a18c7ffd0de3a0eadfc803278a81599372))
+
+## [1.40.1](https://github.com/emma-simbot/policy/compare/v1.40.0...v1.40.1) (2023-04-16)
+
+
+### Bug Fixes
+
+* previous action is None in carrot case ([#765](https://github.com/emma-simbot/policy/issues/765)) ([bdc4318](https://github.com/emma-simbot/policy/commit/bdc431842ed1b6cbbc0462d010f201392c8d3bc2))
+
+## [1.40.0](https://github.com/emma-simbot/policy/compare/v1.39.2...v1.40.0) (2023-04-16)
+
+
+### Features
+
+* return dummy action after toggling the carrot maker ([#764](https://github.com/emma-simbot/policy/issues/764)) ([0402a7e](https://github.com/emma-simbot/policy/commit/0402a7e817a6226fab3ad54490eb5e6664ec04f3))
+
+## [1.39.2](https://github.com/emma-simbot/policy/compare/v1.39.1...v1.39.2) (2023-04-13)
+
+
+### Bug Fixes
+
+* update emma-common ([#763](https://github.com/emma-simbot/policy/issues/763)) ([f16acc4](https://github.com/emma-simbot/policy/commit/f16acc42493e9fd7a156481e04ee03b04c08a546))
+
+## [1.39.1](https://github.com/emma-simbot/policy/compare/v1.39.0...v1.39.1) (2023-04-13)
+
+
+### Bug Fixes
+
+* NLU vocab size ([#761](https://github.com/emma-simbot/policy/issues/761)) ([e7fb53d](https://github.com/emma-simbot/policy/commit/e7fb53d538bd534e9fd0665050a0b8de7e7f6678))
+
+## [1.39.0](https://github.com/emma-simbot/policy/compare/v1.38.0...v1.39.0) (2023-04-13)
+
+
+### Features
+
+* Add inventory object ([#760](https://github.com/emma-simbot/policy/issues/760)) ([ff5f118](https://github.com/emma-simbot/policy/commit/ff5f1189b89135433db88853627c42d129ce8aab))
+
+## [1.38.0](https://github.com/emma-simbot/policy/compare/v1.37.3...v1.38.0) (2023-04-12)
+
+
+### Features
+
+* simbot action train v8 ([#759](https://github.com/emma-simbot/policy/issues/759)) ([0b5e6f1](https://github.com/emma-simbot/policy/commit/0b5e6f1a8698a0ffbcb70798227fa0aee155ae91))
+
+
+### Bug Fixes
+
+* modified utterance in speech ([#758](https://github.com/emma-simbot/policy/issues/758)) ([50483bc](https://github.com/emma-simbot/policy/commit/50483bcb2eb02085fdc7c25ec766d9ef0c28eebb))
+
+## [1.37.3](https://github.com/emma-simbot/policy/compare/v1.37.2...v1.37.3) (2023-04-07)
+
+
+### Bug Fixes
+
+* bbox coords device ([#757](https://github.com/emma-simbot/policy/issues/757)) ([fcb95ca](https://github.com/emma-simbot/policy/commit/fcb95ca1d327cf5ff899dfd1e222f2ed1b8b3754))
+* circular dependency ([efe80f8](https://github.com/emma-simbot/policy/commit/efe80f8370aebf3a0d4dd8b8d74b16dde27ce25d))
+
+## [1.32.1](https://github.com/emma-simbot/policy/compare/v1.32.0...v1.32.1) (2023-03-03)
+
+
+### Bug Fixes
+
+* lowercase the entire source text in simbot action ([#727](https://github.com/emma-simbot/policy/issues/727)) ([a8d7e90](https://github.com/emma-simbot/policy/commit/a8d7e90757e51e9f853c5e1b17b3cf1dda458367))
+
+## [1.32.0](https://github.com/emma-simbot/policy/compare/v1.31.0...v1.32.0) (2023-02-19)
+
+
+### Features
+
+* return object name from nlu ([#718](https://github.com/emma-simbot/policy/issues/718)) ([8863f79](https://github.com/emma-simbot/policy/commit/8863f790f2616805dec54a284094f8c244f04b59))
+
+## [1.31.0](https://github.com/emma-simbot/policy/compare/v1.30.1...v1.31.0) (2023-02-19)
+
+
+### Features
+
+* toggle button special case action output processor ([#717](https://github.com/emma-simbot/policy/issues/717)) ([15ac1e2](https://github.com/emma-simbot/policy/commit/15ac1e29d3c5ae68cb0657c76686627c30e76ab2))
+
+## [1.30.1](https://github.com/emma-simbot/policy/compare/v1.30.0...v1.30.1) (2023-02-19)
+
+
+### Bug Fixes
+
+* transfer features to cpu ([#716](https://github.com/emma-simbot/policy/issues/716)) ([3d54bfd](https://github.com/emma-simbot/policy/commit/3d54bfdd6b996415ca25bb2e5882b702795937ad))
+
+## [1.30.0](https://github.com/emma-simbot/policy/compare/v1.29.2...v1.30.0) (2023-02-18)
+
+
+### Features
+
+* Precompute centroids for special object assets ([#707](https://github.com/emma-simbot/policy/issues/707)) ([5e712db](https://github.com/emma-simbot/policy/commit/5e712db4b61e691675fb1c4c6843fa5e8d5ac707))
+
+## [1.29.2](https://github.com/emma-simbot/policy/compare/v1.29.1...v1.29.2) (2023-02-16)
+
+
+### Bug Fixes
+
+* access to emma visual features ([#715](https://github.com/emma-simbot/policy/issues/715)) ([9dc0581](https://github.com/emma-simbot/policy/commit/9dc0581bf13d22c42e62b5f0377d90644a8297d2))
+
+## [1.29.1](https://github.com/emma-simbot/policy/compare/v1.29.0...v1.29.1) (2023-02-15)
+
+
+### Bug Fixes
+
+* circular dependency ([#711](https://github.com/emma-simbot/policy/issues/711)) ([b58df74](https://github.com/emma-simbot/policy/commit/b58df7406e1d3075b3239253162649540b696896))
+
+## [1.29.0](https://github.com/emma-simbot/policy/compare/v1.28.1...v1.29.0) (2023-02-15)
+
+
+### Features
+
+* enables torch pickle for requests/responses ([#708](https://github.com/emma-simbot/policy/issues/708)) ([9548da5](https://github.com/emma-simbot/policy/commit/9548da571c2c80a4ffe868803fb64fc57ea70e8c))
+
+## [1.28.1](https://github.com/emma-simbot/policy/compare/v1.28.0...v1.28.1) (2023-02-15)
+
+
+### Bug Fixes
+
+* ignore entity labels when converting feature dicts to tensors ([#709](https://github.com/emma-simbot/policy/issues/709)) ([8f37ee8](https://github.com/emma-simbot/policy/commit/8f37ee89a08d3fccb14816b6394f0d878903f4f6))
+
+## [1.28.0](https://github.com/emma-simbot/policy/compare/v1.27.0...v1.28.0) (2023-02-11)
+
+### Features
+
+* Add dataset visualization ([#701](https://github.com/emma-simbot/policy/issues/701)) ([da6b764](https://github.com/emma-simbot/policy/commit/da6b764af4cfc3845fbb6fe5b63a2d0c0b854c2e))
+
+## [1.26.0](https://github.com/emma-simbot/policy/compare/v1.25.1...v1.26.0) (2023-02-07)
+
+
+### Bug Fixes
+
+* negative candidate ids ([#696](https://github.com/emma-simbot/policy/issues/696)) ([8a27cf6](https://github.com/emma-simbot/policy/commit/8a27cf6f69fe95b1cd8ac760f04fc9fe58546e9e))
+
+## [1.25.0](https://github.com/emma-simbot/policy/compare/v1.24.0...v1.25.0) (2023-02-06)
+
+
+### Features
+
+* Filter SimBot action and nlu dbs based on match with predicted bounding boxes ([#687](https://github.com/emma-simbot/policy/issues/687)) ([fa4ad74](https://github.com/emma-simbot/policy/commit/fa4ad744ea43be67b136e9f8f54da26543177091))
+
+## [1.24.0](https://github.com/emma-simbot/policy/compare/v1.23.1...v1.24.0) (2023-01-30)
+
+
+### Features
+
+* Update raw text matcher forward ([#686](https://github.com/emma-simbot/policy/issues/686)) ([48a2047](https://github.com/emma-simbot/policy/commit/48a20473a8fd8c279eec3d9f86c07a66646f91a5))
+
+## [1.23.1](https://github.com/emma-simbot/policy/compare/v1.23.0...v1.23.1) (2023-01-30)
+
+
+### Bug Fixes
+
+* Append the entire previous action list ([#684](https://github.com/emma-simbot/policy/issues/684)) ([f43a38d](https://github.com/emma-simbot/policy/commit/f43a38dd0df16d739417256b855facf73ac11d59))
+
+## [1.23.0](https://github.com/emma-simbot/policy/compare/v1.22.1...v1.23.0) (2023-01-27)
+
+
+### Features
+
+* add plot temperature script ([#683](https://github.com/emma-simbot/policy/issues/683)) ([450b8a8](https://github.com/emma-simbot/policy/commit/450b8a8a576088c8677b150eca1ea5bd8844d76f))
+
+## [1.22.1](https://github.com/emma-simbot/policy/compare/v1.22.0...v1.22.1) (2023-01-27)
+
+
+### Bug Fixes
+
+* remove unnecessary log point ([504fbca](https://github.com/emma-simbot/policy/commit/504fbca0bcb4ad56130e330a4069a72c94665f6f))
+
+## [1.22.0](https://github.com/emma-simbot/policy/compare/v1.21.0...v1.22.0) (2023-01-26)
+
+
+### Features
+
+* search itm ([#680](https://github.com/emma-simbot/policy/issues/680)) ([e4fa938](https://github.com/emma-simbot/policy/commit/e4fa93895117ab8eab309d3d8372a82dfa76bb5b))
+
+## [1.21.0](https://github.com/emma-simbot/policy/compare/v1.20.0...v1.21.0) (2023-01-26)
+
+
+### Features
+
+* Unifying all NLU prediction processing in a class ([#682](https://github.com/emma-simbot/policy/issues/682)) ([4c5bf3c](https://github.com/emma-simbot/policy/commit/4c5bf3cd5f2a7957523d18cdde894a02fed558b9))
+
+## [1.20.0](https://github.com/emma-simbot/policy/compare/v1.19.0...v1.20.0) (2023-01-25)
+
+
+### Features
+
+* Restore NLU ambiguity rule ([#681](https://github.com/emma-simbot/policy/issues/681)) ([8b0012f](https://github.com/emma-simbot/policy/commit/8b0012f1c066c2c5e206c52808e957325e132e23))
+
+## [1.19.0](https://github.com/emma-simbot/policy/compare/v1.18.1...v1.19.0) (2023-01-23)
+
+
+### Features
+
+* Update raw text matcher with take a step ([#678](https://github.com/emma-simbot/policy/issues/678)) ([ddc909a](https://github.com/emma-simbot/policy/commit/ddc909a96c4083cb99cb40630a1d4eca83b82550))
+
+
+### Bug Fixes
+
+* Update nlu datset ([#677](https://github.com/emma-simbot/policy/issues/677)) ([d5ac6be](https://github.com/emma-simbot/policy/commit/d5ac6be46ee34d7a41fe1f4139b53f4e76223ec0))
+
+## [1.18.1](https://github.com/emma-simbot/policy/compare/v1.18.0...v1.18.1) (2023-01-23)
+
+
+### Bug Fixes
+
+* the width height when saving the features in simbot annotations ([#675](https://github.com/emma-simbot/policy/issues/675)) ([7a3ac23](https://github.com/emma-simbot/policy/commit/7a3ac239d2a336318aef27846c3213ede4bef290))
+
+## [1.18.0](https://github.com/emma-simbot/policy/compare/v1.17.0...v1.18.0) (2023-01-21)
+
+
+### Features
+
+* Do not paraphrase annotations, fix punc and lowercasing ([#676](https://github.com/emma-simbot/policy/issues/676)) ([9fcb7ae](https://github.com/emma-simbot/policy/commit/9fcb7aeea24916f5cb3306ef8073921423b7152d))
+
+## [1.17.0](https://github.com/emma-simbot/policy/compare/v1.16.1...v1.17.0) (2023-01-20)
+
+
+### Features
+
+* simbot annotation tool ([#668](https://github.com/emma-simbot/policy/issues/668)) ([d45d6cc](https://github.com/emma-simbot/policy/commit/d45d6cc4a75f958ac3fb7a30d8e12beac9f81758))
+
+## [1.16.1](https://github.com/emma-simbot/policy/compare/v1.16.0...v1.16.1) (2023-01-13)
+
+
+### Bug Fixes
+
+* Changes to deal with oldest to most recent input in GFH ([#666](https://github.com/emma-simbot/policy/issues/666)) ([d53d82e](https://github.com/emma-simbot/policy/commit/d53d82ed2ecf16095d191f4b3d7a6d09dc06429b))
+
+## [1.16.0](https://github.com/emma-simbot/policy/compare/v1.15.2...v1.16.0) (2023-01-12)
+
+
+### Features
+
+* Update raw text matching ([#665](https://github.com/emma-simbot/policy/issues/665)) ([665da71](https://github.com/emma-simbot/policy/commit/665da71405e5b5f9bbfce544696df3cf9878dff5))
+
+## [1.15.2](https://github.com/emma-simbot/policy/compare/v1.15.1...v1.15.2) (2023-01-12)
+
+
+### Bug Fixes
+
+* Remove decoder length setting in GFH ([#664](https://github.com/emma-simbot/policy/issues/664)) ([fbc8ba6](https://github.com/emma-simbot/policy/commit/fbc8ba69486a27e61335ed127ed4aa6a2dfad6d5))
+
+## [1.15.1](https://github.com/emma-simbot/policy/compare/v1.15.0...v1.15.1) (2023-01-11)
+
+
+### Bug Fixes
+
+* instrumentation for simbot apis ([d4cf9f6](https://github.com/emma-simbot/policy/commit/d4cf9f66f31bd22ada4a220f576ec9fa580fbe3a))
+
+## [1.15.0](https://github.com/emma-simbot/policy/compare/v1.14.2...v1.15.0) (2023-01-11)
+
+
+### Features
+
+* Update raw text matching examples ([#661](https://github.com/emma-simbot/policy/issues/661)) ([0719b99](https://github.com/emma-simbot/policy/commit/0719b9973c75892c44e85d60e6a4a34436c38041))
+
+## [1.14.2](https://github.com/emma-simbot/policy/compare/v1.14.1...v1.14.2) (2023-01-10)
+
+
+### Bug Fixes
+
+* set decoder input ids to None in GFH ([#663](https://github.com/emma-simbot/policy/issues/663)) ([4e90a64](https://github.com/emma-simbot/policy/commit/4e90a64e13dafe58350b2d26869d742b7219b4be))
+
+## [1.14.1](https://github.com/emma-simbot/policy/compare/v1.14.0...v1.14.1) (2023-01-06)
+
+
+### Bug Fixes
+
+* lowercase in input builder before tokenization ([#662](https://github.com/emma-simbot/policy/issues/662)) ([474fca2](https://github.com/emma-simbot/policy/commit/474fca22078bdb741af67a53dfa9d5532f12f0e4))
+
+## [1.14.0](https://github.com/emma-simbot/policy/compare/v1.13.0...v1.14.0) (2023-01-05)
+
+
+### Features
+
+* GFH Implementaion ([#648](https://github.com/emma-simbot/policy/issues/648)) ([850cedf](https://github.com/emma-simbot/policy/commit/850cedfa564648fe6328a1446bd9a75cadcd2c86))
+
+## [1.13.0](https://github.com/emma-simbot/policy/compare/v1.12.1...v1.13.0) (2022-12-23)
+
+
+### Features
+
+* added tracing for policy and NLU model ([#654](https://github.com/emma-simbot/policy/issues/654)) ([9894b18](https://github.com/emma-simbot/policy/commit/9894b1813294cf07242deecb0f4fa6a149607b82))
+
+## [1.12.1](https://github.com/emma-simbot/policy/compare/v1.12.0...v1.12.1) (2022-12-20)
+
+
+### Bug Fixes
+
+* revert tracing enabled for all the web services ([#651](https://github.com/emma-simbot/policy/issues/651)) ([#652](https://github.com/emma-simbot/policy/issues/652)) ([b2b070a](https://github.com/emma-simbot/policy/commit/b2b070acc6cc0eb897873de8a0472638fceb2fb3))
+
+## [1.12.0](https://github.com/emma-simbot/policy/compare/v1.11.0...v1.12.0) (2022-12-20)
+
+
+### Features
+
+* tracing enabled for all the web services ([#651](https://github.com/emma-simbot/policy/issues/651)) ([082b211](https://github.com/emma-simbot/policy/commit/082b2111612e4afd1ad6b1aea437eaedf962b621))
+
+## [1.11.0](https://github.com/emma-simbot/policy/compare/v1.10.2...v1.11.0) (2022-12-16)
+
+
+### Features
+
+* Update the NLU for the new targets ([#643](https://github.com/emma-simbot/policy/issues/643)) ([2a6a196](https://github.com/emma-simbot/policy/commit/2a6a196cd52bf10686d4779ce0b5144554a69cab))
+
+## [1.10.2](https://github.com/emma-simbot/policy/compare/v1.10.1...v1.10.2) (2022-12-13)
+
+
+### Bug Fixes
+
+* wrong room names, remove fullstop from lookup ([#647](https://github.com/emma-simbot/policy/issues/647)) ([0d45b67](https://github.com/emma-simbot/policy/commit/0d45b6797ddd868b440f75d1662653001525e54d))
+
+## [1.10.1](https://github.com/emma-simbot/policy/compare/v1.10.0...v1.10.1) (2022-12-13)
+
+
+### Bug Fixes
+
+* append stop token in raw text match ([#646](https://github.com/emma-simbot/policy/issues/646)) ([399e65f](https://github.com/emma-simbot/policy/commit/399e65fbb687783338b92f7654cbf814f31166e9))
+* reception name ([#645](https://github.com/emma-simbot/policy/issues/645)) ([c687f25](https://github.com/emma-simbot/policy/commit/c687f25e9493788b80635407a2ef72597aaef3cd))
+
+## [1.10.0](https://github.com/emma-simbot/policy/compare/v1.9.0...v1.10.0) (2022-12-13)
+
+
+### Features
+
+* Add low level action predictor with raw text match ([#644](https://github.com/emma-simbot/policy/issues/644)) ([a8ad897](https://github.com/emma-simbot/policy/commit/a8ad897a28cf76f5150d27eb40766c750887873f))
+
+## [1.9.0](https://github.com/emma-simbot/policy/compare/v1.8.0...v1.9.0) (2022-12-05)
+
+
+### Features
+
+* Add new act types (low level and search) to NLU ([#630](https://github.com/emma-simbot/policy/issues/630)) ([97406fc](https://github.com/emma-simbot/policy/commit/97406fc26d3776d90af41519d5c2720c7f6406a2))
+
+## [1.8.0](https://github.com/emma-simbot/policy/compare/v1.7.0...v1.8.0) (2022-11-30)
+
+
+### Features
+
+* Create find endpoint ([#641](https://github.com/emma-simbot/policy/issues/641)) ([5737b55](https://github.com/emma-simbot/policy/commit/5737b558a9984f73bbeedf30a32a69b155d50b6d))
+
+## [1.7.0](https://github.com/emma-simbot/policy/compare/v1.6.0...v1.7.0) (2022-11-30)
+
+
+### Features
+
+* Keep only target frame for each action ([#640](https://github.com/emma-simbot/policy/issues/640)) ([96a30a4](https://github.com/emma-simbot/policy/commit/96a30a40546a2d4fd3101369550c0422d3b4d0d1))
+
+## [1.6.0](https://github.com/emma-simbot/policy/compare/v1.5.2...v1.6.0) (2022-11-24)
+
+
+### Features
+
+* Add distributed weighted sampler ([#634](https://github.com/emma-simbot/policy/issues/634)) ([3f0f82b](https://github.com/emma-simbot/policy/commit/3f0f82baad94d4037b95ea824cb7beee9e0e594b))
+
+
+### Bug Fixes
+
+* test case of all zero weights ([#636](https://github.com/emma-simbot/policy/issues/636)) ([2313f20](https://github.com/emma-simbot/policy/commit/2313f20a9491d2cc168620cfebf7581d1fa35ec8))
+
+## [1.5.2](https://github.com/emma-simbot/policy/compare/v1.5.1...v1.5.2) (2022-11-17)
+
+
+### Bug Fixes
+
+* **hack/simbot-nlu:** comment out everything to do with the `SimBotClarificationTypes` ([#628](https://github.com/emma-simbot/policy/issues/628)) ([68a2176](https://github.com/emma-simbot/policy/commit/68a21763242feb91af308e798648559cd410e001))
+
+## [1.5.1](https://github.com/emma-simbot/policy/compare/v1.5.0...v1.5.1) (2022-11-11)
+
+
+### Bug Fixes
+
+* Fix bugs in simbot datasets ([#625](https://github.com/emma-simbot/policy/issues/625)) ([6672154](https://github.com/emma-simbot/policy/commit/667215445491d69503a6cedb7f4200d82539310d))
+
+## [1.5.0](https://github.com/emma-simbot/policy/compare/v1.4.1...v1.5.0) (2022-11-10)
+
+
+### Features
+
+* Paraphrase simbot actions ([#623](https://github.com/emma-simbot/policy/issues/623)) ([af31c1a](https://github.com/emma-simbot/policy/commit/af31c1a8a362d96d4e86720d7429c304e6404cc8))
+
+## [1.4.1](https://github.com/emma-simbot/policy/compare/v1.4.0...v1.4.1) (2022-11-03)
+
+
+### Bug Fixes
+
+* Fix bug from NLU imports ([#621](https://github.com/emma-simbot/policy/issues/621)) ([26cbdca](https://github.com/emma-simbot/policy/commit/26cbdca4618e0371471ae4e7ede67427b2f67d6b))
+
+## [1.4.0](https://github.com/emma-simbot/policy/compare/v1.3.0...v1.4.0) (2022-11-03)
+
+
+### Features
+
+* Update NLU and Action Prediction with synthetic ambiguous go-to instructions ([#614](https://github.com/emma-simbot/policy/issues/614)) ([85381fe](https://github.com/emma-simbot/policy/commit/85381fe779751cf32abb0c651f9f88d384905f9f))
+
+## [1.3.0](https://github.com/emma-simbot/policy/compare/v1.2.0...v1.3.0) (2022-11-02)
+
+
+### Features
+
+* Decode images ([#618](https://github.com/emma-simbot/policy/issues/618)) ([a02f41b](https://github.com/emma-simbot/policy/commit/a02f41bdcf1eee4e09a5827609e17f9123064466))
+
+## [1.2.0](https://github.com/emma-simbot/policy/compare/v1.1.2...v1.2.0) (2022-11-01)
+
+
+### Features
+
+* Reduce false positives for clarification ([#619](https://github.com/emma-simbot/policy/issues/619)) ([ad88eb7](https://github.com/emma-simbot/policy/commit/ad88eb72a85a0fdd1393c7dc9934dcf72e0497b4))
+
+## [1.1.2](https://github.com/emma-simbot/policy/compare/v1.1.1...v1.1.2) (2022-10-31)
+
+
+### Bug Fixes
+
+* Fix bug in input text preparation ([#620](https://github.com/emma-simbot/policy/issues/620)) ([c83768c](https://github.com/emma-simbot/policy/commit/c83768c16f2c824207efd60b9deef9bbdbd4768c))
+
+## [1.1.1](https://github.com/emma-simbot/policy/compare/v1.1.0...v1.1.1) (2022-10-29)
+
+
+### Bug Fixes
+
+* re-add fastapi as a web dependency and update the dockerfile ([cf2c778](https://github.com/emma-simbot/policy/commit/cf2c77806cee2308180bd409afcae1810bb20e2e))
+
+## [1.1.0](https://github.com/emma-simbot/policy/compare/v1.0.0...v1.1.0) (2022-10-28)
+
+
+### Features
+
+* Replace QA format with speaker tokens ([#616](https://github.com/emma-simbot/policy/issues/616)) ([895cb8d](https://github.com/emma-simbot/policy/commit/895cb8d65c03459b0581b276f0a7d80aa4756747))
+
+## 1.0.0 (2022-10-27)
+
+
+### Features
+
+* Ban generating past frames ([#604](https://github.com/emma-simbot/policy/issues/604)) ([a356c6b](https://github.com/emma-simbot/policy/commit/a356c6bbb51ba4f472fc077dd135f9cb9cca419c))
+* be able to change the number of target tokens per decoding step from the args ([#395](https://github.com/emma-simbot/policy/issues/395)) ([0782e71](https://github.com/emma-simbot/policy/commit/0782e719cf02276c0a6b359d503f85ebbd2e38f0))
+* fix the image comparison to stop being false positive ([#378](https://github.com/emma-simbot/policy/issues/378)) ([558e1cb](https://github.com/emma-simbot/policy/commit/558e1cb903cd29f68f5400d9d2a6037dddfa6574))
+* Subsample look and goto table/desk ([#607](https://github.com/emma-simbot/policy/issues/607)) ([09344bc](https://github.com/emma-simbot/policy/commit/09344bc444ab6bff18c126984ab9ee7910f7d957))
+
+
+### Bug Fixes
+
+* Add endpoint in run_model ([#615](https://github.com/emma-simbot/policy/issues/615)) ([53fa772](https://github.com/emma-simbot/policy/commit/53fa772e5135699f303ce005be60653fbb74efeb))
+* bounding boxes ([#382](https://github.com/emma-simbot/policy/issues/382)) ([a834f5d](https://github.com/emma-simbot/policy/commit/a834f5dac35a70588ac3376283bd8938591e83df))
+* dataloader types in emma pretrain datamodule ([#137](https://github.com/emma-simbot/policy/issues/137)) ([b317198](https://github.com/emma-simbot/policy/commit/b317198f6c0f831cec4098c4cfc266b26399347f))
+* empty trajectory or action delimiter only ([#398](https://github.com/emma-simbot/policy/issues/398)) ([028cb94](https://github.com/emma-simbot/policy/commit/028cb9450fef071ea648bfcd3616adde1bfd7577))
+* input encoding needs to be the same as the training ([#380](https://github.com/emma-simbot/policy/issues/380)) ([094b984](https://github.com/emma-simbot/policy/commit/094b98474b4c2c06162fa8509aeac1f677dfbf9f))
+* original history length set to minumum ([#386](https://github.com/emma-simbot/policy/issues/386)) ([659721d](https://github.com/emma-simbot/policy/commit/659721d46948112936321d4dcaa66f6f50734c17))
+* pick a random object index from the ones in the current frame ([#393](https://github.com/emma-simbot/policy/issues/393)) ([565beb5](https://github.com/emma-simbot/policy/commit/565beb526a1d1d02db35c4bee966f9ff3531c0fe))
+* set the original history length to be max at the max frames ([#383](https://github.com/emma-simbot/policy/issues/383)) ([39df383](https://github.com/emma-simbot/policy/commit/39df3838f3dc029116da17de4ed3f9f8f8968cae))
+* update the previous frame AFTER the comparison is made ([#381](https://github.com/emma-simbot/policy/issues/381)) ([6e8f979](https://github.com/emma-simbot/policy/commit/6e8f979d667e2cf8d80e63ab03e44d9eeb505cdb))
+
+
+### Reverts
+
+* Revert "fix: remove the remaining load ref coco images function" ([2d35446](https://github.com/emma-simbot/policy/commit/2d354467f20d97bc74fde9fa8e43e9d89892627a))
+* Revert "Run the tests CI faster (#211)" ([461edff](https://github.com/emma-simbot/policy/commit/461edffe3255d966ac9c166893e8b06250dae72d)), closes [#211](https://github.com/emma-simbot/policy/issues/211)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..de53d78
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,148 @@
+# Contributing
+
+- [Quick start](#quick-start)
+- [Installing things](#installing-things)
+ - [Poetry](#poetry)
+ - [Managing Python versions...](#managing-python-versions)
+ - [...with pyenv](#with-pyenv)
+ - [...with Anaconda](#with-anaconda)
+- [Developer tooling](#developer-tooling)
+ - [Code style](#code-style)
+ - [Task runner](#task-runner)
+ - [Formatting](#formatting)
+ - [Linting](#linting)
+ - [Type checking](#type-checking)
+ - [Working with branches](#working-with-branches)
+
+## Quick start
+
+Assuming you have [pyenv](https://github.com/pyenv/pyenv) and [Poetry](https://python-poetry.org/), clone the repository and run:
+
+```bash
+# Use Python 3.9.9 in the project
+pyenv local 3.9.9
+
+# Tell Poetry to use pyenv
+poetry env use $(pyenv which python)
+
+# Install dependencies
+poetry install
+
+# Activate the virtual environment
+poetry shell
+
+# Install pre-commit hooks
+pre-commit install
+```
+
+## Installing things
+
+We've tried to keep necessary things as simplistic as possible. However, we need to install some things.
+
+### Poetry
+
+This project uses Poetry for **creating virtual environments** and **managing Python packages**. This should be installed globally and can be done by running:
+
+```bash
+curl -sSL https://install.python-poetry.org | python3 -
+```
+
+You can verify it's installed and accessible by running `poetry --version`.
+
+Once you've got Poetry installed, we think it's best to install Python dependencies into a `.venv/` folder within the cloned repo. Tell Poetry to handle this for you:
+
+```bash
+poetry config virtualenvs.in-project true
+```
+
+For more on how to manage, add, remove, and update dependencies, see the [official Poetry documentation](https://python-poetry.org/docs/basic-usage/).
+
+### Managing Python versions...
+
+There are two ways of managing your Python environments. We recommend [pyenv](https://github.com/pyenv/pyenv), but we have also included instructions for [Anaconda](https://anaconda.com).
+
+#### ...with pyenv
+
+Install pyenv following the [instructions within the official repo](https://github.com/pyenv/pyenv#installation) for your system. **Remember to do step 2**!
+
+You can verify it's installed with `pyenv --version`.
+
+1. Install the Python version you want with `pyenv install 3.9.9`
+2. Go to the cloned repo
+3. Assign the specific Python version to the project by running `pyenv local 3.9.9`
+
+If you want a different version of Python, just change the version in the steps.
+
+#### ...with Anaconda
+
+Install Anaconda using the [instructions on the official website](https://anaconda.com/).
+
+Then create an environment for your project by running:
+
+```bash
+conda create -n PROJECT_NAME python=3.9
+conda activate PROJECT_NAME
+```
+
+## Developer tooling
+
+- Dependency management with [Poetry](https://python-poetry.org/)
+- Easier task running with [Poe the Poet](https://github.com/nat-n/poethepoet)
+- Code formatting with [Black](https://github.com/psf/black) and [Prettier](https://prettier.io/)
+- Linting with [pre-commit](https://pre-commit.com/) and [Flake8](http://flake8.pycqa.org/), using the strict [wemake-python-styleguide](https://wemake-python-stylegui.de/en/latest/)
+- Automated Python Docstring Formatting with [docformatter](https://github.com/myint/docformatter)
+- Continuous integration with [GitHub Actions](https://github.com/features/actions)
+- Testing with [pytest](https://docs.pytest.org/en/latest/)
+- Code coverage with [coverage.oy](https://coverage.readthedocs.io/)
+- Static type-checking with [mypy](http://mypy-lang.org/)
+- Automated Python syntax updates with [pyupgrade](https://github.com/asottile/pyupgrade)
+- Security audit with [Bandit](https://github.com/PyCQA/bandit)
+- Automated release notes with [Release Drafter](https://github.com/release-drafter/release-drafter)
+- Manage project labels with [GitHub Labeler](https://github.com/marketplace/actions/github-labeler)
+- Automated dependency updates with [Dependabot](https://dependabot.com/)
+
+### Code style
+
+To ensure all code is standardized, we use [black](https://github.com/psf/black), along with other automatic formatters. To enforce a consistent coding style, we use [Flake8](https://flake8.pycqa.org/en/latest/) with the [wemake-python-styleguide](https://wemake-python-stylegui.de/en/latest/). To verify and enforce type annotations, we use [mypy](https://mypy.readthedocs.io/en/stable/). Common tasks can be called using [Poe the Poet](https://github.com/nat-n/poethepoet).
+
+#### Task runner
+
+[Poe the Poet](https://github.com/nat-n/poethepoet) is a task runner that works well with Poetry. To see what tasks exist, run `poe` in your terminal. If you want to add more tasks, check [the documentation](https://github.com/nat-n/poethepoet) and [what already exists](https://github.com/emma-simbot/research-base/blob/main/pyproject.toml).
+
+If you have issues getting `poe` to work, make sure that you are already within the activated shell (by running `poetry shell`).
+
+#### Formatting
+
+If you want to automatically format on every commit, you can use [pre-commit](https://pre-commit.com/). As mentioned above, run `pre-commit install` and it will install the hooks.
+
+To manually format all files, run
+
+```bash
+poe format
+```
+
+#### Linting
+
+If you want to check the linting rules on the codebase, run
+
+```bash
+poe lint
+```
+
+#### Type checking
+
+If you want to check types on the codebase, run
+
+```bash
+poe typecheck
+```
+
+#### Working with branches
+
+We've settled on a middle ground when it comes to developing: **keep the `main` branch clean**.
+
+Within branches, you can do whatever you want to do, but you should **never push anything directly to the `main` branch**.
+
+For every PR, an automated set of linters and formatters will check your code to
+see whether it follows the set rules. If it fails, **do not merge** with the
+`main` branch.
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..3c8a5d5
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,32 @@
+ARG BUILDER_IMAGE_NAME
+ARG BASE_IMAGE_NAME
+
+# ---------------------------------- Builder --------------------------------- #
+# hadolint ignore=DL3006
+FROM ${BUILDER_IMAGE_NAME} as builder
+
+ARG TORCH_VERSION_SUFFIX=""
+
+WORKDIR ${PYSETUP_PATH}/repo
+
+COPY . ${PYSETUP_PATH}/repo
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN poetry install --only main,web \
+ && TORCH_VERSION="$(pip show torch | grep Version | cut -d ':' -f2 | xargs)${TORCH_VERSION_SUFFIX}" \
+ && TORCHVISION_VERSION="$(pip show torchvision | grep Version | cut -d ':' -f2 | xargs)${TORCH_VERSION_SUFFIX}" \
+ && pip install --no-cache-dir torch=="${TORCH_VERSION}" torchvision=="${TORCHVISION_VERSION}" -f https://download.pytorch.org/whl/torch_stable.html
+
+# ---------------------------------- Runner ---------------------------------- #
+# hadolint ignore=DL3006
+FROM ${BASE_IMAGE_NAME} as runner
+
+COPY --from=builder ${PYSETUP_PATH}/repo ${PYSETUP_PATH}/repo
+COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
+
+WORKDIR ${PYSETUP_PATH}/repo
+
+# Set the PYTHONPATH
+ENV PYTHONPATH='./src'
+
+ENTRYPOINT ["/bin/bash"]
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..e8b5d28
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 emma-heriot-watt
+
+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..e89c371
--- /dev/null
+++ b/README.md
@@ -0,0 +1,157 @@
+
+
+# EMMA: Policy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[![Continuous Integration](https://github.com/emma-heriot-watt/policy/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/emma-heriot-watt/policy/actions/workflows/continuous_integration.yml)
+[![Tests](https://github.com/emma-heriot-watt/policy/actions/workflows/tests.yml/badge.svg)](https://github.com/emma-heriot-watt/policy/actions/workflows/tests.yml)
+[![Build and push images](https://github.com/emma-heriot-watt/policy/actions/workflows/build-image.yml/badge.svg)](https://github.com/emma-heriot-watt/policy/actions/workflows/build-image.yml)
+
+
+
+---
+
+## Quick start
+
+Assuming you have [pyenv](https://github.com/pyenv/pyenv) and [Poetry](https://python-poetry.org/), clone the repository and run:
+
+```bash
+# Use Python 3.9.13 in the project
+pyenv local 3.9.13
+
+# Tell Poetry to use pyenv
+poetry env use $(pyenv which python)
+
+# Install dependencies
+poetry install
+
+# Activate the virtual environment
+poetry shell
+
+# Install pre-commit hooks
+pre-commit install
+```
+
+Check out the [CONTRIBUTING.md](https://github.com/emma-simbot/policy/blob/main/CONTRIBUTING.md) for more detailed information on getting started.
+
+### Installing optional dependencies
+
+We've separated specific groups of dependencies so that you only need to install what you need.
+
+- For demonstrating using Gradio, run `poetry install --with demo`
+
+## Project structure
+
+This is organised in very similarly to structure from the [Lightning-Hydra-Template](https://github.com/ashleve/lightning-hydra-template#project-structure) to facilitate reproducible research code.
+
+- `scripts` — `sh` scripts to run experiments
+- `configs` — configurations files using the [Hydra framework](https://hydra.cc/)
+- `docker` — Dockerfiles to ease deployment
+- `notebooks` — Jupyter notebook for analysis and exploration
+- `storage` — data for training/inference _(and maybe use symlinks to point to other parts of the filesystem)_
+- `tests` — [pytest](https://docs.pytest.org/en/) scripts to verify the code
+- `src` — where the main code lives
+
+## Downloading data
+
+### Checkpoints
+
+All checkpoints are available here on [HugginFace](https://huggingface.co/gpantaz/emma_models/tree/main)
+
+These checkpoints include:
+| Model name | Description |
+| :--- | :---- |
+| [emma_base_pretrain.ckpt](https://huggingface.co/gpantaz/emma_models/blob/main/emma_base_pretrain.ckpt) | The EMMA base pretrained checkpoint |
+|[unified_emma_base_finetune_arena.ckpt](https://huggingface.co/gpantaz/emma_models/blob/main/unified_emma_base_finetune_arena.ckpt)| The EMMA-unified variant fine tuned on the DTC task|
+|[modular_action_emma_base_finetune_arena.ckpt](https://huggingface.co/gpantaz/emma_models/blob/main/modular_action_emma_base_finetune_arena.ckpt)|The EMMA-modular variant fine tuned on the DTC task that performs action execution and visual grounding
+|[vinvl_finetune_arena.ckpt](https://huggingface.co/gpantaz/emma_models/blob/main/vivl_finetune_arena.ckpt)| The finetuned VinVL checkpoint|
+
+### DBs
+
+The DBs are required for pre-training and fine tuning and are available on [Hugginface](https://huggingface.co/datasets/gpantaz/emma_datasets/tree/main)
+
+We are providing DBs:
+
+1. Pretraining on image-based tasks (one-db per task)
+2. Finetuning on image-based tasks (one-db per task)
+3. Finetuning on the DTC tasks (one-db for action execution / visual grounding & one db for the contextual routing task)
+
+Make sure that these are placed under `storage/db` folder or alternatively set the path to the dbs within each experiment config.
+
+### Features
+
+The image features for all image-base tasks and the DTC benchmark on [Huggingface](https://huggingface.co/datasets/gpantaz/emma_features/tree/main)
+
+The image features were extracted using the pretrained [VinVL checkpoint](https://github.com/pzzhang/VinVL). For the DTC benchmark we have finetuned the checkpoint on the Alexa Arena data.
+
+## Pretraining
+
+First, make sure that you have downloaded the pretraining db and the corresponding features.
+
+```
+python run.py experiment=pretrain.yaml
+```
+
+## Downstream
+
+### COCO
+
+```
+python run.py experiment=coco_downstream.yaml
+```
+
+### VQAv2
+
+```
+python run.py experiment=vqa_v2_downstream.yaml
+```
+
+### RefCOCOg
+
+```
+python run.py experiment=refcoco_downstream.yaml
+```
+
+#### NLVR^2
+
+```
+python run.py experiment=nlvr2_downstream.yaml
+```
+
+#### DTC - Unified model
+
+When initializing from the pretrained model, which doesn't include the special tokens for the downstream CR and action prediction tasks, you will need to manually edit the vocabulary size in the [model config](<[heriot-watt/emma-base-combined/config.json](https://github.com/emma-heriot-watt/policy/blob/main/heriot-watt/emma-base-cr/config.json)https://github.com/emma-heriot-watt/policy/blob/main/heriot-watt/emma-base-cr/config.json>). For initialization from the pretrained `emma-base`, set the `vocab_size` to 10252.
+
+```
+python run.py experiment=simbot_combined.yaml
+```
diff --git a/configs/callbacks/default.yaml b/configs/callbacks/default.yaml
new file mode 100644
index 0000000..af7da8b
--- /dev/null
+++ b/configs/callbacks/default.yaml
@@ -0,0 +1,29 @@
+model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_loss" # name of the logged metric which determines when model is improving
+ mode: "min" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 3 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+
+# early_stopping:
+# _target_: pytorch_lightning.callbacks.EarlyStopping
+# monitor: "train_loss" # name of the logged metric which determines when model is improving
+# mode: "min" # "min" means higher metric value is better, can be also "max"
+# patience: 100 # how many validation epochs of not improving until training stops
+# min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+
+rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
diff --git a/configs/callbacks/none.yaml b/configs/callbacks/none.yaml
new file mode 100644
index 0000000..e69de29
diff --git a/configs/callbacks/wandb.yaml b/configs/callbacks/wandb.yaml
new file mode 100644
index 0000000..8ced3d5
--- /dev/null
+++ b/configs/callbacks/wandb.yaml
@@ -0,0 +1,17 @@
+defaults:
+ - default.yaml
+
+watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
diff --git a/configs/config.yaml b/configs/config.yaml
new file mode 100644
index 0000000..b75f9db
--- /dev/null
+++ b/configs/config.yaml
@@ -0,0 +1,48 @@
+# @package _global_
+
+# specify here default training configuration
+defaults:
+ - _self_
+ - trainer: default.yaml
+ - model: emma_small_model.yaml
+ - datamodule: emma_datamodule.yaml
+ - callbacks: wandb
+ - logger: wandb
+
+ - mode: default.yaml
+
+ - experiment: null
+ - hparams_search: null
+
+ # enable color logging
+ - override hydra/hydra_logging: colorlog
+ - override hydra/job_logging: colorlog
+
+# path to original working directory
+# hydra hijacks working directory by changing it to the current log directory,
+# so it's useful to have this path as a special variable
+# https://hydra.cc/docs/next/tutorials/basic/running_your_app/working_directory
+work_dir: ${hydra:runtime.cwd}
+
+# path to folder with data
+data_dir: ${work_dir}/data/
+
+# path to save checkpoints
+checkpoint_dir: "${work_dir}/storage/model/checkpoints/"
+
+# pretty print config at the start of the run using Rich library
+print_config: True
+
+# disable python warnings if they annoy you
+ignore_warnings: True
+
+# evaluate on test set, using best model weights achieved during training
+# lightning chooses best weights based on metric specified in checkpoint callback
+test_after_training: False
+
+# seed for random number generators in pytorch, numpy and python.random
+seed: null
+
+# name of the run is accessed by loggers
+# should be used along with experiment mode
+name: null
diff --git a/configs/datamodule/emma_datamodule.yaml b/configs/datamodule/emma_datamodule.yaml
new file mode 100644
index 0000000..5438867
--- /dev/null
+++ b/configs/datamodule/emma_datamodule.yaml
@@ -0,0 +1,31 @@
+_target_: emma_policy.datamodules.pretrain_datamodule.EmmaPretrainDataModule
+
+model_name: heriot-watt/emma-base
+pretrain_db_dir_path: ${work_dir}/storage/db/
+train_batch_size: 100
+val_batch_size: 128
+load_valid_data: True
+num_workers: 12
+max_lang_tokens: 512
+max_frames: 100
+tokenizer_truncation_side: right
+balance_datasets: False
+shuffle_objects: False
+propotional_task_sampling: False
+enabled_tasks:
+ image:
+ - mlm
+ - itm
+ - visual_grounding
+ - dense_captioning
+ - captioning
+ - vqa
+ - relation_detection
+ video:
+ # - instruction_prediction
+ # - action_execution
+ # - vtm
+ # - vmlm
+ # - fom
+ # - goal_prediction
+# pin_memory: False
diff --git a/configs/datamodule/emma_test_datamodule.yaml b/configs/datamodule/emma_test_datamodule.yaml
new file mode 100644
index 0000000..09e7bae
--- /dev/null
+++ b/configs/datamodule/emma_test_datamodule.yaml
@@ -0,0 +1,28 @@
+_target_: emma_policy.datamodules.pretrain_datamodule.EmmaPretrainDataModule
+
+model_name: heriot-watt/emma-small
+pretrain_db_dir_path: ${work_dir}/storage/fixtures/db/
+train_batch_size: 2
+val_batch_size: 2
+load_valid_data: True
+num_workers: 0
+max_lang_tokens: 256
+max_frames: 100
+balance_datasets: False
+enabled_tasks:
+ image:
+ - mlm
+ - itm
+ # - visual_grounding
+ # - dense_captioning
+ # - captioning
+ # - vqa
+ # - relation_detection
+ video:
+ # - instruction_prediction
+ # - action_execution
+ # - vtm
+ # - vmlm
+ # - fom
+ # - goal_prediction
+# pin_memory: False
diff --git a/configs/datamodule/image_based_datamodule.yaml b/configs/datamodule/image_based_datamodule.yaml
new file mode 100644
index 0000000..6d1d05e
--- /dev/null
+++ b/configs/datamodule/image_based_datamodule.yaml
@@ -0,0 +1,23 @@
+_target_: emma_policy.datamodules.pretrain_datamodule.EmmaPretrainDataModule
+
+model_name: heriot-watt/emma-small
+pretrain_db_dir_path: ${work_dir}/storage/db/
+batch_size: 32
+load_valid_data: True
+num_workers: 4
+balance_datasets: False
+enabled_tasks:
+ image:
+ - mlm
+ - itm
+ # - visual_grounding
+ # - dense_captioning
+ - captioning
+ - vqa
+ # - relation_detection
+ video:
+ # - instruction_prediction
+ # - action_execution
+ # - vtm
+ # - vmlm
+# pin_memory: False
diff --git a/configs/experiment/coco_downstream.yaml b/configs/experiment/coco_downstream.yaml
new file mode 100644
index 0000000..1664e33
--- /dev/null
+++ b/configs/experiment/coco_downstream.yaml
@@ -0,0 +1,120 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "coco_downstream"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 0
+
+ resume_from_checkpoint: null
+ max_epochs: 20
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 4
+
+model:
+ _target_: emma_policy.models.coco_emma_policy.COCOCaptioningEmmaPolicy
+
+ model_name: heriot-watt/emma-base
+ initialization_checkpoint: null
+ # default hyperparameters for VL-Bart-base COCOVG_pretrain
+ num_beams: 5
+ max_text_length: 20
+ coco_metrics: ["BLEU", "CIDEr"]
+ lr: 0.00003
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.05
+ label_smoothing: 0.0
+
+datamodule:
+ _target_: emma_policy.datamodules.coco_captioning_datamodule.COCOCaptioningDataModule
+
+ model_name: heriot-watt/emma-base
+ coco_cap_train_db_file: storage/db/coco_train.db
+ coco_cap_restvalid_db_file: storage/db/coco_restval.db
+ coco_cap_valid_db_file: storage/db/coco_valid.db
+ coco_cap_test_db_file: storage/db/coco_test.db
+ train_batch_size: 80
+ val_batch_size: 100
+ num_workers: 0
+ max_lang_tokens: 64
+ tokenizer_truncation_side: right
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_CIDEr" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "mscoco_fine_tuning"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/example_full.yaml b/configs/experiment/example_full.yaml
new file mode 100644
index 0000000..6280bfe
--- /dev/null
+++ b/configs/experiment/example_full.yaml
@@ -0,0 +1,76 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "example_full"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+ gpus: 0
+ min_epochs: 1
+ max_epochs: 10
+ gradient_clip_val: 0.5
+ accumulate_grad_batches: 2
+ weights_summary: "full"
+ num_sanity_val_steps: 0
+
+model:
+ _target_: src.models.mnist_model.MNISTLitModel
+ input_size: 784
+ lin1_size: 256
+ lin2_size: 256
+ lin3_size: 128
+ output_size: 10
+ lr: 0.001
+ weight_decay: 0.0005
+
+datamodule:
+ _target_: src.datamodules.mnist_datamodule.MNISTDataModule
+ data_dir: ${data_dir}
+ batch_size: 64
+ train_val_test_split: [55_000, 5_000, 10_000]
+ num_workers: 0
+ pin_memory: False
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "val/acc"
+ mode: "max"
+ save_top_k: 1
+ save_last: True
+ verbose: False
+ dirpath: "checkpoints/"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ early_stopping:
+ _target_: pytorch_lightning.callbacks.EarlyStopping
+ monitor: "val/acc"
+ mode: "max"
+ patience: 5
+ min_delta: 0
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+
+logger:
+ wandb:
+ name: ${name}_${now:%Y-%m-%d_%H-%M-%S}
+ tags: ["best_model", "mnist"]
+ notes: "Description of this model."
diff --git a/configs/experiment/example_simple.yaml b/configs/experiment/example_simple.yaml
new file mode 100644
index 0000000..5c28ce6
--- /dev/null
+++ b/configs/experiment/example_simple.yaml
@@ -0,0 +1,36 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_simple.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: default.yaml
+ - override /model: mnist_model.yaml
+ - override /datamodule: mnist_datamodule.yaml
+ - override /callbacks: default.yaml
+ - override /logger: null
+
+# all parameters below will be merged with parameters from default configurations set above
+# this allows you to overwrite only specified parameters
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "example_simple"
+
+seed: 12345
+
+trainer:
+ min_epochs: 1
+ max_epochs: 10
+ gradient_clip_val: 0.5
+
+model:
+ lin1_size: 128
+ lin2_size: 256
+ lin3_size: 64
+ lr: 0.002
+
+datamodule:
+ batch_size: 64
+ train_val_test_split: [55_000, 5_000, 10_000]
diff --git a/configs/experiment/nlvr2_downstream.yaml b/configs/experiment/nlvr2_downstream.yaml
new file mode 100644
index 0000000..1ae5a2c
--- /dev/null
+++ b/configs/experiment/nlvr2_downstream.yaml
@@ -0,0 +1,114 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=nlvr2_downstream.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "nlvr2_downstream"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 0
+ resume_from_checkpoint: null
+ max_epochs: 100
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+
+model:
+ _target_: emma_policy.models.nlvr2_emma_policy.NLVR2EmmaPolicy
+
+ model_name: heriot-watt/emma-small
+ initialization_checkpoint: null
+ nlvr2_metrics: ["accuracy", "consistency"]
+ max_text_length: 20
+ lr: 0.0001
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.05
+
+datamodule:
+ _target_: emma_policy.datamodules.nlvr2_datamodule.NLVR2DataModule
+
+ model_name: heriot-watt/emma-small
+ nlvr2_train_db_file: storage/db/nlvr2_fixtures/nlvr_train.db
+ nlvr2_valid_db_file: storage/db/nlvr2_fixtures/nlvr_valid_seen.db
+ nlvr2_test_db_file: storage/db/nlvr2_fixtures/nlvr_valid_unseen.db
+ train_batch_size: 64
+ val_batch_size: 128
+ num_workers: 4
+ max_lang_tokens: 512
+ tokenizer_truncation_side: right
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_accuracy" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 3 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "nlvr2_downstream"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/refcoco_downstream.yaml b/configs/experiment/refcoco_downstream.yaml
new file mode 100644
index 0000000..3427602
--- /dev/null
+++ b/configs/experiment/refcoco_downstream.yaml
@@ -0,0 +1,121 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "refcoco_downstream"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 0
+
+ resume_from_checkpoint: null
+ max_epochs: 10
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 1
+
+model:
+ _target_: emma_policy.models.refcoco_emma_model.RefCocoEmmaPolicy
+
+ model_name: heriot-watt/emma-base
+ initialization_checkpoint: null
+ # default hyperparameters for VL-Bart-base RefCOCOg_pretrain
+ num_beams: 2
+ max_generated_text_length: 4
+ constrain_outputs: True
+ lr: 0.00005
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.1
+ label_smoothing: 0.0
+
+datamodule:
+ _target_: emma_policy.datamodules.refcoco_datamodule.RefCocoDataModule
+
+ model_name: heriot-watt/emma-base
+ refcoco_train_db_file: storage/db/refcoco_train.db
+ refcoco_valid_db_file: storage/db/refcoco_valid.db
+ refcoco_test_db_file: storage/db/refcoco_test.db
+ train_batch_size: 32
+ val_batch_size: 100
+ num_workers: 4
+ max_lang_tokens: 64
+ tokenizer_truncation_side: right
+ shuffle_objects: False
+ train_with_golden_bbox_prob: 0.5
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_accuracy" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "refcoco_fine_tuning"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/simbot_combined.yaml b/configs/experiment/simbot_combined.yaml
new file mode 100644
index 0000000..14abceb
--- /dev/null
+++ b/configs/experiment/simbot_combined.yaml
@@ -0,0 +1,137 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "combined_human_vision_aug_dowsampled_cdf_aug_lr0.0001"
+checkpoint_dir: "${work_dir}/storage/model/checkpoints/simbot/${name}"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: [0]
+
+ resume_from_checkpoint: null
+ max_epochs: 80
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 16
+ strategy: ddp_find_unused_parameters_false
+ precision: 16
+ replace_sampler_ddp: False
+ reload_dataloaders_every_n_epochs: 1
+ limit_train_batches: 2048
+ limit_test_batches: 7500
+ check_val_every_n_epoch: 2
+
+model:
+ _target_: emma_policy.models.simbot_combined_policy.SimBotEmmaCombinedPolicy
+
+ model_name: heriot-watt/emma-base
+ # initialization_checkpoint: storage/model/checkpoints/emma_base_full_cc3mcocovg_balanced_bsz2048_lr0.0003_ratio3_no_global_embeds.ckpt
+ initialization_checkpoint: storage/model/checkpoints/simbot/combined_human_vision_aug_dowsampled_cdf_aug_lr0.0001/epoch_075.ckpt
+ num_beams: 5
+ max_generated_text_length: 80
+ lr: 0.0001
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.1
+ label_smoothing: 0.1
+ save_results_path: combined_human_vision_aug_dowsampled_cdf_aug_lr0.0001_test_predictions.json
+ strict: False
+ resize_embeddings: True
+ test_single_instance: True
+
+datamodule:
+ _target_: emma_policy.datamodules.simbot_combined_datamodule.SimBotCombinedDataModule
+
+ model_name: heriot-watt/emma-base
+ simbot_action_train_db_file: storage/db_emnlp/simbot_actions_train_annotations_human_vision_aug_downsampled_cdf_aug.db
+ simbot_action_valid_db_file: storage/db_emnlp/simbot_actions_valid_annotations_human_vision_aug_downsampled_cdf_aug.db
+ simbot_vad_train_db_file: storage/db_emnlp/simbot_clarifications_train_annotations_human_vision_aug_downsampled_cdf_aug.db
+ simbot_vad_valid_db_file: storage/db_emnlp/simbot_clarifications_valid_annotations_human_vision_aug_downsampled_cdf_aug.db
+ train_batch_size: 16
+ val_batch_size: 1
+ num_workers: 0
+ max_lang_tokens: 128
+ max_frames: 15
+ tokenizer_truncation_side: right
+ weighted_sampling: True
+ weight_temperature: 1.3
+ iou_threshold: 0.5
+ skip_common_instances: False
+ shuffle_objects: True
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_exact_match" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "paper_simbot_combined"
+ name: ${name}
+ save_dir: "logs/"
+ offline: True # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/simbot_cr.yaml b/configs/experiment/simbot_cr.yaml
new file mode 100644
index 0000000..95bf00b
--- /dev/null
+++ b/configs/experiment/simbot_cr.yaml
@@ -0,0 +1,122 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "simbot_cr"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 0
+
+ resume_from_checkpoint: null
+ max_epochs: 20
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 2
+ precision: 16
+ reload_dataloaders_every_n_epochs: 1
+
+model:
+ _target_: emma_policy.models.simbot_cr_policy.SimBotCREmmaPolicy
+
+ model_name: heriot-watt/emma-base
+ initialization_checkpoint: null
+ strict: False
+ num_beams: 2
+ max_generated_text_length: 8
+ lr: 0.00005
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.1
+ label_smoothing: 0.05
+ resize_embeddings: True
+
+datamodule:
+ _target_: emma_policy.datamodules.simbot_cr_datamodule.SimBotCRDataModule
+
+ model_name: heriot-watt/emma-base
+ train_db_file: storage/db/simbot_clarifications_train.db
+ valid_db_file: storage/db/simbot_clarifications_valid.db
+ test_db_file: storage/db/simbot_clarifications_valid.db
+ train_batch_size: 64
+ val_batch_size: 64
+ num_workers: 4
+ max_lang_tokens: 64
+ tokenizer_truncation_side: right
+ balance_dataset: True
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "validation_accuracy" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "simbot_cr"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/simbot_downstream.yaml b/configs/experiment/simbot_downstream.yaml
new file mode 100644
index 0000000..f6f5c03
--- /dev/null
+++ b/configs/experiment/simbot_downstream.yaml
@@ -0,0 +1,128 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "simbot_downstream"
+checkpoint_dir: "${work_dir}/storage/model/checkpoints/simbot/${name}"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 4
+
+ resume_from_checkpoint: null
+ max_epochs: 20
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 1
+ strategy: ddp_find_unused_parameters_false
+ precision: 16
+ replace_sampler_ddp: False
+ reload_dataloaders_every_n_epochs: 1
+
+model:
+ _target_: emma_policy.models.simbot_emma_policy.SimBotEmmaPolicy
+
+ model_name: heriot-watt/emma-base
+ initialization_checkpoint: null
+ num_beams: 5
+ max_generated_text_length: 25
+ lr: 0.0001
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.01
+ label_smoothing: 0.1
+ save_results_path: storage/datasets/simbot/test_predictions.json
+ strict: False
+ resize_embeddings: True
+
+datamodule:
+ _target_: emma_policy.datamodules.simbot_action_datamodule.SimBotActionDataModule
+
+ model_name: heriot-watt/emma-base
+ simbot_action_train_db_file: storage/db/simbot_actions_train.db
+ simbot_action_valid_db_file: storage/db/simbot_actions_valid.db
+ train_batch_size: 32
+ val_batch_size: 32
+ num_workers: 16
+ max_lang_tokens: 128
+ max_frames: 15
+ tokenizer_truncation_side: right
+ weighted_sampling: True
+ weight_temperature: 1.3
+ iou_threshold: 0.5
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_action_exact_match" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "simbot_fine_tuning"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/experiment/vqa_v2_downstream.yaml b/configs/experiment/vqa_v2_downstream.yaml
new file mode 100644
index 0000000..9ec3127
--- /dev/null
+++ b/configs/experiment/vqa_v2_downstream.yaml
@@ -0,0 +1,121 @@
+# @package _global_
+
+# to execute this experiment run:
+# python run.py experiment=example_full.yaml
+
+defaults:
+ - override /mode: exp.yaml
+ - override /trainer: null
+ - override /model: null
+ - override /datamodule: null
+ - override /callbacks: null
+ - override /logger: null
+
+# we override default configurations with nulls to prevent them from loading at all
+# instead we define all modules and their paths directly in this config,
+# so everything is stored in one place
+
+# name of the run determines folder name in logs
+# it's also accessed by loggers
+name: "vqa_v2_downstream"
+
+seed: 12345
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+
+ gpus: 4
+
+ resume_from_checkpoint: null
+ max_epochs: 20
+
+ # number of validation steps to execute at the beginning of the training
+ num_sanity_val_steps: 0
+ gradient_clip_val: 1.0
+ accumulate_grad_batches: 4
+ strategy: ddp_find_unused_parameters_false
+ precision: 16
+
+model:
+ _target_: emma_policy.models.vqa_v2_emma_policy.VQAv2EmmaPolicy
+
+ model_name: heriot-watt/emma-base
+ initialization_checkpoint: null
+ # default hyperparameters for VL-Bart-base COCOVG_pretrain
+ num_beams: 5
+ max_text_length: 15
+ lr: 0.00005
+ weight_decay: 0.01
+ optimizer: adamw
+ lr_scheduler: linear_with_warmup
+ num_warmup_steps: 0.1
+ label_smoothing: 0.1
+ save_results_path: storage/vqa_results.json
+
+datamodule:
+ _target_: emma_policy.datamodules.vqa_v2_datamodule.VQAv2DataModule
+
+ model_name: heriot-watt/emma-base
+ vqa_v2_train_db_file: storage/db/vqa_v2_trainvalvg.db
+ vqa_v2_valid_db_file: storage/db/vqa_v2_valid_mini.db
+ vqa_v2_test_db_file: storage/db/vqa_v2_test.db
+ train_batch_size: 80
+ val_batch_size: 100
+ num_workers: 16
+ max_lang_tokens: 64
+ tokenizer_truncation_side: right
+
+callbacks:
+ model_checkpoint:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ monitor: "valid_accuracy" # name of the logged metric which determines when model is improving
+ mode: "max" # "min" means higher metric value is better, can be also "max"
+ save_top_k: 1 # save k best models (determined by above metric)
+ save_last: True # additionaly always save model from last epoch
+ verbose: False
+ dirpath: "${checkpoint_dir}"
+ filename: "epoch_{epoch:03d}"
+ auto_insert_metric_name: False
+ # early_stopping:
+ # _target_: pytorch_lightning.callbacks.EarlyStopping
+ # monitor: "train_loss" # name of the logged metric which determines when model is improving
+ # mode: "min" # "min" means higher metric value is better, can be also "max"
+ # patience: 100 # how many validation epochs of not improving until training stops
+ # min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
+ rich_progress_bar:
+ _target_: pytorch_lightning.callbacks.RichProgressBar
+ refresh_rate_per_second: 5
+
+ model_summary:
+ _target_: pytorch_lightning.callbacks.RichModelSummary
+ max_depth: -1
+
+ lr_monitor:
+ _target_: pytorch_lightning.callbacks.LearningRateMonitor
+ logging_interval: "step"
+ watch_model:
+ _target_: emma_policy.callbacks.wandb.WatchModel
+ log: null
+ log_freq: 100
+ log_graph: False
+
+ upload_code_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCode
+ code_dir: ${work_dir}/src
+
+ upload_ckpts_as_artifact:
+ _target_: emma_policy.callbacks.wandb.artifacts.UploadCheckpoints
+ checkpoint_dir: "${checkpoint_dir}"
+ only_upload_best: True
+
+logger:
+ wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "vqa_fine_tuning"
+ name: ${name}
+ save_dir: "logs/"
+ offline: True # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/hparams_search/mnist_optuna.yaml b/configs/hparams_search/mnist_optuna.yaml
new file mode 100644
index 0000000..ea334ad
--- /dev/null
+++ b/configs/hparams_search/mnist_optuna.yaml
@@ -0,0 +1,59 @@
+# @package _global_
+
+# example hyperparameter optimization of some experiment with Optuna:
+# python run.py -m hparams_search=mnist_optuna experiment=example_simple hydra.sweeper.n_trials=30
+
+defaults:
+ - override /hydra/sweeper: optuna
+
+# choose metric which will be optimized by Optuna
+optimized_metric: "val/acc_best"
+
+hydra:
+ # here we define Optuna hyperparameter search
+ # it optimizes for value returned from function with @hydra.main decorator
+ # learn more here: https://hydra.cc/docs/next/plugins/optuna_sweeper
+ sweeper:
+ _target_: hydra_plugins.hydra_optuna_sweeper.optuna_sweeper.OptunaSweeper
+ storage: null
+ study_name: null
+ n_jobs: 1
+
+ # 'minimize' or 'maximize' the objective
+ direction: maximize
+
+ # number of experiments that will be executed
+ n_trials: 20
+
+ # choose Optuna hyperparameter sampler
+ # learn more here: https://optuna.readthedocs.io/en/stable/reference/samplers.html
+ sampler:
+ _target_: optuna.samplers.TPESampler
+ seed: 12345
+ consider_prior: true
+ prior_weight: 1.0
+ consider_magic_clip: true
+ consider_endpoints: false
+ n_startup_trials: 10
+ n_ei_candidates: 24
+ multivariate: false
+ warn_independent_sampling: true
+
+ # define range of hyperparameters
+ search_space:
+ datamodule.batch_size:
+ type: categorical
+ choices: [32, 64, 128]
+ model.lr:
+ type: float
+ low: 0.0001
+ high: 0.2
+ model.lin1_size:
+ type: categorical
+ choices: [32, 64, 128, 256, 512]
+ model.lin2_size:
+ type: categorical
+ choices: [32, 64, 128, 256, 512]
+ model.lin3_size:
+ type: categorical
+ choices: [32, 64, 128, 256, 512]
diff --git a/configs/logger/comet.yaml b/configs/logger/comet.yaml
new file mode 100644
index 0000000..6ac99f4
--- /dev/null
+++ b/configs/logger/comet.yaml
@@ -0,0 +1,7 @@
+# https://www.comet.ml
+
+comet:
+ _target_: pytorch_lightning.loggers.comet.CometLogger
+ api_key: ${oc.env:COMET_API_TOKEN} # api key is loaded from environment variable
+ project_name: "template-tests"
+ experiment_name: ${name}
diff --git a/configs/logger/csv.yaml b/configs/logger/csv.yaml
new file mode 100644
index 0000000..0f917e8
--- /dev/null
+++ b/configs/logger/csv.yaml
@@ -0,0 +1,8 @@
+# csv logger built in lightning
+
+csv:
+ _target_: pytorch_lightning.loggers.csv_logs.CSVLogger
+ save_dir: "."
+ name: "csv/"
+ version: ${name}
+ prefix: ""
diff --git a/configs/logger/many_loggers.yaml b/configs/logger/many_loggers.yaml
new file mode 100644
index 0000000..801444d
--- /dev/null
+++ b/configs/logger/many_loggers.yaml
@@ -0,0 +1,9 @@
+# train with many loggers at once
+
+defaults:
+ # - comet.yaml
+ - csv.yaml
+ # - mlflow.yaml
+ # - neptune.yaml
+ - tensorboard.yaml
+ - wandb.yaml
diff --git a/configs/logger/mlflow.yaml b/configs/logger/mlflow.yaml
new file mode 100644
index 0000000..bfb3781
--- /dev/null
+++ b/configs/logger/mlflow.yaml
@@ -0,0 +1,10 @@
+# https://mlflow.org
+
+mlflow:
+ _target_: pytorch_lightning.loggers.mlflow.MLFlowLogger
+ experiment_name: ${name}
+ tracking_uri: null
+ tags: null
+ save_dir: ./mlruns
+ prefix: ""
+ artifact_location: null
diff --git a/configs/logger/neptune.yaml b/configs/logger/neptune.yaml
new file mode 100644
index 0000000..117af93
--- /dev/null
+++ b/configs/logger/neptune.yaml
@@ -0,0 +1,11 @@
+# https://neptune.ai
+
+neptune:
+ _target_: pytorch_lightning.loggers.neptune.NeptuneLogger
+ api_key: ${oc.env:NEPTUNE_API_TOKEN} # api key is loaded from environment variable
+ project_name: your_name/template-tests
+ close_after_fit: True
+ offline_mode: False
+ experiment_name: ${name}
+ experiment_id: null
+ prefix: ""
diff --git a/configs/logger/tensorboard.yaml b/configs/logger/tensorboard.yaml
new file mode 100644
index 0000000..b0e0531
--- /dev/null
+++ b/configs/logger/tensorboard.yaml
@@ -0,0 +1,10 @@
+# https://www.tensorflow.org/tensorboard/
+
+tensorboard:
+ _target_: pytorch_lightning.loggers.tensorboard.TensorBoardLogger
+ save_dir: "tensorboard/"
+ name: null
+ version: ${name}
+ log_graph: False
+ default_hp_metric: True
+ prefix: ""
diff --git a/configs/logger/wandb.yaml b/configs/logger/wandb.yaml
new file mode 100644
index 0000000..74f0dd4
--- /dev/null
+++ b/configs/logger/wandb.yaml
@@ -0,0 +1,10 @@
+wandb:
+ _target_: pytorch_lightning.loggers.wandb.WandbLogger
+ project: "example"
+ name: ${name}
+ save_dir: "logs/"
+ offline: False # set True to store all logs only locally
+ id: null # pass correct id to resume experiment!
+ entity: "emma-simbot"
+ log_model: False
+ job_type: "train"
diff --git a/configs/mode/debug.yaml b/configs/mode/debug.yaml
new file mode 100644
index 0000000..32ae23f
--- /dev/null
+++ b/configs/mode/debug.yaml
@@ -0,0 +1,28 @@
+# @package _global_
+
+# run in debug mode with:
+# `python run.py mode=debug`
+
+defaults:
+ - override /trainer: debug.yaml
+ - override /callbacks: none
+
+debug_mode: True
+
+hydra:
+ # sets level of all command line loggers to 'DEBUG'
+ verbose: True
+
+ # https://hydra.cc/docs/tutorials/basic/running_your_app/logging/
+ # use this to set level of only chosen command line loggers to 'DEBUG'
+ # verbose: [src.train, src.utils.utils]
+
+ # sets output paths for all file logs to 'logs/debug/'
+ run:
+ dir: logs/debug/${now:%Y-%m-%d}/${now:%H-%M-%S}
+ sweep:
+ dir: logs/debug/multirun_${now:%Y-%m-%d_%H-%M-%S}
+ subdir: ${hydra.job.num}
+
+# disable rich config printing, since it will be already printed by hydra when `verbose: True`
+print_config: False
diff --git a/configs/mode/default.yaml b/configs/mode/default.yaml
new file mode 100644
index 0000000..3995570
--- /dev/null
+++ b/configs/mode/default.yaml
@@ -0,0 +1,13 @@
+# @package _global_
+
+# default running mode
+
+default_mode: True
+
+hydra:
+ # default output paths for all file logs
+ run:
+ dir: logs/runs/${now:%Y-%m-%d}/${now:%H-%M-%S}
+ sweep:
+ dir: logs/multiruns/${now:%Y-%m-%d_%H-%M-%S}
+ subdir: ${hydra.job.num}
diff --git a/configs/mode/exp.yaml b/configs/mode/exp.yaml
new file mode 100644
index 0000000..7136f1f
--- /dev/null
+++ b/configs/mode/exp.yaml
@@ -0,0 +1,17 @@
+# @package _global_
+
+# run in experiment mode with:
+# `python run.py mode=exp name=experiment_name`
+
+experiment_mode: True
+
+# allows for custom naming of the experiment
+name: ???
+
+hydra:
+ # sets output paths for all file logs to `logs/experiment/name'
+ run:
+ dir: logs/experiments/${name}/${now:%Y-%m-%d_%H-%M-%S}
+ sweep:
+ dir: logs/experiments/${name}/multirun_${now:%Y-%m-%d_%H-%M-%S}
+ subdir: ${hydra.job.num}
diff --git a/configs/model/emma_base_model.yaml b/configs/model/emma_base_model.yaml
new file mode 100644
index 0000000..92a8419
--- /dev/null
+++ b/configs/model/emma_base_model.yaml
@@ -0,0 +1,12 @@
+_target_: emma_policy.models.emma_policy.EmmaPolicy
+
+model_name: heriot-watt/emma-base
+initialization_checkpoint: null
+# default hyperparameters for VL-Bart-base COCOVG_pretrain
+lr: 0.0001
+weight_decay: 0.01
+optimizer: adamw
+lr_scheduler: linear_with_warmup
+num_warmup_steps: 0.05
+label_smoothing: 0.0
+resize_embeddings: False
diff --git a/configs/model/emma_small_model.yaml b/configs/model/emma_small_model.yaml
new file mode 100644
index 0000000..d62f6fc
--- /dev/null
+++ b/configs/model/emma_small_model.yaml
@@ -0,0 +1,11 @@
+_target_: emma_policy.models.emma_policy.EmmaPolicy
+
+model_name: heriot-watt/emma-small
+initialization_checkpoint: null
+# default hyperparameters for VL-Bart-base COCOVG_pretrain
+lr: 0.0001
+weight_decay: 0.01
+optimizer: adamw
+lr_scheduler: linear_with_warmup
+num_warmup_steps: 0.05
+label_smoothing: 0.0
diff --git a/configs/model/emma_tiny_model.yaml b/configs/model/emma_tiny_model.yaml
new file mode 100644
index 0000000..a9b3e7c
--- /dev/null
+++ b/configs/model/emma_tiny_model.yaml
@@ -0,0 +1,11 @@
+_target_: emma_policy.models.emma_policy.EmmaPolicy
+
+model_name: heriot-watt/emma-tiny
+initialization_checkpoint: null
+# default hyperparameters for VL-Bart-base COCOVG_pretrain
+lr: 0.0001
+weight_decay: 0.01
+optimizer: adamw
+lr_scheduler: linear_with_warmup
+num_warmup_steps: 0.05
+label_smoothing: 0.0
diff --git a/configs/model/fake_model.yaml b/configs/model/fake_model.yaml
new file mode 100644
index 0000000..7e57f83
--- /dev/null
+++ b/configs/model/fake_model.yaml
@@ -0,0 +1,5 @@
+_target_: src.models.BoringModel
+
+model_name: allenai/longformer-base-4096
+lr: 0.001
+weight_decay: 0.0005
diff --git a/configs/trainer/ddp.yaml b/configs/trainer/ddp.yaml
new file mode 100644
index 0000000..0c5c899
--- /dev/null
+++ b/configs/trainer/ddp.yaml
@@ -0,0 +1,8 @@
+defaults:
+ - default.yaml
+
+gpus: 4
+num_nodes: 1
+strategy: ddp_find_unused_parameters_false
+precision: 16
+accumulate_grad_batches: 1
diff --git a/configs/trainer/debug.yaml b/configs/trainer/debug.yaml
new file mode 100644
index 0000000..8ee3433
--- /dev/null
+++ b/configs/trainer/debug.yaml
@@ -0,0 +1,18 @@
+defaults:
+ - default.yaml
+
+gpus: 0
+
+min_epochs: 1
+max_epochs: 2
+
+# prints
+progress_bar_refresh_rate: null
+weights_summary: null
+profiler: null
+
+# debugs
+fast_dev_run: true
+overfit_batches: 0.
+track_grad_norm: -1
+detect_anomaly: false
diff --git a/configs/trainer/default.yaml b/configs/trainer/default.yaml
new file mode 100644
index 0000000..eabefa3
--- /dev/null
+++ b/configs/trainer/default.yaml
@@ -0,0 +1,13 @@
+_target_: pytorch_lightning.Trainer
+
+gpus: 0
+
+resume_from_checkpoint: null
+max_epochs: 100
+limit_train_batches: 1000
+
+# number of validation steps to execute at the beginning of the training
+num_sanity_val_steps: 0
+gradient_clip_val: 1.0
+# Set reload_dataloaders_every_n_epochs to 1 when balanancing the pretraining data
+reload_dataloaders_every_n_epochs: 0
diff --git a/demos/image_demo.py b/demos/image_demo.py
new file mode 100644
index 0000000..bad35fd
--- /dev/null
+++ b/demos/image_demo.py
@@ -0,0 +1,271 @@
+import argparse
+import glob
+import logging
+import os
+from io import BytesIO
+from pathlib import Path
+from typing import Any, Callable
+
+import gradio as gr
+import numpy as np
+import requests
+import torch
+from PIL import Image
+from transformers import AutoTokenizer, PreTrainedTokenizer
+
+from emma_policy.commands.plot_bb import PlotBoundingBoxes
+from emma_policy.datamodules.batch_attention_masks import make_text_history_global_pattern
+from emma_policy.datamodules.emma_dataclasses import EmmaDatasetBatch
+from emma_policy.models.emma_policy import EmmaPolicy
+
+
+logging.basicConfig()
+log = logging.getLogger(__name__)
+log.setLevel(logging.INFO)
+
+
+input_prompts = [
+ "Assess the statement: A cat standing on a sofa",
+ "Evaluate the description: A dog catching a frisbee",
+ "Find the white spoon",
+ "Locate the object brown dog",
+ "Caption ",
+ "Describe object ",
+ "Caption this image",
+ "Describe this image",
+ "Answer the question: What color is the ball?",
+ "What is the answer to the question: What material is the table made of?",
+ "Describe the relationship between and ",
+ "Describe how relates to ",
+]
+
+css = """
+ .gradio-container {
+ background: rgb(47, 79, 79);
+ }
+ #button_style {
+ background: rgba(255, 217, 102, 1.00);
+ border-color: rgba(255, 204, 51 1.00);
+ border-width: thin;
+ }
+"""
+
+
+def change_textbox(choice: str) -> dict[str, Any]:
+ """Update a textbox with a given choice."""
+ return gr.Textbox.update(value=choice, visible=True)
+
+
+def run_model(
+ model: EmmaPolicy,
+ tokenizer: PreTrainedTokenizer,
+ endpoint: str,
+) -> Callable[[str, str], str]:
+ """Prepare the response generation."""
+
+ def generate_response(input_text: str, input_image_path: str) -> str: # noqa: WPS430
+ """Generate a response to the text input."""
+ input_image = Image.open(input_image_path)
+ feature_dict = extract_single_image(input_image, endpoint=endpoint)
+
+ vis_tokens = torch.tensor(
+ tokenizer.convert_tokens_to_ids(
+ [f"" for idx in range(feature_dict["bbox_features"].shape[0])]
+ ),
+ dtype=torch.long,
+ )
+ width, height = input_image.size
+ object_coordinates = feature_dict["bbox_coords"]
+
+ object_coordinates[:, (0, 2)] /= width
+ object_coordinates[:, (1, 3)] /= height
+
+ feature_dict["visual_tokens"] = vis_tokens
+ frame_token = tokenizer.convert_tokens_to_ids(f"")
+ feature_dict["obj_frame_tokens"] = vis_tokens.new_full(
+ vis_tokens.shape, fill_value=frame_token # type: ignore[arg-type]
+ )
+ feature_dict["scene_attention_mask"] = torch.ones(1, dtype=torch.bool)
+ feature_dict["scene_coordinates"] = torch.tensor([0, 0, 1.0, 1.0]).repeat(1, 1)
+ feature_dict["scene_frame_tokens"] = torch.tensor(frame_token)
+ feature_dict["object_attention_mask"] = torch.ones_like(vis_tokens, dtype=torch.bool)
+
+ inputs = tokenizer.encode_plus(input_text, return_tensors="pt")
+ log.info(f"Input text: {input_text} Input token ids: {inputs.input_ids}")
+ attention_mask = torch.cat(
+ [
+ feature_dict["scene_attention_mask"],
+ feature_dict["object_attention_mask"],
+ inputs.attention_mask.squeeze(0),
+ ],
+ dim=-1,
+ ).unsqueeze(0)
+
+ global_attention_mask = make_text_history_global_pattern(
+ total_seq_len=attention_mask.shape[-1],
+ text_attention_mask=inputs.attention_mask,
+ dtype=attention_mask.dtype,
+ )
+ sample = EmmaDatasetBatch(
+ input_token_ids=inputs.input_ids,
+ text_attention_mask=inputs.attention_mask,
+ target_token_ids=torch.empty_like(inputs.input_ids),
+ decoder_attention_mask=torch.empty_like(inputs.attention_mask),
+ task=torch.empty(1),
+ object_attention_mask=feature_dict["object_attention_mask"].unsqueeze(0),
+ object_coordinates=feature_dict["bbox_coords"].unsqueeze(0),
+ object_frame_tokens=feature_dict["obj_frame_tokens"].unsqueeze(0),
+ object_features=feature_dict["bbox_features"].unsqueeze(0),
+ scene_attention_mask=feature_dict["scene_attention_mask"].unsqueeze(0),
+ scene_coordinates=feature_dict["scene_coordinates"].unsqueeze(0),
+ scene_features=feature_dict["cnn_features"].unsqueeze(0),
+ scene_frame_tokens=feature_dict["scene_frame_tokens"].unsqueeze(0),
+ visual_token_ids=feature_dict["visual_tokens"].unsqueeze(0),
+ attention_mask=attention_mask,
+ global_attention_mask=global_attention_mask,
+ )
+ outputs = model.predict_step(sample, 0)
+ preds = tokenizer.batch_decode(outputs, skip_special_tokens=False)
+ response = str(preds)
+ response = response.replace("'", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace('"', "")
+ response = response.replace("[", "")
+ response = response.replace("]", "")
+ log.info(f"Response: {response}")
+ return response
+
+ return generate_response
+
+
+def run_bboxes(endpoint: str) -> Callable[[str], Image.Image]:
+ """Prepare bboxes in output plot."""
+
+ def _plot_bboxes(input_image_path: str) -> Image: # noqa: WPS430
+ """Plot the bounding boxes on image."""
+ input_image = Image.open(input_image_path)
+ feature_dict = extract_single_image(input_image, endpoint=endpoint)
+
+ cv_image = np.array(input_image)
+ num_bboxes = feature_dict["bbox_features"].shape[0]
+ vis_tokens = [f"" for idx in range(num_bboxes)]
+ PlotBoundingBoxes().draw_bb(
+ image=cv_image,
+ boxes_coords=feature_dict["bbox_coords"].numpy(),
+ boxes_labels=vis_tokens,
+ draw_label=True,
+ )
+
+ return Image.fromarray(cv_image)
+
+ return _plot_bboxes
+
+
+def extract_single_image(
+ image: Image, endpoint: str = "http://0.0.0.0:5500/features"
+) -> dict[str, torch.Tensor]:
+ """Submit a request to the feature extraction server for a single image."""
+ image_bytes = convert_single_image_to_bytes(image)
+ request_files = {"input_file": image_bytes}
+ response = requests.post(endpoint, files=request_files, timeout=5)
+ log.info(f"Response: {response}")
+
+ data = response.json()
+ feature_response = {
+ "bbox_features": torch.tensor(data["bbox_features"]),
+ "bbox_coords": torch.tensor(data["bbox_coords"]),
+ "bbox_probas": torch.tensor(data["bbox_probas"]),
+ "cnn_features": torch.tensor(data["cnn_features"]),
+ }
+
+ return feature_response
+
+
+def convert_single_image_to_bytes(image: Image) -> bytes:
+ """Converts a single image to bytes."""
+ image_bytes = BytesIO()
+
+ if not isinstance(image, Image.Image):
+ image = Image.fromarray(np.array(image))
+
+ image.save(image_bytes, format=image.format)
+ return image_bytes.getvalue()
+
+
+def main(args: argparse.Namespace) -> None:
+ """Main."""
+ model = EmmaPolicy(args.model_name).load_from_checkpoint(args.ckpt_path)
+ tokenizer = AutoTokenizer.from_pretrained(args.model_name)
+ model.eval()
+
+ with gr.Blocks(css=css) as block:
+ with gr.Row():
+ input_image = gr.inputs.Image(label="Input Image \U0001F4F7", type="filepath")
+ with gr.Column():
+ dropdown_prompts = gr.Dropdown(
+ label="Example Input Prompts \U0001F4E3", choices=input_prompts
+ )
+ with gr.Row():
+ input_text = gr.Textbox(label="Input Text \U0000270D", interactive=True)
+ with gr.Row():
+ with gr.Column():
+ bboxes_button = gr.Button("Show Bounding Boxes", elem_id="button_style")
+ with gr.Column():
+ model_button = gr.Button("Run model", elem_id="button_style")
+ with gr.Row():
+ out_image = gr.inputs.Image(label="Output Image", type="filepath")
+ out_text = gr.Label(label="Output Text", interactive=False)
+
+ if args.examples_path is not None and os.path.exists(args.examples_path):
+ example_names = (
+ glob.glob(str(Path(args.examples_path, "*.jpg")))
+ + glob.glob(str(Path(args.examples_path, "*.png")))
+ + glob.glob(str(Path(args.examples_path, "*.jpeg")))
+ )
+ gr.Examples(
+ label="Image examples",
+ examples=example_names,
+ inputs=[input_image],
+ )
+ dropdown_prompts.change(fn=change_textbox, inputs=dropdown_prompts, outputs=input_text)
+ model_button.click(
+ fn=run_model(
+ model=model,
+ tokenizer=tokenizer,
+ endpoint=args.endpoint,
+ ),
+ inputs=[input_text, input_image],
+ outputs=out_text,
+ )
+ bboxes_button.click(fn=run_bboxes(args.endpoint), inputs=input_image, outputs=out_image)
+ block.launch(share=args.share)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--model_name",
+ help="Model name",
+ default="heriot-watt/emma-small",
+ )
+ parser.add_argument(
+ "--ckpt_path",
+ help="Path to model_ckpt",
+ )
+ parser.add_argument(
+ "--examples_path",
+ help="Path to examples folder containing images",
+ )
+ parser.add_argument(
+ "--endpoint", help="Feature extraction endpoint", default="http://0.0.0.0:5500/features"
+ )
+ parser.add_argument(
+ "--share",
+ help="Create a publicly shareable link from your computer for the interface",
+ action="store_true",
+ )
+ args = parser.parse_args()
+ main(args)
diff --git a/demos/video_demo.py b/demos/video_demo.py
new file mode 100644
index 0000000..6f24c8c
--- /dev/null
+++ b/demos/video_demo.py
@@ -0,0 +1,259 @@
+import argparse
+import glob
+import json
+import logging
+from pathlib import Path
+from typing import Any, Callable
+
+import gradio as gr
+import torch
+from transformers import AutoTokenizer, PreTrainedTokenizer
+
+from emma_policy.datamodules.batch_attention_masks import make_text_history_global_pattern
+from emma_policy.datamodules.emma_dataclasses import EmmaDatasetBatch
+from emma_policy.models.emma_policy import EmmaPolicy
+
+
+logging.basicConfig()
+log = logging.getLogger(__name__)
+log.setLevel(logging.INFO)
+
+
+input_prompts = [
+ "Provide an instruction",
+ "Act according to the instruction:",
+ "Execute the instruction",
+]
+
+css = """
+ .gradio-container {
+ background: rgb(47, 79, 79);
+ }
+ #button_style {
+ background: rgba(255, 217, 102, 1.00);
+ border-color: rgba(255, 204, 51 1.00);
+ border-width: thin;
+ }
+"""
+
+
+def change_textbox(choice: str) -> dict[str, Any]:
+ """Update a textbox with a given choice."""
+ return gr.Textbox.update(value=choice, visible=True)
+
+
+def run_model(
+ root_examples_path: str,
+ video_id_map: dict[str, str],
+ model: EmmaPolicy,
+ tokenizer: PreTrainedTokenizer,
+) -> Callable[[str, str], str]:
+ """Prepare the response generation."""
+
+ def generate_response(input_text: str, input_video_path: str) -> str: # noqa: WPS430
+ """Generate a response to the text input."""
+ video_id = f"{Path(input_video_path).name[:3]}"
+
+ video_features_path = Path(
+ root_examples_path, "frame_features", video_id_map[video_id]
+ ).with_suffix(".pt")
+
+ log.info(
+ f"Input path {input_video_path} Video id: {video_id} Video features path: {video_features_path}"
+ )
+
+ feature_dicts = [
+ feature_dict["features"] for feature_dict in torch.load(video_features_path)["frames"]
+ ]
+
+ visual_input: dict[str, list[torch.Tensor]] = {
+ "object_features": [],
+ "object_classes": [],
+ "object_coordinates": [],
+ "vis_tokens": [],
+ "object_frame_tokens": [],
+ "object_attention_mask": [],
+ "scene_features": [],
+ "scene_frame_tokens": [],
+ }
+
+ for frame_idx, feature_dict in enumerate(feature_dicts):
+ visual_input["object_features"].append(feature_dict["bbox_features"])
+ visual_input["object_classes"].append(
+ torch.tensor([torch.argmax(proba, -1) for proba in feature_dict["bbox_probas"]])
+ )
+ image_coords = feature_dict["bbox_coords"]
+
+ # normalized coordinates
+ image_coords[:, (0, 2)] /= feature_dict["width"]
+ image_coords[:, (1, 3)] /= feature_dict["height"]
+ visual_input["object_coordinates"].append(image_coords)
+
+ visual_input["scene_features"].append(feature_dict["cnn_features"].unsqueeze(0))
+
+ feature_count = visual_input["object_features"][-1].shape[0]
+
+ curr_vis_tokens = torch.tensor(
+ tokenizer.convert_tokens_to_ids(
+ [f"" for idx in range(feature_count)]
+ ),
+ dtype=torch.long,
+ )
+ visual_input["vis_tokens"].append(curr_vis_tokens)
+
+ frame_token = tokenizer.convert_tokens_to_ids(f"")
+ visual_input["object_frame_tokens"].append(
+ curr_vis_tokens.new_full(
+ curr_vis_tokens.shape,
+ fill_value=frame_token, # type: ignore[arg-type]
+ )
+ )
+ visual_input["scene_frame_tokens"].append(frame_token) # type: ignore[arg-type]
+ visual_input["object_attention_mask"].append(
+ torch.ones_like(curr_vis_tokens, dtype=torch.bool)
+ )
+
+ num_frames = len(visual_input["scene_features"])
+ scene_attention_mask = torch.ones(num_frames, dtype=torch.bool)
+ scene_coordinates = torch.tensor([0, 0, 1.0, 1.0]).repeat(num_frames, 1)
+
+ inputs = tokenizer.encode_plus(input_text, return_tensors="pt")
+ log.info(f"Input text: {input_text} Input token ids: {inputs.input_ids}")
+ attention_mask = torch.cat(
+ [
+ scene_attention_mask,
+ torch.cat(visual_input["object_attention_mask"]),
+ inputs.attention_mask.squeeze(0),
+ ],
+ dim=-1,
+ ).unsqueeze(0)
+
+ global_attention_mask = make_text_history_global_pattern(
+ total_seq_len=attention_mask.shape[-1],
+ text_attention_mask=inputs.attention_mask,
+ dtype=attention_mask.dtype,
+ )
+ sample = EmmaDatasetBatch(
+ input_token_ids=inputs.input_ids,
+ text_attention_mask=inputs.attention_mask,
+ target_token_ids=torch.empty_like(inputs.input_ids),
+ decoder_attention_mask=torch.empty_like(inputs.attention_mask),
+ task=torch.empty(1),
+ object_attention_mask=torch.cat(visual_input["object_attention_mask"]).unsqueeze(0),
+ object_coordinates=torch.cat(visual_input["object_coordinates"]).unsqueeze(0),
+ object_frame_tokens=torch.cat(visual_input["object_frame_tokens"]).unsqueeze(0),
+ object_features=torch.cat(visual_input["object_features"]).unsqueeze(0),
+ scene_attention_mask=scene_attention_mask.unsqueeze(0),
+ scene_coordinates=scene_coordinates.unsqueeze(0),
+ scene_features=torch.cat(visual_input["scene_features"]).unsqueeze(0),
+ scene_frame_tokens=torch.tensor(visual_input["scene_frame_tokens"]).unsqueeze(0),
+ visual_token_ids=torch.cat(visual_input["vis_tokens"]).unsqueeze(0),
+ attention_mask=attention_mask,
+ global_attention_mask=global_attention_mask,
+ )
+ outputs = model.predict_step(sample, 0)
+ preds = tokenizer.batch_decode(outputs, skip_special_tokens=False)
+ response = str(preds)
+ response = response.replace("'", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace("", "")
+ response = response.replace('"', "")
+ response = response.replace("[", "")
+ response = response.replace("]", "")
+ response = response.replace(".", "")
+ # this is a bug in the metadata of epic kitchens where consecutive narrations
+ # with the same action (e.g, washing hands). The second narration may have
+ # still washing hands as groundturth label.
+ response = response.replace("still", "")
+ log.info(f"Response: {response}")
+ return response
+
+ return generate_response
+
+
+def main(args: argparse.Namespace) -> None:
+ """Main."""
+ model = EmmaPolicy(args.model_name).load_from_checkpoint(args.ckpt_path)
+ if args.max_length is not None:
+ model.emma.config.max_length = args.max_length
+ log.info(f"Max number of generated tokens set to: {model.emma.config.max_length}")
+ if args.min_length is not None:
+ model.emma.config.max_length = args.max_length
+ log.info(f"Min number of generated tokens set to: {model.emma.config.min_length}")
+
+ tokenizer = AutoTokenizer.from_pretrained(args.model_name)
+ model.eval()
+
+ with gr.Blocks(css=css) as block:
+ with gr.Row():
+ input_video = gr.inputs.Video(label="Input Video \U0001F4F7")
+ with gr.Column():
+ dropdown_prompts = gr.Dropdown(
+ label="Example Input Prompts \U0001F4E3", choices=input_prompts
+ )
+ with gr.Row():
+ input_text = gr.Textbox(label="Input Text \U0000270D", interactive=True)
+ with gr.Row():
+ model_button = gr.Button("Run model", elem_id="button_style")
+ with gr.Row():
+ out_text = gr.Label(label="Output Text", interactive=False)
+
+ example_template_path = str(Path(args.root_examples_path, "videos", "*.mp4"))
+ example_names = glob.glob(example_template_path)
+
+ gr.Examples(
+ label="Video examples",
+ examples=example_names,
+ inputs=[input_video],
+ )
+
+ with open(Path(args.root_examples_path, "dict_map.json")) as fp:
+ video_id_map = json.load(fp)
+
+ dropdown_prompts.change(fn=change_textbox, inputs=dropdown_prompts, outputs=input_text)
+ model_button.click(
+ run_model(
+ root_examples_path=args.root_examples_path,
+ video_id_map=video_id_map,
+ model=model,
+ tokenizer=tokenizer,
+ ),
+ [input_text, input_video],
+ out_text,
+ )
+ block.launch(share=args.share)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--model_name",
+ help="Model name",
+ default="heriot-watt/emma-small",
+ )
+ parser.add_argument(
+ "--ckpt_path",
+ help="Path to model_ckpt",
+ )
+ parser.add_argument(
+ "--root_examples_path",
+ required=True,
+ help="Path to examples folder containing images",
+ )
+ parser.add_argument(
+ "--max_length",
+ help="Optionally override the max length of the generated sequence of the model config",
+ )
+ parser.add_argument(
+ "--min_length",
+ help="Optionally override the min length of the generated sequence of the model config",
+ )
+ parser.add_argument(
+ "--share",
+ help="Create a publicly shareable link from your computer for the interface",
+ action="store_true",
+ )
+ args = parser.parse_args()
+ main(args)
diff --git a/evaluate.py b/evaluate.py
new file mode 100644
index 0000000..0c892fd
--- /dev/null
+++ b/evaluate.py
@@ -0,0 +1,22 @@
+import os
+
+import dotenv
+import hydra
+from omegaconf import DictConfig
+
+from emma_policy import test_model
+
+
+dotenv.load_dotenv(override=True)
+
+
+@hydra.main(config_path=f"{os.getcwd()}/configs/", config_name="config.yaml")
+def main(config: DictConfig) -> None:
+ """Run the model."""
+ os.chdir(config.work_dir)
+
+ test_model(config)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/heriot-watt/emma-base-action/config.json b/heriot-watt/emma-base-action/config.json
new file mode 100644
index 0000000..824b4fb
--- /dev/null
+++ b/heriot-watt/emma-base-action/config.json
@@ -0,0 +1,47 @@
+{
+ "_name_or_path": "./",
+ "activation_dropout": 0.0,
+ "activation_function": "gelu",
+ "architectures": ["EmmaForConditionalGeneration"],
+ "attention_dropout": 0.0,
+ "attention_window": [128, 128, 128, 128, 128, 128],
+ "bos_token_id": 0,
+ "classif_dropout": 0.0,
+ "classifier_dropout": 0.0,
+ "d_model": 768,
+ "decoder_attention_heads": 12,
+ "decoder_ffn_dim": 3072,
+ "decoder_layerdrop": 0.0,
+ "decoder_layers": 6,
+ "decoder_start_token_id": 2,
+ "dropout": 0.1,
+ "encoder_attention_heads": 12,
+ "encoder_ffn_dim": 3072,
+ "encoder_layerdrop": 0.0,
+ "encoder_layers": 6,
+ "eos_token_id": 2,
+ "gradient_checkpointing": false,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1",
+ "2": "LABEL_2"
+ },
+ "init_std": 0.02,
+ "is_encoder_decoder": true,
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1,
+ "LABEL_2": 2
+ },
+ "max_decoder_position_embeddings": 1024,
+ "max_encoder_position_embeddings": 16384,
+ "model_type": "emma",
+ "num_hidden_layers": 6,
+ "pad_token_id": 1,
+ "use_cache": true,
+ "vocab_size": 10253,
+ "scene_features_dim": 1024,
+ "object_features_dim": 2048,
+ "image_coordinates_dim": 4,
+ "use_encoder_global_positional_embeddings": false
+}
diff --git a/heriot-watt/emma-base-combined/config.json b/heriot-watt/emma-base-combined/config.json
new file mode 100644
index 0000000..b021448
--- /dev/null
+++ b/heriot-watt/emma-base-combined/config.json
@@ -0,0 +1,47 @@
+{
+ "_name_or_path": "./",
+ "activation_dropout": 0.0,
+ "activation_function": "gelu",
+ "architectures": ["EmmaForConditionalGeneration"],
+ "attention_dropout": 0.0,
+ "attention_window": [128, 128, 128, 128, 128, 128],
+ "bos_token_id": 0,
+ "classif_dropout": 0.0,
+ "classifier_dropout": 0.0,
+ "d_model": 768,
+ "decoder_attention_heads": 12,
+ "decoder_ffn_dim": 3072,
+ "decoder_layerdrop": 0.0,
+ "decoder_layers": 6,
+ "decoder_start_token_id": 2,
+ "dropout": 0.1,
+ "encoder_attention_heads": 12,
+ "encoder_ffn_dim": 3072,
+ "encoder_layerdrop": 0.0,
+ "encoder_layers": 6,
+ "eos_token_id": 2,
+ "gradient_checkpointing": false,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1",
+ "2": "LABEL_2"
+ },
+ "init_std": 0.02,
+ "is_encoder_decoder": true,
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1,
+ "LABEL_2": 2
+ },
+ "max_decoder_position_embeddings": 1024,
+ "max_encoder_position_embeddings": 16384,
+ "model_type": "emma",
+ "num_hidden_layers": 6,
+ "pad_token_id": 1,
+ "use_cache": true,
+ "vocab_size": 10259,
+ "scene_features_dim": 1024,
+ "object_features_dim": 2048,
+ "image_coordinates_dim": 4,
+ "use_encoder_global_positional_embeddings": false
+}
diff --git a/heriot-watt/emma-base-cr/config.json b/heriot-watt/emma-base-cr/config.json
new file mode 100644
index 0000000..37b6b8f
--- /dev/null
+++ b/heriot-watt/emma-base-cr/config.json
@@ -0,0 +1,47 @@
+{
+ "_name_or_path": "./",
+ "activation_dropout": 0.0,
+ "activation_function": "gelu",
+ "architectures": ["EmmaForConditionalGeneration"],
+ "attention_dropout": 0.0,
+ "attention_window": [128, 128, 128, 128, 128, 128],
+ "bos_token_id": 0,
+ "classif_dropout": 0.0,
+ "classifier_dropout": 0.0,
+ "d_model": 768,
+ "decoder_attention_heads": 12,
+ "decoder_ffn_dim": 3072,
+ "decoder_layerdrop": 0.0,
+ "decoder_layers": 6,
+ "decoder_start_token_id": 2,
+ "dropout": 0.1,
+ "encoder_attention_heads": 12,
+ "encoder_ffn_dim": 3072,
+ "encoder_layerdrop": 0.0,
+ "encoder_layers": 6,
+ "eos_token_id": 2,
+ "gradient_checkpointing": false,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1",
+ "2": "LABEL_2"
+ },
+ "init_std": 0.02,
+ "is_encoder_decoder": true,
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1,
+ "LABEL_2": 2
+ },
+ "max_decoder_position_embeddings": 1024,
+ "max_encoder_position_embeddings": 16384,
+ "model_type": "emma",
+ "num_hidden_layers": 6,
+ "pad_token_id": 1,
+ "use_cache": true,
+ "vocab_size": 10258,
+ "scene_features_dim": 1024,
+ "object_features_dim": 2048,
+ "image_coordinates_dim": 4,
+ "use_encoder_global_positional_embeddings": false
+}
diff --git a/heriot-watt/emma-base/config.json b/heriot-watt/emma-base/config.json
new file mode 100644
index 0000000..0d30af5
--- /dev/null
+++ b/heriot-watt/emma-base/config.json
@@ -0,0 +1,47 @@
+{
+ "_name_or_path": "./",
+ "activation_dropout": 0.0,
+ "activation_function": "gelu",
+ "architectures": ["EmmaForConditionalGeneration"],
+ "attention_dropout": 0.0,
+ "attention_window": [128, 128, 128, 128, 128, 128],
+ "bos_token_id": 0,
+ "classif_dropout": 0.0,
+ "classifier_dropout": 0.0,
+ "d_model": 768,
+ "decoder_attention_heads": 12,
+ "decoder_ffn_dim": 3072,
+ "decoder_layerdrop": 0.0,
+ "decoder_layers": 6,
+ "decoder_start_token_id": 2,
+ "dropout": 0.1,
+ "encoder_attention_heads": 12,
+ "encoder_ffn_dim": 3072,
+ "encoder_layerdrop": 0.0,
+ "encoder_layers": 6,
+ "eos_token_id": 2,
+ "gradient_checkpointing": false,
+ "id2label": {
+ "0": "LABEL_0",
+ "1": "LABEL_1",
+ "2": "LABEL_2"
+ },
+ "init_std": 0.02,
+ "is_encoder_decoder": true,
+ "label2id": {
+ "LABEL_0": 0,
+ "LABEL_1": 1,
+ "LABEL_2": 2
+ },
+ "max_decoder_position_embeddings": 1024,
+ "max_encoder_position_embeddings": 16384,
+ "model_type": "emma",
+ "num_hidden_layers": 6,
+ "pad_token_id": 1,
+ "use_cache": true,
+ "vocab_size": 10252,
+ "scene_features_dim": 1024,
+ "object_features_dim": 2048,
+ "image_coordinates_dim": 4,
+ "use_encoder_global_positional_embeddings": false
+}
diff --git a/heriot-watt/emma-base/merges.txt b/heriot-watt/emma-base/merges.txt
new file mode 100644
index 0000000..3c70e56
--- /dev/null
+++ b/heriot-watt/emma-base/merges.txt
@@ -0,0 +1,9783 @@
+#version: 0.2 - Trained by `huggingface/tokenizers`
+Ġ t
+h e
+Ġ o
+Ġt he
+Ġo f
+Ġt o
+l e
+r i
+a n
+i n
+t e
+Ġ b
+Ġ le
+g h
+gh t
+Ġ ri
+Ġ s
+f t
+Ġ a
+Ġle ft
+Ġri ght
+Ġ w
+r e
+a s
+Ġ c
+Ġ p
+Ġ h
+e r
+h i
+Ġo n
+l a
+o w
+m an
+t t
+c k
+in g
+a r
+o n
+o r
+b u
+i s
+Ġh as
+a l
+Ġa tt
+Ġ g
+ri bu
+ribu te
+Ġatt ribute
+Ġ f
+e n
+i r
+a t
+e t
+e s
+an d
+Ġ is
+Ġ in
+o u
+hi te
+Ġ d
+r a
+i l
+i t
+r t
+al l
+o o
+er s
+in d
+hi rt
+te r
+Ġw hite
+t he
+e l
+Ġ man
+a d
+a b
+a ir
+Ġ m
+o man
+c h
+e a
+la ck
+c e
+Ġs t
+ers on
+e d
+n g
+ind ow
+o l
+d ing
+Ġ l
+as s
+b o
+Ġs i
+o p
+ab le
+Ġb u
+ri ng
+g e
+re e
+l ow
+t s
+Ġb lack
+ou n
+o or
+l u
+a ck
+Ġ and
+Ġb o
+Ġ n
+v e
+s e
+it h
+Ġw ith
+re d
+s t
+Ġs hirt
+ea ring
+Ġw earing
+lu e
+T he
+r o
+r ow
+re en
+e ar
+i c
+il ding
+o t
+Ġp la
+he ad
+Ġt able
+r u
+Ġb lue
+Ġ la
+Ġw all
+ar d
+a p
+s hirt
+l ass
+d e
+g n
+row n
+Ġw oman
+oo d
+Ġw indow
+m p
+Ġs h
+h air
+oun d
+Ġp erson
+a in
+r ound
+o le
+Ġs k
+on t
+w oman
+i ght
+Ġ u
+f f
+p erson
+k e
+Ġc ar
+o g
+Ġg reen
+Ġt ree
+Ġ e
+Ġ red
+op le
+e ople
+m b
+u r
+Ġb rown
+oo k
+Ġbu ilding
+Ġ j
+w indow
+Ġc o
+he l
+v er
+s h
+a g
+bo ard
+Ġpla te
+an ts
+Ġt ra
+tt le
+l o
+ir l
+Ġa re
+an t
+Ġh and
+v es
+Ġg lass
+a ter
+ack et
+Ġsi gn
+r ass
+Ġc hair
+ar k
+c le
+' s
+w hite
+as e
+m e
+on e
+Ġb e
+el low
+Ġc u
+i on
+t ree
+Ġd oor
+al k
+r an
+c ar
+i re
+Ġ y
+c he
+Ġl ight
+w all
+Ġ head
+p h
+Ġp ole
+s i
+re et
+tt ing
+Ġsi de
+re es
+Ġc ol
+Ġp i
+le t
+Ġ k
+hi s
+Ġto p
+p la
+en ce
+Ġh air
+ff e
+l oor
+in k
+Ġw ood
+in e
+m all
+r ont
+u re
+p p
+s s
+Ġw ater
+u mb
+Ġn e
+d y
+r oo
+Ġb ack
+ow l
+z z
+c t
+w o
+Ġsi tting
+Ġh ol
+a te
+l d
+Ġ ro
+Ġy ellow
+Ġg rass
+Ġst and
+ra y
+re l
+l an
+l ou
+Ġ re
+h at
+zz a
+y cle
+il low
+Ġsk y
+r ge
+Ġf ront
+or se
+ch air
+Ġle g
+d s
+d oor
+le ph
+Ġp eople
+u t
+n ow
+Ġbu s
+c o
+h ind
+a ves
+Ġbe hind
+bu ilding
+Ġst reet
+Ġd og
+Ġbo y
+ab in
+Ġtra in
+Ġg round
+Ġbo ttle
+Ġt ru
+Ġj acket
+i f
+an s
+t ure
+Ġ an
+abin et
+rel la
+n k
+t op
+Ġhol ding
+Ġg irl
+c u
+hel f
+y e
+m et
+Ġs p
+Ġp ants
+he el
+p eople
+il ver
+t his
+a ce
+y ing
+Ġn ear
+b lack
+s k
+p ole
+d er
+o ve
+le g
+Ġf loor
+h and
+u ter
+or ts
+mp uter
+Ġstand ing
+ar t
+ck s
+k et
+a m
+Ġb ag
+Ġc at
+ran ge
+hi ld
+g lass
+Ġp h
+bo y
+Ġ v
+l i
+ic ture
+ap er
+ir a
+Ġs u
+a ge
+el d
+g round
+leph ant
+a il
+e ans
+Ġ ra
+n if
+t h
+an an
+Ġcol or
+Ġp o
+Ġc ont
+ou se
+hel met
+Ġh at
+Ġf ence
+Ġd es
+Ġsh o
+en ch
+p top
+Ġt rees
+Ġb ed
+t able
+x t
+Ġg ray
+w alk
+Ġla rge
+Ġ A
+on g
+y er
+si gn
+ot or
+Ġo range
+roo m
+Ġs o
+g irl
+a y
+oun ter
+Ġa r
+Ġb ear
+i m
+p e
+rt ain
+an g
+le s
+ra w
+a u
+lo ck
+Ġpi zza
+ira ffe
+Ġb owl
+Ġcu p
+Ġf or
+as t
+te d
+b all
+e at
+Ġs now
+Ġs mall
+Ġne xt
+Ġ ear
+Ġp l
+t ter
+i e
+Ġh orse
+ck et
+i d
+otor c
+en t
+o se
+re ss
+at or
+Ġc lou
+r ol
+otorc ycle
+Ġb at
+Ġd is
+ur f
+g er
+a ke
+Ġf low
+Ġa t
+et al
+he r
+Ġb ook
+Ġu mb
+Ġro ad
+z e
+p o
+Ġc ou
+Ġp ark
+at o
+pla te
+n is
+i ke
+e p
+Ġf i
+r or
+ir ror
+u l
+Ġdes k
+p ants
+Ġto w
+Ġs ilver
+t o
+ir t
+Ġm etal
+f ri
+Ġ M
+j acket
+Ġar m
+b ra
+p le
+Ġwood en
+le r
+Ġumb rella
+ke y
+a f
+Ġf ood
+Ġp illow
+Ġb y
+Ġbo x
+Ġw alk
+Ġph one
+b ag
+at ch
+Ġla mp
+b ook
+Ġglass es
+s u
+umb er
+Ġs and
+i let
+lan e
+i ck
+Ġc abinet
+Ġs w
+oo t
+n e
+n der
+Ġco mputer
+Ġc ounter
+si de
+g reen
+Ġle aves
+W hite
+Ġs helf
+Ġle tter
+p en
+en nis
+Ġw heel
+Ġe lephant
+Ġtru ck
+M an
+p art
+Ġsh orts
+ase ball
+bo ttle
+q u
+or m
+t wo
+Ġ 2
+Ġb ench
+ate board
+a ve
+b e
+Ġc an
+Ġh ang
+ain er
+re y
+as h
+Ġs c
+t rees
+Ġb ri
+Ġ helmet
+ar m
+ol i
+Ġe ye
+Ġt ennis
+Ġd ark
+u y
+a k
+ze bra
+i te
+Ġf ace
+Ġp aper
+Ġla ptop
+Ġ The
+te n
+f low
+Ġs urf
+Ġside walk
+Ġ2 5
+Ġ ve
+ĠA head
+ĠM ove
+Ġ it
+Ġhang ing
+anan a
+Ġa ir
+el l
+Ġg iraffe
+Ġp icture
+Ġj eans
+re ad
+ea k
+or n
+la r
+ir d
+Ġfi eld
+or t
+ger ator
+Ġp ink
+Ġclou ds
+he ep
+Ġm otorcycle
+k in
+as ket
+t ra
+g rass
+ffe e
+fri gerator
+Ġpla yer
+sh o
+Ġp ot
+Ġwalk ing
+la g
+Ġu nder
+c c
+l ight
+it che
+g et
+r y
+p illow
+Ġb all
+p i
+ow n
+Ġback ground
+key board
+Ġc hild
+ra me
+f ence
+Ġo ut
+Ġbo at
+i de
+b lue
+Ġst ri
+il ing
+Ġl ong
+Ġc lock
+m ato
+es e
+Ġpo st
+nif e
+Ġsk i
+im al
+w i
+Ġc ow
+Ġf ro
+t ru
+cu p
+bu s
+w ay
+Ġt e
+m o
+og o
+Ġu p
+pp er
+g g
+ind s
+Ġd ress
+ea ch
+let ter
+le v
+p ack
+Ġtru nk
+le d
+Ġl i
+Ġsu it
+Ġc h
+Ġw ri
+Ġb aseball
+ap kin
+ad e
+e ye
+ast ic
+Ġc ap
+bo ve
+Ġa bove
+Ġcont rol
+Ġcou ch
+ru it
+or d
+is ion
+v en
+s helf
+b rown
+lev ision
+b owl
+c abinet
+sk y
+Ġf ri
+s o
+Ġcu rtain
+Ġs ink
+Ġt i
+Ġto ilet
+Ġco at
+Ġm irror
+Ġg rey
+d og
+Ġsk ateboard
+a re
+r ash
+Ġsho e
+o red
+c ase
+s p
+Ġb ike
+it or
+Ġbo ard
+ea ter
+Ġc le
+c hild
+w ater
+c at
+Ġp ur
+Ġc he
+Ġpark ed
+get able
+ot h
+on itor
+B lack
+le aves
+Ġt h
+Ġt ail
+ou th
+Ġd own
+Ġn ose
+Ġo ver
+bo x
+nif orm
+r ou
+roo f
+Ġc ake
+la mp
+hi cle
+w heel
+ic ycle
+Ġt hat
+i ce
+lan ket
+o m
+Ġtow el
+Ġ zebra
+Ġ ru
+Ġwindow s
+f loor
+Ġt an
+a me
+ff ic
+p ed
+Ġpl astic
+su it
+le ct
+ro cc
+Ġne ck
+rocc oli
+wi ch
+Ġla dy
+Ġsho es
+Ġ O
+Ġl ook
+Ġo pen
+Ġfro m
+m ent
+st reet
+umb rella
+Ġm u
+itche n
+h orse
+Ġa pp
+Ġt all
+oun t
+Ġflow er
+ol d
+p l
+Ġp e
+Ġcol ored
+Ġan imal
+Ġw ine
+ow er
+lo ve
+Ġd e
+e ct
+be e
+Ġcont ainer
+or k
+o on
+Ġflow ers
+Ġco ve
+au c
+Ġd ri
+Ġbat h
+p icture
+Ġm ouse
+ou ng
+Ġpi e
+f ood
+he s
+s bee
+T wo
+sh orts
+Ġp ain
+ount ain
+t ing
+anan as
+j eans
+e y
+Ġ T
+Ġle af
+Ġleg s
+Ġf rame
+Ġ keyboard
+la dy
+Ġs te
+raw er
+Ġco ffee
+Ġb each
+on ut
+co mputer
+Ġra cket
+Ġcle ar
+Ġb el
+i g
+r op
+la rge
+pi zza
+tra in
+Ġb ird
+u ts
+al m
+f ace
+Ġ en
+Ġs heep
+am er
+Ġk itchen
+d ge
+Ġf lag
+s mall
+sho e
+t an
+che r
+Ġw atch
+cu rtain
+c lou
+Ġ R
+p lane
+Ġ room
+Ġ round
+l oth
+Ġv ase
+Ġc e
+Ġb asket
+at ion
+Ġs eat
+flow er
+y ellow
+amer a
+c ont
+glass es
+v ing
+Ġc lo
+Ġre frigerator
+Ġd irt
+Ġb anana
+il l
+Ġh ouse
+b er
+Ġt ire
+Ġsc reen
+Ġf l
+ro t
+Ġn umber
+Ġpl ant
+Ġc on
+n ose
+ab y
+mo te
+T his
+Ġst ove
+po st
+Ġa round
+and le
+t ail
+s now
+la ptop
+Ġtra y
+Ġb l
+Ġg ra
+Ġf ire
+W oman
+o re
+co at
+Ġp lane
+Ġk ite
+Ġ S
+Ġm onitor
+Ġg uy
+Ġk nife
+W hat
+at ing
+in es
+an ge
+l l
+ad ow
+p es
+s c
+hi eld
+Ġsurf board
+p aper
+che s
+or ange
+Ġfor k
+Ġo r
+e lephant
+Ġthe re
+Ġri ding
+Ġlook ing
+au ce
+u ff
+Ġo ven
+b ack
+Ġf oot
+Ġm ade
+is h
+Ġl ogo
+Ġhand le
+ro ss
+H E
+ul l
+p ot
+Ġph ot
+ri c
+Ġpla ying
+Ġche ese
+li ce
+Ġc ell
+inds hield
+Ġsh ort
+Ġt ie
+bo at
+pla yer
+Ġb read
+window s
+ing er
+Ġf ruit
+Ġwri st
+Ġn apkin
+g uy
+Ġve hicle
+Ġto mato
+Ġst ick
+b le
+t y
+Ġ B
+R ed
+Ġdis h
+c on
+b ench
+c ake
+d r
+Ġp an
+c ow
+Ġ I
+ur n
+Ġback pack
+u mp
+auc et
+ou t
+Ġpie ce
+ed ge
+Ġro ck
+Ġsand wich
+b at
+e et
+m irror
+c ou
+Ġs e
+ic row
+Ġb icycle
+icrow ave
+d le
+Ġcove red
+Ġsw eater
+Ġl ine
+y dr
+Ġbu n
+c or
+Ġpur ple
+Ġb ran
+ydr ant
+Ġ roof
+b el
+f a
+Ġbri ck
+re n
+Ġh is
+d ress
+c ap
+Ġ W
+Ġh ydrant
+Ġve getable
+Ġte levision
+s and
+Ġt wo
+l y
+flow ers
+pl ant
+d es
+Ġm outh
+Ġbath room
+g iraffe
+tru ck
+ear s
+l ong
+s ilver
+w ood
+Ġ C
+s w
+Ġtra cks
+s es
+w ine
+Ġu niform
+ves t
+Ġb lanket
+Ġbu sh
+ou r
+u ce
+b ed
+u e
+Ġof f
+b anana
+Ġphot o
+Ġm en
+c lock
+Ġs le
+eak er
+G reen
+Ġin side
+t i
+ow el
+Ġtow er
+cont ainer
+n umber
+le af
+a w
+tru nk
+m otorcycle
+Ġpe pper
+f lect
+Ġsp oon
+Ġfri sbee
+ne ck
+p s
+Ġtra ffic
+uff ed
+ph one
+Ġc amera
+Ġapp le
+the r
+t ire
+Ġt rash
+Ġstri ped
+Ġp at
+Ġh ill
+Ġw ire
+Ġ N
+p et
+ce an
+Ġ L
+t owel
+s ed
+Ġhand s
+Ġce iling
+S mall
+I s
+p ing
+hi ck
+y es
+leg s
+s po
+Ġy oung
+la d
+u b
+Ġs lice
+Ġg love
+ri n
+Ġh ot
+Ġb roccoli
+to mato
+Ġv an
+Ġlight s
+che d
+B lue
+eak ers
+Ġe yes
+car f
+Ġcontrol ler
+ro ad
+mp ty
+a ch
+Ġb ananas
+m en
+re frigerator
+v ed
+Ġl id
+P erson
+b ike
+n er
+tt om
+c re
+tan ce
+c ounter
+Ġp ad
+Ġg ame
+Ġe ating
+Ġdis tance
+Ġm ountain
+Ġb ar
+side walk
+b asket
+Ġbel ow
+Ġn o
+tt uce
+ten s
+ri es
+bu sh
+Ġ P
+ed dy
+b j
+I N
+i gn
+gg age
+f ork
+Ġair plane
+s er
+cou ch
+o me
+b and
+r ying
+Ġ her
+A n
+Ġb aby
+s heep
+f oot
+Ġc ook
+Ġp air
+Ġb es
+pla y
+i ve
+tens il
+Ġre mote
+Ġs m
+Ġletter s
+Ġd rawer
+te levision
+st ing
+l ogo
+Ġs auce
+r on
+m u
+Ġt eddy
+ers ey
+u m
+to ilet
+l ic
+b ear
+Ġbes ide
+clou ds
+en se
+b ird
+the s
+b ri
+f lag
+c an
+Ġst op
+bj ect
+n apkin
+Ġbook s
+k nife
+tt on
+ri st
+rou p
+Ġla ying
+Ġo cean
+back pack
+Ġ Y
+f orm
+st ick
+pla ce
+ro ck
+sho es
+he et
+Ġd onut
+Ġw et
+pe pper
+Ġsuit case
+oo l
+Ġs qu
+h ouse
+n eakers
+a c
+t rash
+c ol
+im age
+s ter
+sk i
+co ffee
+b read
+B rown
+Ġl ines
+Ġ he
+rop e
+Ġ 9
+ro ts
+Ġso fa
+che ese
+Ġcou rt
+Ġst one
+Ġdri nk
+g ra
+ru sh
+v ase
+u p
+Ġc orn
+f ruit
+Ġsle e
+lo ves
+Ġchair s
+Ġc loth
+la ce
+Ġd o
+Ġare a
+Ġpain ted
+Ġ image
+f rame
+s ink
+u niform
+Ġst raw
+umb ers
+on d
+Ġpark ing
+s urf
+ak er
+at ue
+a le
+Ġm eat
+Ġ9 0
+ĠN o
+ot ate
+b roccoli
+cre te
+Ġcar rying
+ap ple
+f ul
+Ġf ull
+sw eater
+a lad
+oo ts
+Ġm icrowave
+Ġmu g
+Ġcar s
+u n
+m ed
+se at
+sc reen
+Ġo ld
+Ġbo ttom
+Ġo uts
+ĠY es
+Ġf inger
+door s
+it y
+ve getable
+Ġc ur
+or ds
+Ġfl ying
+des k
+flect ion
+Ġru g
+A N
+Ġg old
+m outh
+L ar
+Ġpur se
+spo on
+ĠI S
+t ie
+Ġm e
+book s
+lass es
+Ġcar rot
+le ss
+c lo
+in y
+b lanket
+n ing
+sk ateboard
+Ġwheel s
+Lar ge
+Ġcol lar
+Ġon ion
+Ġd u
+f it
+Ġc andle
+Ġc ross
+th ree
+Ġcar t
+Ġp art
+v el
+ber ry
+b ran
+Ġl ot
+f ire
+Ġouts ide
+Ġc ord
+d i
+Ġcat cher
+Ġf aucet
+og g
+n o
+p ur
+Ġ D
+Ġ vest
+ass en
+t form
+qu id
+Ġt ri
+Ġm o
+Ġdoor s
+la te
+Ġe mpty
+on es
+Ġp en
+ri nk
+ĠR otate
+wood en
+Ġt ag
+c loth
+Ġg o
+Ġf eet
+Ġw indshield
+w atch
+g love
+ru st
+Ġl ying
+Ġde cor
+v an
+o co
+Ġwatch ing
+k ite
+on i
+in ing
+Ġti le
+Ġl u
+w ire
+Ġc re
+or ses
+Ġbran ch
+d ark
+Ġli ttle
+Ġru n
+d rawer
+ce let
+Ġf ur
+ra cket
+w e
+st and
+ng lasses
+Ġsu n
+hi ch
+Ġw a
+Ġ 1
+d ish
+Ġco m
+Ġa g
+Ġt ak
+T HE
+Ġcar pet
+Ġpot ato
+Ġd ou
+c es
+Ġst uffed
+B o
+at her
+Ġp alm
+Ġcorn er
+d onut
+Ġpillow s
+Ġsk irt
+rol l
+leph ants
+Ġso me
+b icycle
+Ġj ar
+i ge
+Ġsnow board
+Ġcon crete
+Y ellow
+it ch
+Ġcabinet s
+d irt
+Ġtan k
+Ġcurtain s
+letter s
+li d
+Ġw ing
+c ell
+rol ler
+tra ffic
+i i
+Ġro cks
+Ġri ng
+Ġag ain
+Ġdis play
+car rot
+s ing
+Ġbu tton
+Ġvegetable s
+s te
+Ġc one
+ter n
+t ray
+b ananas
+t all
+Ġbuilding s
+h ot
+IN G
+w rist
+Ġto y
+Ġsk is
+Ġagain st
+ogg les
+Ġsqu are
+es t
+r as
+Ġdes ign
+ve hicle
+ct ion
+sh room
+itche r
+i k
+c andle
+p ain
+ave ment
+al f
+T E
+Ġa long
+R E
+Ġclou d
+Ġm id
+The re
+m on
+clou d
+g ray
+hick en
+met al
+oco late
+Ġw ears
+Ġst ack
+rou gh
+Ġbri ght
+Ġbus hes
+la t
+Ġs carf
+car s
+row ing
+Ġp aw
+te rt
+Ġear s
+Ġb ig
+a z
+d a
+Ġch ain
+Ġlu ggage
+tert op
+oun tertop
+g rey
+Ġsh adow
+on ion
+Ġb ra
+o ven
+Ġcre am
+air s
+Ġd i
+H I
+hel ves
+Ġm ark
+Ġsm iling
+Ġbat ter
+Ġbel t
+ight stand
+ĠO bject
+S t
+ap ers
+lect ric
+t ub
+w indshield
+b l
+A R
+Ġh i
+a ched
+ira ff
+ĠO N
+Ġ F
+st raw
+Ġsh ade
+c ord
+Ġbottle s
+iraff es
+Ġd raw
+sh adow
+Ġe gg
+Ġo ther
+Ġu tensil
+Ġstri pes
+ra p
+Ġatt ached
+Ġso cks
+Ġt urn
+a x
+Ġcolor ful
+c ross
+Ġj ersey
+Ġski er
+Ġg roup
+Ġclo sed
+sand wich
+m onitor
+Ġbu r
+st a
+Ġp rin
+Ġs heet
+om en
+Ġg loves
+p alm
+Ġsu nglasses
+ap p
+Ġb al
+Ġpla ce
+l as
+f ront
+Ġen d
+assen ger
+Ġ edge
+A re
+al s
+Ġp ro
+is s
+Ġle ather
+o ts
+Ġsp eaker
+Ġra il
+P eople
+ver al
+ra med
+an imal
+on uts
+Ġpla tform
+ax i
+surf board
+Ġsp ot
+hand s
+Ġf il
+Ġstick er
+as k
+Ġle ttuce
+Ġb oots
+b aseball
+ey es
+Ġsw itch
+the se
+leph one
+me at
+ver y
+no b
+Ġf ore
+Ġstri pe
+Ġs alad
+al t
+Ġs neakers
+g es
+Ġbran ches
+t te
+Ġw omen
+a gn
+Ġw orn
+Ġcu tting
+T h
+Ġbe ing
+g ar
+Ġsh ower
+cc er
+Ġste el
+Ġth rough
+Ġh orses
+f i
+Ġwri ting
+Ġst ore
+f aucet
+ie w
+oli ce
+row d
+ra te
+e ft
+Ġv is
+st ove
+Ġa d
+p ink
+ra in
+re mote
+on de
+an ing
+S ilver
+Ġh orn
+ber ries
+Ġti les
+f inger
+con y
+Ġbri dge
+cat cher
+Ġj u
+b rush
+Ġsk ate
+Ġclo thes
+Ġst atue
+ic ense
+Ġbe er
+Ġla bel
+Ġ roll
+rel las
+b ras
+pur se
+Ġh ave
+Ġpat tern
+Ġcove ring
+Ġfil led
+as her
+m ountain
+Ġso ck
+u s
+Ġhol der
+Ġ H
+c one
+Ġbl inds
+Ġst ation
+pp ers
+bus hes
+m at
+Ġc ity
+bu r
+Ġin to
+air plane
+Ġplate s
+j ar
+mp ire
+Ġbe ige
+Ġclou dy
+Ġb and
+Ġfri dge
+Ġmid dle
+Ġ rope
+Ġp avement
+Ġbo dy
+Ġcar rots
+ru g
+ĠT HE
+L ight
+ri age
+curtain s
+it i
+Ġdoor way
+Ġe lephants
+or s
+ed s
+Ġs et
+eat shirt
+pe ct
+en ter
+Ġb en
+pp ed
+ag az
+ze bras
+Ġsh ap
+is t
+Ġman e
+Ġre ad
+Ġf e
+en e
+Ġ1 5
+Ġslee ve
+Ġt v
+Ġl icense
+Ġpla y
+L A
+col lar
+h o
+Ġu n
+pect ator
+Ġg ar
+sp eaker
+b aby
+u lar
+Ġtowel s
+Ġw ord
+Ġg ate
+p an
+Ġt ea
+C K
+w asher
+Ġra ck
+ro cks
+Ġle aning
+Ġg rowing
+agn et
+Ġli quid
+Ġb et
+Ġc ard
+Ġ Ġ
+Ġpl ants
+Ġco ver
+ff iti
+we en
+L E
+Ġw ave
+Ġout fit
+hi ll
+Ġout let
+Ġp ast
+bran ch
+f or
+fri sbee
+Th ree
+ri ght
+Ġbet ween
+building s
+Ġneck lace
+Ġc enter
+Ġbu cket
+fi eld
+s auce
+ing ers
+i es
+Ġpain t
+Ġd ay
+W ood
+pot ato
+as ter
+Ġfire place
+Ġbook shelf
+Ġc hi
+Ġon e
+Ġk ne
+Ġme ter
+Ġt ent
+o ck
+so ck
+ric an
+Ġbun ch
+suit case
+m s
+stick er
+ski er
+Ġc ir
+bat ter
+Ġ G
+Ġ ke
+Ġb ase
+ir ds
+Ġv iew
+Ġu mpire
+ang ular
+Ġsc ene
+s pectator
+au s
+Ġg iraffes
+w ing
+Ġp lan
+chair s
+Ġg ri
+Ġcou ple
+c amera
+et h
+ted dy
+ou ld
+c ook
+Ġc rust
+D o
+eat her
+Ġpo in
+m icrowave
+Ġw ii
+ate d
+li p
+E R
+Ġto oth
+Ġsurf ace
+Ġdri ving
+t is
+bu n
+Ġsp ect
+Ġb are
+le ttuce
+i ble
+Ġcu t
+cabinet s
+Ġf ramed
+Ġpain ting
+Ġrun ning
+Ġs it
+est ri
+Ġ very
+Ġpole s
+ĠR ight
+Ġp atch
+Ġso ap
+Ġhead board
+Ġo li
+Ġsp ots
+Ġs ea
+pen ser
+Ġ row
+Ġanimal s
+ol l
+it ure
+auc er
+for ter
+Ġch ocolate
+urn iture
+c umber
+Ġpo cket
+Ġk nob
+iss ors
+Ġg oggles
+ar s
+Ġa p
+f eet
+Ġp a
+e gg
+t ag
+s carf
+s hi
+Ġe lectric
+Ġtable cloth
+oo ter
+ch up
+Ġpi pe
+Ġar row
+S h
+Ġe x
+Ġsh aker
+wheel s
+Ġbl onde
+Ġn et
+Ġf urniture
+Ġap ron
+P art
+Ġ key
+ĠO F
+clo thes
+Ġm i
+b age
+Ġn umbers
+vegetable s
+ĠL eft
+bl inds
+p aw
+d is
+aus age
+Ġbl ond
+at ive
+sk irt
+v y
+v ice
+Ġtop ping
+Ġf an
+Ġbra celet
+so me
+Ġt his
+Ġb le
+Ġtra ck
+ou s
+h orn
+bat h
+m in
+Ġb oot
+Ġh ome
+Ġso ccer
+Ġspect ator
+Ġtri m
+Ġa cross
+Ġsk in
+lic ense
+light s
+Ġh u
+it ing
+Ġarm s
+eat h
+Ġvis ible
+Ġcow s
+pillow s
+Ġen g
+ar row
+Ġwire s
+ten nis
+ach ine
+the re
+Ġc ountertop
+t ower
+man e
+p ark
+O range
+Ġtak en
+W hich
+ump ire
+oo th
+Ġdou gh
+Ġa s
+Ġapp les
+Ġpla id
+Ġsh op
+Ġfro sting
+Ġp itcher
+door way
+n y
+st uffed
+g o
+O W
+Ġc and
+ain less
+ide o
+Ġ zebras
+ul ti
+Ġn ightstand
+Ġsh iny
+la bel
+ing s
+Ġli ving
+ch ing
+Ġn ot
+Ġdog s
+Ġp assenger
+st one
+op e
+ph ones
+Ġski ing
+Ġcont ain
+Ġp ine
+car pet
+ar ding
+ou p
+Ġm at
+f ur
+Ġbo th
+Ġj ump
+i ler
+w are
+Ġc ase
+Ġf ac
+Ġm ask
+ran ges
+ect ion
+b b
+Ġh ood
+et y
+a con
+Ġtomato es
+bel t
+Ġbear d
+Ġra iling
+Ġre ct
+Ġdress er
+Ġf o
+op y
+Ġhi gh
+H e
+pl ants
+ne y
+y oung
+e red
+Ġ ite
+cle ar
+Ġto get
+il k
+Ġtoget her
+Ġpat h
+d u
+Bo y
+Ġit s
+ul t
+Ġslice d
+lou se
+Ġl it
+pp le
+E N
+Ġm ar
+Ġdraw ers
+lu ggage
+Ġc hicken
+Ġst airs
+x ture
+u tensil
+g u
+Ġfri es
+j ersey
+ap e
+Ġs er
+Ġcook ed
+Ġ hel
+Ġw aves
+Ġbath tub
+Ġh o
+Ġpepper oni
+rink les
+m ney
+so fa
+Ġde ck
+Ġumb rellas
+Ġre flection
+Ġdirt y
+Ġt u
+Ġsurf er
+ge on
+Ġm aker
+W indow
+S k
+Ġp u
+Ġso da
+p ie
+Ġg u
+Ġbag s
+agaz ine
+Ġchild ren
+pain ting
+s neakers
+Ġk ind
+Ġsign s
+Ġf lat
+Ġpo ster
+Ġeng ine
+lic es
+Ġ z
+ri er
+Ġcar riage
+m el
+Ġri ver
+Ġ U
+st ard
+Ġh alf
+Ġk id
+Ġw ork
+Ġt alk
+Ġo ranges
+ic ing
+oo ler
+ould er
+out let
+Ġbri cks
+i er
+Ġte lephone
+car rots
+f our
+Ġs helves
+Ġwa iting
+Ġd onuts
+ch ain
+Ġp or
+Ġturn ed
+Ġcup board
+Ġplay ers
+Ġmu shroom
+he d
+Ġshap ed
+Ġbear s
+i cks
+Ġb rush
+i p
+Ġpi le
+Ġsw ing
+Ġwet suit
+Ġb ik
+ten t
+d ed
+z ing
+t ten
+st ri
+Ġc rowd
+Ġ ice
+Ġbu tter
+re flection
+Ġw ords
+head board
+Ġs y
+Ġan y
+Ġd ra
+Ġw ra
+ol ding
+p ine
+a mp
+Ġy ou
+c ted
+Ġgrass y
+snow board
+Ġdis penser
+Ġsho re
+Ġth ree
+m ing
+af ety
+Ġtalk ing
+l and
+Ġp ack
+ser t
+bottle s
+at u
+Wood en
+Ġb an
+Ġp ed
+Ġp re
+Ġdecor ation
+Ġb ea
+am ic
+Ġu sing
+Ġth in
+g ate
+mo ke
+ur ant
+mb ol
+op en
+book shelf
+Ġle tte
+se ction
+Ġju ice
+O R
+Ġfi xture
+Ġh ard
+su e
+T rees
+b oot
+er amic
+Ġp apers
+s heet
+ti les
+Ġke ttle
+Ġde vice
+Ġc rate
+mu g
+or al
+d raw
+Ġwri tten
+de cor
+p ort
+Ġgra zing
+Ġlette ring
+Ġcup s
+eather s
+it ar
+w sp
+Ġle mon
+n ut
+Ġsw eatshirt
+pi pe
+Ġbu l
+Ġche ck
+w ork
+sta urant
+bra celet
+Ġskateboard er
+Ġm achine
+sh ort
+out fit
+bo arding
+Ġdrink ing
+Ġbal cony
+se veral
+Ġre flect
+Ġear ring
+car t
+p ad
+Ġt axi
+h one
+Ġpan el
+a tt
+Ġs ay
+qu et
+Ġstack ed
+G irl
+ri ne
+Ġpi ck
+olice man
+b ar
+an ce
+wire s
+bran ches
+O N
+Ġpotato es
+to y
+ep ing
+HI TE
+Ġsh ow
+Ġdo ck
+ak es
+be er
+Ġdou ble
+Ġv ideo
+Ġp lu
+st atue
+Ġs ection
+ag on
+wsp aper
+Ġj et
+Ġrect angular
+Ġp ower
+C at
+Ġl og
+neck lace
+le ft
+mu shroom
+old ed
+Ġs ail
+s et
+Ġla d
+b s
+Ġsurf ing
+Ġre sting
+ran ce
+su n
+in i
+b ow
+D ark
+w ord
+Ġs n
+ren t
+ĠI N
+te l
+Ġcir cle
+Ġti led
+ĠT V
+as es
+Ġslee ved
+Ġout doors
+o ther
+shi on
+Ġb irds
+Ġri ce
+Ġkne e
+Ġk n
+Ġonion s
+ĠD own
+Ġst ar
+Ġbox es
+me rican
+n et
+Ġs ur
+cont roller
+ver tis
+Ġf lu
+Ġs l
+bu cket
+Ġwall s
+Ġtak ing
+ard s
+p ast
+sk is
+cou ple
+Ġmountain s
+n a
+Ġsc ooter
+Ġa l
+Ġcle an
+ut if
+Ġo bject
+Ġ "
+Ġl o
+so cks
+Ġn ame
+A T
+Ġs aucer
+Ġc able
+n umbers
+i le
+ent rance
+d d
+Ġgo at
+L L
+it ion
+Ġsw im
+li quid
+w ords
+Ġw e
+Ġcom ing
+ver age
+Ġcur b
+park ing
+li ttle
+a ri
+Ġgirl s
+Ġsh oulder
+pepper oni
+Ġste ps
+Ġc eramic
+c l
+z er
+Ġpe ppers
+utif ul
+Ġsay s
+Ġ each
+atu la
+Ġlad der
+Ġto ng
+fire place
+ffe rent
+lu r
+ap ron
+Ġboy s
+Ġp ull
+app y
+Ġra mp
+ak ing
+Ġfl op
+is ter
+Ġman s
+mel on
+Ġtooth brush
+es s
+re sh
+Ġd ining
+Ġswing ing
+po ster
+Ġw hich
+Ġwalk way
+n ic
+co m
+N D
+Ġno te
+p at
+Ġt hick
+Ġm otor
+Ġble nder
+Ġcross ing
+Ġcu shion
+Ġte eth
+Ġpie ces
+Ġdu ck
+Ġt ub
+Ġp ol
+oun ted
+d rink
+ren ch
+Ġb eak
+top ping
+Ġa rt
+Ġdish washer
+en ts
+g loves
+Ġw as
+Ġutensil s
+Ġce ment
+Ġd ry
+Ġsle eping
+el ler
+A S
+W ho
+Ġs oup
+in ea
+p lan
+Y oung
+plate s
+Ġa ll
+il lar
+c hicken
+Ġl and
+Ġhorn s
+Ġwrist band
+g old
+z ed
+f ro
+table cloth
+Ġt is
+Ġdress ed
+Ġs lices
+Ġre staurant
+ce iling
+s alad
+Ġstraw berry
+Ġse e
+sp read
+spo ts
+b al
+Ġsu pp
+rop eller
+Ġm ounted
+I R
+G ray
+Ġf our
+E AR
+Ġst ool
+Ġleaf y
+child ren
+Ġsc issors
+i o
+Ġto u
+s qu
+Ġprin t
+T all
+Ġgri ll
+estri an
+Ġbur ner
+ff y
+p apers
+in s
+sh ower
+ri ce
+w n
+Ġlook s
+if e
+pain t
+Ġboat s
+ic es
+Ġh a
+ic nic
+Ġhel d
+Ġh ole
+in ach
+E S
+Ġdecor ative
+Ġfac ing
+Ġb lock
+Ġst y
+Ġsit s
+Ġoff ice
+Ġthe ir
+te rtain
+Ġplan ter
+Ġu sed
+le y
+Ġp ar
+b oots
+ra ck
+wo men
+Ġs afety
+Ġsh ining
+ir on
+E D
+u d
+Ġjump ing
+Ġoli ve
+w et
+pur ple
+Ġh appy
+et chup
+Ġra in
+Ġste m
+Ġc ab
+po cket
+bri ght
+B ig
+Ġm agnet
+Ġw hi
+tertain ment
+t axi
+tomato es
+Ġd oll
+Ġl ink
+c hi
+Ġre ar
+Ġcom forter
+bath tub
+f an
+m ale
+Ġf ingers
+Ġsu v
+il y
+I T
+c ing
+n t
+ĠL ook
+st airs
+Ġl ike
+Ġman y
+O U
+Ġch op
+Ġbu t
+L ook
+on y
+He ad
+i red
+ou ses
+Ġst rap
+M etal
+c rust
+su v
+i al
+b ik
+pp les
+Ġh am
+p itcher
+Ġstand s
+Ġcloth ing
+Ġcook ing
+Ġst ra
+P ick
+Ġst ainless
+Ġfl oral
+sta che
+Ġpa ved
+Ġc alm
+b each
+ic rop
+b ber
+app les
+Ġhead band
+Ġre f
+di ator
+Ġball oon
+Ġk etchup
+Ġcard board
+cu lar
+Ġpo s
+Ġdi fferent
+Ġbook case
+B u
+R e
+Ġf olded
+st ar
+Ġse en
+Ġ i
+Ġf ish
+so ap
+icrop hone
+c ountertop
+gra ffiti
+Ġtra iler
+Ġsu gar
+fro sting
+surf er
+arm s
+h ole
+Ġfore st
+hand le
+he re
+ĠW HITE
+Ġth umb
+P ink
+E T
+D og
+Ġst roller
+so da
+c and
+n ightstand
+wi i
+Ġd in
+straw berry
+Ġsand als
+Ġs ausage
+Ġstick ing
+C o
+Ġla ke
+tan k
+cup board
+c akes
+p it
+le mon
+bur ner
+Ġ iron
+Ġm ilk
+tt oman
+pie ce
+Ġt y
+Ġk i
+Ġst ring
+ang es
+g oggles
+Ġn ight
+oli ve
+Ġcup cake
+S now
+Ġdri ver
+Ġgo ing
+Ġflag s
+ri ver
+or anges
+O n
+O M
+Ġto aster
+pl astic
+h ome
+all y
+Ġhol ds
+j u
+Ġhand les
+Ġdough nut
+P icture
+e f
+Ġbed room
+Ġch ar
+m agnet
+Ġla p
+lur ry
+Ġgra ffiti
+Ġco mp
+Ġf lo
+bear d
+s helves
+O ne
+c il
+ct ure
+bri cks
+Ġgra vel
+Ġ icing
+lad der
+n eath
+Ġsign al
+Ġphot og
+low er
+Ġair port
+Ġcu cumber
+Sh adow
+y cl
+ash ing
+Ġwra pped
+Ġunder neath
+Ġread ing
+p a
+Ġc ast
+Ġhead light
+Ġf lip
+Ġcheck ered
+ick er
+Ġcon d
+Ġmi x
+st op
+g roup
+Ġpull ing
+L ong
+i um
+Ġ el
+in ter
+Ġb ell
+f ingers
+o c
+c rate
+re al
+ood les
+s lice
+Ġskate boarding
+draw ers
+bag s
+Ġli ft
+LA CK
+c able
+i ves
+Ġp ony
+Ġbea utiful
+Ġrun way
+mb s
+ic al
+Ġtopping s
+Ġb louse
+e ment
+Ġsy mbol
+Ġw ay
+Ġc ooler
+cu cumber
+Ġfruit s
+Ġmotorcycle s
+Ġban ner
+g ers
+ur ch
+lu min
+li ance
+Ġgra pe
+Ġb acon
+decor ation
+ck pit
+mountain s
+d ers
+bal cony
+m as
+dish washer
+Ġbul b
+Ġs alt
+Ġser ving
+Ġdes sert
+Ġcell phone
+wrist band
+Ġp ort
+inea pple
+Ġref le
+Ġflu ffy
+d onuts
+Ġegg s
+Ġshow ing
+e ring
+fri es
+bri dge
+Ġte e
+onion s
+d ra
+or ful
+Ġb re
+Ġcand les
+c orn
+Ġgra pes
+Ġcol our
+Do es
+Ġcan opy
+Ġf eathers
+Ġri pe
+ad ing
+re t
+l ine
+Ġen clo
+Ġl in
+his k
+Ġs hi
+gra pe
+pla tform
+ear ring
+Ġbik es
+g out
+k itchen
+e mpty
+st ore
+G lass
+C h
+Ġp er
+Ġb in
+Ġf en
+am ily
+Ġoff ic
+Ġsl ope
+Ġj e
+f ig
+Ġh ay
+p er
+Ġm ulti
+Ġbutton s
+Ġc ru
+Ġpast ry
+Ġdo ing
+cu l
+F our
+g ame
+Ġread y
+skateboard er
+ĠS T
+l og
+Ġite ms
+Ġst ru
+ler y
+h ing
+ro me
+s ted
+dd ler
+Ġtis sue
+Ġhot dog
+qu e
+cul p
+Ġmu stard
+W ater
+Ġad vertis
+Ġpattern ed
+Ġb la
+Ġa w
+Ġste p
+assen gers
+Ġp illar
+ab ric
+d ay
+Ġplace mat
+Ġchi mney
+Ġm agazine
+ri z
+Ġrefle cted
+Ġme al
+Ġm el
+T urn
+Ġsupp ort
+L i
+te lephone
+Ġcat s
+en d
+EAR ING
+S ome
+Ġbu ll
+ĠU p
+Ġ E
+ĠW EARING
+sw eatshirt
+F ront
+ct or
+Ġst air
+Ġc la
+la in
+box es
+H and
+st icks
+O pen
+m er
+ĠW ii
+Ġbar rier
+Ġreflect ing
+t ooth
+Ġb ent
+c rowd
+r and
+Ġtable s
+m ouse
+boat s
+Ġb ow
+Ġti ed
+Ġsty le
+p ower
+pe ppers
+Ġf resh
+bur ger
+culp ture
+w ard
+cup s
+Ġd rain
+Ġtong ue
+man y
+Ġelectric al
+p rin
+it ten
+Ġhe art
+Ġf la
+ti me
+ind er
+v ers
+it al
+Ġcontain ers
+ak ed
+Ġoli ves
+Ġh oo
+Ġsp rinkles
+T o
+an a
+Ġben eath
+Ġfe ed
+Ġvehicle s
+bu tter
+Ġdeck er
+Ġpla tter
+Ġcu be
+s ure
+f o
+is e
+d uce
+go at
+G rey
+ag es
+Ġcur ved
+ter s
+S ign
+st y
+Ġclo se
+Ġa b
+Ġpoin ting
+O O
+un ch
+Ġf abric
+Ġpi geon
+Ġp ool
+Ġc age
+ycl ist
+ce lain
+b ig
+Ġp ul
+ĠM AN
+book case
+Ġbe verage
+g ri
+Ġfore ground
+Ġ entrance
+wet suit
+Ġne wspaper
+Ġt ape
+ang le
+a vy
+Ġstru cture
+com forter
+Ġsand y
+u me
+Ġmi tt
+Ġp icnic
+Ġbowl s
+um er
+Ġg as
+ad o
+Ġmen u
+Ġnapkin s
+Ġbe ans
+Ġg e
+Ġm ale
+p y
+estri ans
+Ġla wn
+p ick
+S e
+au l
+s alt
+pi geon
+Ġm ini
+Ġhead phones
+s ausage
+ch ocolate
+Ġsnowboard er
+Ġru bber
+h orses
+ot ive
+dress er
+B aseball
+e lephants
+Ġha ired
+Ġb ro
+Ġdu ring
+rist mas
+il d
+P ut
+ten na
+Ġdis hes
+bri ck
+s he
+Ġh ook
+t ong
+Ġite m
+Ġgar bage
+B ack
+Ġte xt
+ste ps
+Ġpro te
+p atch
+P i
+Ġg la
+Ġra is
+o cean
+ra ph
+le ts
+con d
+Ġad ult
+HI S
+ump kin
+w ic
+Ġc ords
+p assenger
+Ġenclo sure
+Ġdin ner
+sh op
+Ġcur ly
+spectator s
+Ġs moke
+Ġsnow y
+C ar
+b eak
+Ġpor celain
+wic hes
+ri mp
+m i
+ket chup
+Ġw ide
+pp y
+Ġth row
+Ġri m
+cow s
+Ġd ot
+potato es
+ju ice
+Ġw agon
+as ted
+towel s
+Ġz oo
+ir th
+Ġy ard
+Ġpo lar
+Ġaw ning
+pp ing
+Ġl ife
+c ast
+te eth
+Ġsheet s
+Ġkite s
+Ġti me
+di o
+Ġfi g
+v oc
+voc ado
+Ġwe eds
+Ġtou ching
+low ing
+met hing
+Ġan other
+ĠS U
+Ġpaw s
+as il
+Ġcon ne
+P l
+Ġst or
+st ru
+Ġa merican
+Ġcross walk
+ame rican
+an o
+ball oon
+m ask
+Ġfi gu
+Ġsp l
+p air
+Ġfig ure
+Ġpad s
+G rass
+irth day
+on key
+st ume
+R A
+I G
+h ak
+Ġpad dle
+wi g
+Ġab out
+Ġhe re
+Ġsp atula
+Ġs li
+Ġcook ie
+Ġoffic er
+Ġben ches
+Ġmu d
+a cher
+n ed
+cup cake
+Ġstraw berries
+Ġen tertainment
+Ġtu sk
+gra vel
+Ġor n
+l ing
+bb on
+Ġs hel
+Ġch urch
+Ġin ter
+ĠB LACK
+Ġw icker
+flag s
+umb rellas
+st om
+j o
+horn s
+Ġpul led
+hisk ers
+Ġshi p
+sk in
+h am
+Ġtire s
+ri sbee
+Ġswim ming
+Ġmar oon
+utensil s
+Ġm atch
+oo se
+Ġprin ted
+T ennis
+Ġshirt s
+Ġbed spread
+Ġhi tting
+Ġcand y
+plan ter
+att ress
+b acon
+car riage
+Ġc al
+Ġgu itar
+ar p
+Ġp as
+Bu ilding
+T ree
+p oliceman
+Ġho riz
+Ġh ose
+Ġb i
+Ġport ion
+um n
+chi mney
+if lower
+silver ware
+Ġpo ts
+Ġche st
+Ġshop ping
+tt y
+Ġpicture s
+cre am
+po d
+C le
+ĠA ND
+gra pes
+Ġd el
+s y
+b louse
+ad ed
+Ġhard wood
+d ou
+il t
+dis play
+aul iflower
+Ġthe m
+th umb
+col ored
+acher s
+si an
+c ard
+Ġb er
+Ġapp liance
+i ous
+Ġpat io
+cu tting
+s ail
+st ack
+n uts
+cor ds
+cook ed
+hak i
+Ġm ound
+Ġst icks
+Ġf olding
+Ġgar age
+Ġwhi le
+te a
+Ġcond ition
+Ġen jo
+to aster
+Ġp ropeller
+Ġc her
+Ġstri p
+O P
+Pi zza
+F ood
+Ġn umer
+Ġri der
+Ġra c
+bo ttom
+squ are
+Ġ ea
+T HIS
+ron ic
+kin i
+Ġday time
+Ġspectator s
+c ra
+Ġfe w
+wall s
+ou quet
+Ġb lurry
+B ook
+Ġpo sing
+I C
+m agazine
+Z e
+el ier
+lect ronic
+we eds
+Ġc rou
+n el
+Ġ r
+all way
+Ġch in
+s ea
+head band
+Ġri bbon
+Ġp oliceman
+Ġtrunk s
+Ġre st
+i an
+ble nder
+agaz ines
+sc issors
+a tting
+are tte
+Ġsilver ware
+Ġb or
+Li ttle
+d river
+du ck
+Ġw inter
+Ġsur round
+A D
+ig arette
+Ġhood ie
+Ġout door
+el ing
+Ġdra pes
+Ġpast a
+Ġ K
+it her
+C hild
+Ġtri ck
+Ġc rack
+Ġhand bag
+TE R
+Ġenjo ying
+L D
+Ġsp e
+Ġf rench
+i ally
+Ġt in
+Ġski es
+Ġro se
+Ġdu gout
+Ġrail road
+Ġst ones
+A LL
+m ark
+Ġf ar
+Ġc lu
+lar m
+Ġhill side
+Ġsand al
+g ed
+Ġmark et
+sh iny
+Ġd ire
+Ġball s
+pat h
+Ġg i
+Ġty pe
+Ġp olice
+Ġped estrian
+k en
+Ġinter section
+Ġe ither
+past ry
+Ġse veral
+Ġge tting
+Ġm icrophone
+y ard
+Ġpoin ty
+oo ring
+Ġcir cular
+ĠĠ ĠĠ
+Ġknob s
+L e
+ph alt
+s aucer
+Ġ 3
+Ġsp inach
+al let
+ĠA RE
+g iraffes
+dis hes
+Ġfe male
+Window s
+Ġc ans
+place mat
+f ast
+Ġsp ray
+can opy
+ri ting
+vehicle s
+L U
+o e
+b irds
+Ġ V
+p avement
+col orful
+Ġho tel
+Ġo ttoman
+p ar
+Ġgold en
+Ġopen ed
+Ġt ran
+Ġla mb
+f la
+ran e
+v al
+Ġcon es
+er y
+p t
+o y
+Ġfo il
+mu stard
+s moke
+animal s
+Ġwa ist
+c ur
+Ġso mething
+Ġcolor s
+T rain
+Ġa way
+men u
+Ġel bow
+Ġbus es
+Ġmu stache
+c ooler
+Ġcow boy
+Ġs ame
+Ġwing s
+j am
+Ġh it
+AN D
+gri ll
+at s
+Ġmo ving
+ines s
+c umbers
+ak fast
+Ġsun ny
+Ġon to
+ch ool
+Ġm ed
+Ġshap e
+A CK
+Ġmotor bike
+A B
+u rt
+Ġchi ps
+Pick up
+Ġeye glasses
+Ġto ast
+Cle ar
+on ed
+Ġra diator
+o s
+Re flection
+Ġis land
+Ġh ouses
+Ġup side
+Ġfl ooring
+c ts
+Ġw here
+Ġb irthday
+Ġflo ating
+ne qu
+e led
+Ġg ear
+Ġk haki
+Ġphotog raph
+Ġfigu rine
+Ġth rowing
+Ġa m
+Ġd en
+Ġfo am
+b y
+Ġtow ards
+Ġv ent
+Ġsh ru
+ic ious
+Ġnote book
+A L
+head phones
+Ġpas ture
+P ie
+walk way
+oli ves
+g ull
+Ġch rome
+Ġrac quet
+The se
+let ic
+Ġlin ed
+Ġfri ed
+Ġsk ater
+r oun
+play ers
+Ġti p
+Ġflop s
+O T
+Ġsea ted
+Ġrais ed
+Ġ J
+sp rinkles
+s ole
+Ġt arm
+am es
+rap her
+Ġ range
+d oll
+ĠF risbee
+tra iler
+at h
+as te
+Ġl an
+and a
+egg s
+ard en
+R ight
+p ro
+Ġpol o
+Ġm et
+f ish
+Ġhu man
+Ġbar n
+e lectric
+Ġsp read
+Ġc a
+bu tton
+c y
+am ent
+Ġcol umn
+L eft
+boy s
+Ġl ow
+Ġ qu
+ste p
+ach ing
+u ck
+all ic
+Ġw ip
+Ġover cast
+LU E
+Ġspot ted
+Ġpor ch
+Ġbal d
+Ġe xt
+Ġw hiskers
+f ly
+Ġwork ing
+Ġwith out
+Ġmu ff
+st roller
+il la
+Ġsu b
+B us
+Ġstra ight
+sc ooter
+Ġtrain s
+Ġle ading
+R ound
+Ġbe en
+ed ding
+Ġbicycle s
+straw berries
+ct ive
+att oo
+I D
+te ri
+Ġover head
+Ġl ock
+Ġs ad
+Ġwater melon
+Ġben ding
+al le
+Ġp acket
+Ġp ow
+ke ttle
+I S
+Ġcondition er
+roun ding
+dra pes
+P ur
+ĠI t
+ic ol
+Ze bra
+cook ie
+ne e
+Ġpen cil
+am ond
+G roup
+Ġa th
+el s
+Ġbar s
+Ġbik er
+topping s
+m ulti
+T op
+ult icol
+m es
+in t
+Ġfur ry
+Ġas phalt
+Ġche f
+Bo ttle
+cand les
+Ġsur rounding
+al ler
+Ġki ds
+Ġkey s
+Ġpos ts
+Ġn oodles
+rin al
+ag us
+f e
+Ġmar ble
+bath room
+A IR
+O ld
+Ġli ps
+Ġden im
+sand al
+Ġle ash
+Ġf all
+f ore
+Ġco ckpit
+Ġclo set
+Ġce real
+Ġto ol
+bik er
+Ġhu ge
+so ccer
+ac ter
+Ġfor ward
+R T
+Ġtra vel
+Ġprin ter
+bik es
+bar rier
+Ġst ain
+Ġm aking
+Ġbor der
+Ġc li
+Ġdecor ated
+Se veral
+Ġhead lights
+P hot
+gh ter
+nequ in
+Ġplace d
+T an
+fig u
+jam as
+Ġh ar
+G iraffe
+v i
+fruit s
+po ts
+ig ital
+gg ed
+Ġf ree
+t hick
+tis sue
+ri ed
+Ġdri ve
+Ġcan ister
+tooth brush
+ing le
+ch op
+ock ey
+ver green
+Ġex ten
+is her
+Ġcab bage
+Ġkn ives
+T ra
+ver t
+di ence
+Ġd r
+k n
+k es
+Ġt ur
+sp atula
+ir st
+S and
+c ases
+a ring
+s m
+Ġtarm ac
+ar y
+ĠSU V
+Ġseat s
+ne wspaper
+Ġadvertis ement
+de red
+Ġmel ted
+Ġb aked
+Ġp ineapple
+c a
+Ġrock y
+Ġcher ry
+napkin s
+Ġmo st
+Ġsp ices
+Ġar ched
+Ġlamp s
+Ġa part
+P la
+sy mbol
+St reet
+Ġs culpture
+Ġmo ther
+Ġsk ating
+Man y
+Ġsurround ed
+Ġde ad
+he art
+t ape
+Ġin doors
+Ġs la
+sc rap
+u te
+teri or
+m ilk
+sh ing
+ra il
+L amp
+Ġs ale
+T able
+Ġo il
+Ġroll ing
+Ġperson s
+Ġconne cted
+zz as
+rol led
+Ġhill s
+Ġle dge
+be ige
+Ġwood s
+ch ar
+H orse
+Ġsqu ash
+des sert
+Ġcross ed
+Ġw ild
+c ru
+Ġbus iness
+Pur ple
+ari ous
+cra ft
+k i
+Ġto ddler
+Ġn ail
+no te
+Ġk itten
+snowboard er
+Ġf amily
+Ġm ot
+ER S
+B ri
+Ġpony tail
+lo se
+Ġmushroom s
+S lice
+n ame
+Ġstair case
+Ġpro duce
+f eathers
+Ġw ind
+on s
+re ar
+Ġt er
+Ġmet allic
+re am
+Ġin d
+ste m
+Ġdel icious
+mp er
+ĠB U
+Ġt rou
+R OW
+l led
+OM AN
+ĠH AS
+Ġold er
+Ġco stume
+sp inach
+ĠP LA
+Ġw ool
+Ġp assengers
+Ġgu ard
+B right
+Ġvis or
+pi le
+Ġm attress
+Ġea ten
+Ġble achers
+ad s
+sand als
+k a
+bo dy
+ulticol ored
+Ġp ea
+k nee
+Ġdraw ing
+der n
+ph ot
+Ġfen cing
+Ġdrink s
+b ble
+ĠC h
+h ay
+Ġdire ction
+Ġhu ng
+un nel
+b eans
+C H
+p ropeller
+ing u
+ain ers
+D e
+s pi
+ail box
+sp ices
+con crete
+ru p
+ro iss
+RE EN
+zza rella
+Ġt ap
+Ġpart ially
+W all
+Ġhat s
+Ġpre pa
+ra diator
+Ġe lectronic
+Ġ 4
+Ġband ana
+w riting
+k nob
+b or
+bu ll
+su es
+Ġsand wiches
+bed spread
+plan es
+Ġpi ano
+Ġsi ze
+ack s
+can ister
+Ġt iny
+az y
+Ġfeed ing
+ars ley
+Ġru sty
+ped estrian
+Ġw edding
+nis h
+R o
+Ġpla in
+ol der
+st ainless
+Ġph ones
+G old
+Ġg arden
+k ing
+Ġdi amond
+Ġbi kini
+Phot o
+ri al
+pad dle
+B e
+Ġpot ted
+Ġstick ers
+P late
+Ġdesk top
+il ity
+D oor
+Ġcontroller s
+Ġtea m
+C E
+Ġw ho
+u c
+I n
+Ġe mb
+h ose
+ĠS H
+ingu isher
+ad y
+Ġs chool
+Sk y
+u red
+Ġext inguisher
+AB LE
+li ps
+Ġc alf
+d ock
+s oup
+Pl astic
+girl s
+ĠB LUE
+tong ue
+d el
+Ġbl ind
+cont ainers
+Ġdo ts
+Ġli me
+og urt
+oco m
+l it
+ad ium
+Ġp in
+Ġguy s
+Ġmark er
+art work
+Ġs he
+ocom otive
+Ġse cond
+Ġpack age
+Ġf ountain
+IT H
+Ġart work
+ras p
+i que
+Ġm ate
+dis penser
+Ġcook ies
+decor ative
+C lock
+ĠW ITH
+Ġdr yer
+lumin um
+b ell
+Ġwrist watch
+th in
+Pie ce
+o ffic
+Ġdraw n
+vert ical
+Ġplu gged
+fo am
+on ge
+Ġw hat
+OU ND
+Ġtop ped
+w a
+Ġro d
+Ġ &
+Ġce lery
+Ġk ick
+S S
+ĠC lose
+D irt
+Ġbe an
+v d
+h alf
+re st
+Ġso ft
+T e
+it s
+Ġl ocomotive
+hand bag
+Ġsad dle
+il lumin
+Ġpi led
+Ġp ond
+Ġsh ut
+Ġcart on
+S E
+water melon
+figu rine
+Ġg ames
+Ġkn it
+be verage
+E lephant
+Ġsi des
+Ġapp ears
+Ġsp eakers
+are nt
+Ġath letic
+Ġs ill
+Ġp umpkin
+Ġla ce
+Ġb rand
+Ġl ining
+t v
+shirt s
+ap top
+te red
+sh ade
+u nk
+Ġsn eaker
+G E
+motorcycle s
+Ġcat ching
+Light s
+v ds
+f ramed
+Ġdecoration s
+n d
+Ġp ant
+Ġind ic
+squ ash
+Ġtra il
+stri ped
+Ġbe ef
+Ġher d
+ti le
+ef case
+c ab
+C ol
+b are
+Ġlaptop s
+h ouses
+Ġsp ice
+g un
+scrap er
+Ġpen s
+Ġdisplay ed
+an y
+Ġc igarette
+Ġde ep
+Ġhoriz on
+he red
+Ġm ap
+E mpty
+L aptop
+Ġtong s
+Ġped estrians
+T S
+Ġ ed
+shadow s
+Ġskin ny
+heel s
+HI RT
+Ġg lo
+Ġje an
+Ġtop s
+p aste
+Ġsm ooth
+bowl s
+w s
+Ġwri nk
+Ġwoman s
+de ck
+dle ss
+Ġst uck
+Ġbur ger
+S ide
+ro se
+Ġ rolled
+Ġsw eat
+Ġtoy s
+offic er
+st ones
+Ġthe n
+Ġcable s
+Ġmagnet s
+Ġcomputer s
+Le g
+past a
+uff y
+p ol
+c ir
+ce lets
+ĠR ED
+ĠT ABLE
+ou ch
+k id
+sheet s
+Ġse eds
+vel ope
+Ġwall paper
+OO D
+Ġa vocado
+Ġg ood
+Ġth an
+Ġa luminum
+Ġse tting
+Co mputer
+Ġhoo f
+s ts
+Ġsp ace
+stru ction
+Ġf u
+Ġpi zzas
+mo st
+Ġh allway
+ĠS t
+Ġm ess
+Ġbro ken
+Ġhe dge
+Ġne on
+l ink
+Ġcal led
+tire s
+th y
+f l
+pen s
+cand y
+Ġste ering
+Ġsh rimp
+Ġv ases
+Ġm a
+Ġst ud
+Ġpu shing
+I L
+m icrophone
+Ġl unch
+n ess
+Ġpu ppy
+Ġcur led
+Ġhelmet s
+get ation
+Ġstor age
+G ra
+Ġtable t
+ad es
+v et
+Ġto asted
+Ġfro sted
+o ff
+Ġan tenna
+Ġbre akfast
+Ġb ouquet
+su nglasses
+Ġre aching
+Ġlu sh
+ch and
+cross walk
+ould ers
+ran ite
+Ġa cc
+p u
+Ġg rou
+Ġfree zer
+Ġmate rial
+R OUND
+one y
+p ineapple
+i pper
+S p
+roiss ant
+d rain
+Ġhol d
+spi ce
+w ards
+Ġkne eling
+Ġprepa ring
+Ġra dio
+f lip
+as hi
+co ckpit
+uc ch
+Ġgla zed
+c ut
+ro be
+Ġmix er
+bb les
+mu stache
+h ook
+Ġn arrow
+af e
+P o
+v ent
+Sk ateboard
+ub lic
+er t
+ant ique
+Ġcla y
+Ġb asil
+Ġmark s
+Ġmost ly
+L ady
+e x
+Ġl ots
+f lat
+Ġe qu
+lou r
+Ġdo es
+ROW N
+Ġun it
+k y
+o ttoman
+Ġsail boat
+Ġst adium
+C hair
+cab bage
+Ġa larm
+Ġdesign s
+Ġc ri
+Ġs ingle
+Ġmuff in
+en tertainment
+p ut
+Ġp anda
+L ea
+ucch ini
+row s
+Ġro be
+w aves
+Ġn avy
+Ġcontain ing
+Ġexten ded
+illumin ated
+T H
+c ial
+ce real
+S u
+hand elier
+ru s
+ang ing
+g as
+Ġski ers
+m achine
+gu itar
+F low
+f olding
+Ġplan es
+Ġcat ch
+Ġt wig
+ĠS HIRT
+Ġleaf less
+Ġf ry
+tra cks
+Ġcon sole
+Ġp ear
+il let
+Ġd ump
+Ġl ower
+l ines
+Ġplu g
+B ird
+Ġp ale
+Ġs a
+Ġreflect ive
+Ġpi er
+slice d
+ret ched
+S urf
+Ġu pper
+Ġspl ashing
+l ife
+n oodles
+Ġe at
+L O
+Ġclo cks
+Ġbu mper
+Ġpan e
+IG H
+Ġclou dless
+Ġearring s
+Ġarm chair
+Ġc auliflower
+at ure
+Ġa u
+Ġpast ries
+me al
+prin ter
+cher ry
+Ġchop ped
+Ġp ass
+ell ing
+Ġskin ned
+C lou
+old ier
+Ġste am
+ce lery
+Ġb ol
+stom er
+Ġwra pper
+Ġcu tter
+H andle
+d ry
+st air
+t ool
+E LL
+Ġ 5
+C ow
+ders hirt
+Ġsi zed
+kite s
+Ġtru cks
+Ġla ces
+des ign
+light ly
+C ars
+Ġphotog rapher
+H ow
+mo ther
+Ġtran sp
+or y
+zz y
+sw im
+mi x
+AR D
+hi c
+Ġu rinal
+Ġch alk
+Ġth ink
+fig ure
+i led
+ĠA merican
+draw ing
+as on
+Ġf irst
+S o
+Ġland ing
+t urn
+C he
+b ile
+if ic
+che f
+mushroom s
+IN D
+Ġtrim med
+Ġmark ings
+ĠD O
+Ġc abin
+Ġpillar s
+kn ives
+Ġpi pes
+la mb
+Ġar ch
+M AN
+Ġcan oe
+note book
+Ġsnow boarding
+B l
+Flow ers
+el f
+Ġpu d
+Ġc rash
+Ġsm ile
+ip ment
+B O
+G lasses
+Ġli p
+Ġe vergreen
+Ġhigh way
+Ġber ries
+A P
+S te
+Ġw ashing
+ru m
+ĠC O
+e cts
+hill s
+Ġh azy
+Ġc rane
+Ġfor m
+R otate
+M ountain
+Ġve gg
+an tenna
+Ġf ra
+Ġb inder
+bj ects
+F ence
+table s
+Ġpol ka
+Ġm is
+Ġje ep
+sho re
+or ted
+Ġd igital
+S he
+Ġbla zer
+Ġcrou ching
+Ġboard s
+Ġbus y
+f ive
+Ġc handelier
+Ġo b
+fore st
+Ġo val
+Ġwork er
+Ġham burger
+bun ch
+o ver
+Ġst aring
+Ġa top
+pen cil
+le m
+Ġt attoo
+ĠW OMAN
+b ears
+Ġb ill
+t le
+g ings
+f u
+pla tter
+S un
+f amily
+g y
+Ġbed s
+Ġdress ing
+su gar
+Ġfloor s
+Ġ vertical
+Ġmo ss
+p icnic
+oli age
+Ġlight ing
+ped estrians
+Ġp each
+Ġke pt
+Ġr oman
+Ġsurfboard s
+le te
+Ġstor y
+sp ar
+P illow
+Ġstra ps
+bicycle s
+Ġan g
+Ġn ice
+dou gh
+b an
+Ġco tton
+S T
+Ġb as
+red ded
+li es
+Ġprote ctive
+Ġsnow suit
+T ail
+Ġp itch
+op ed
+p assengers
+b la
+LD ING
+ol id
+dou ble
+Ġm es
+dirt y
+Ġt w
+W HITE
+Ġsh own
+Ġair craft
+Ġdough nuts
+l ook
+Ġtravel ing
+Ġw ell
+Ġp rop
+magnet s
+hi gh
+b asil
+Ġt arp
+Ġhe ater
+Ġcup cakes
+B aby
+Ġslee ves
+Ġhole s
+Ġfall ing
+Ġcu cumbers
+Ġnumer al
+wrist watch
+Ġstop ped
+Ġt ab
+Ġp ublic
+Ġb lo
+Ġtow ard
+A ir
+Ġrail s
+p ow
+Book s
+si te
+Ġt shirt
+Ġcrash ing
+ĠB O
+ont al
+v ideo
+V E
+ĠA pple
+Ġre ce
+Tra ffic
+v iew
+ashi oned
+Ġ '
+Ġp ump
+gar age
+ro foam
+Ġha ving
+Ġspoon s
+Ġsh ades
+corn er
+Ġc am
+int age
+Ġro ses
+c al
+al thy
+stick ers
+Ġequ ipment
+ĠS K
+Ġban k
+Ġcontrol s
+ea utiful
+oo f
+sh rimp
+cook ies
+Ġn uts
+g on
+cow boy
+Ġplan k
+stair case
+M irror
+t ility
+Ġsleeve less
+in n
+Ġtis sues
+Ġmot ion
+min i
+lat or
+P air
+Ġc rown
+to ast
+h u
+Ġ antique
+Ġsome one
+Ġb aking
+Ġhang s
+gun dy
+Ġt rying
+p umpkin
+Ġtu be
+Ġgri lled
+m ade
+he dge
+Ġring s
+Ġpa jamas
+Ġcru mbs
+C up
+re w
+Ġbu ilt
+Ġp uffy
+p or
+Ġw he
+to ddler
+Ġpick up
+Ġapart ment
+Ġbasket s
+P aper
+ch o
+is cu
+m uff
+Ġst ars
+Ġsp orts
+Ġsuit cases
+g ing
+To ilet
+Ġbutter fly
+en ches
+St ri
+j e
+n ers
+Ġc ra
+Ġd ome
+Ġcar go
+Ġman tle
+Ġchar acter
+Ġve getation
+Ġm agazines
+E A
+Ġg ranite
+tong s
+Ġeye b
+Ġri pples
+V e
+Ġb atting
+Ġn ike
+N umber
+ent le
+T ru
+Ġlamp shade
+a vocado
+Ġlemon s
+B ear
+bl onde
+Ġst ump
+paw s
+Ġpick les
+fo il
+E lectric
+Ġp ans
+Ġopen ing
+Ġorn ate
+Ġcook er
+Ġm onkey
+Ġpud dle
+m ar
+rop es
+Ġmo dern
+dog s
+p illar
+t ri
+men ts
+Ġsea gull
+Ġfork s
+Ġpoin ted
+Ġmirror s
+itar y
+ogg le
+id ent
+Ġroad way
+Ġorn ament
+Ġnumer als
+Ġla r
+Ġw hole
+Ġchar ger
+cur ved
+Ġjacket s
+d o
+ad vertis
+W here
+Ġst uff
+Ġtusk s
+y l
+alle n
+st ation
+IGH T
+Ġ illuminated
+cable s
+s culpture
+c auliflower
+Ġw allet
+Ġle vel
+li me
+Ġs ep
+Ġber ry
+R I
+ate s
+Ġbla de
+n ail
+Ġmix ed
+Ġst ill
+ce ment
+P atch
+n s
+Ġjar s
+B unch
+c ans
+Ġtra ctor
+Ġau dience
+pol o
+wall paper
+Ġsli ding
+i x
+ĠC AR
+Ġshel ter
+electric al
+Ġbar rel
+band ana
+Ġt unnel
+el y
+Ġ roo
+M ulti
+art ment
+m a
+C u
+pro duce
+form ation
+Ġblue berry
+ĠĠĠĠ ĠĠĠĠ
+Ġbush y
+N ose
+j et
+mo ss
+c lu
+Ġco vers
+ĠB ROWN
+cru mbs
+ti p
+ole s
+h au
+Ġc ycle
+b enches
+ĠT O
+phot og
+c rack
+Ġmes h
+N e
+Ġtrash can
+Ġbur nt
+clo set
+t iny
+an other
+ra dio
+st ud
+t wig
+Ġswim suit
+re ct
+p ea
+Ġlog s
+s afety
+spar agus
+mp led
+Ġper form
+hau st
+Ġmini van
+Ġdra ped
+c onut
+Ġi pod
+Sk i
+lo com
+locom otive
+Ġsupport ing
+c age
+Ġcu b
+gold en
+ct ing
+Ġcupboard s
+Ġsw an
+Ġb a
+ELL OW
+N o
+ur al
+b inder
+H is
+Ġo bjects
+A M
+Ġwa vy
+Ġbo arding
+Ġtray s
+d ges
+Ġse ed
+LA SS
+Ġgo al
+Ġs lat
+pp o
+op per
+A d
+Ġm ulticolored
+wing s
+head light
+F ork
+m agazines
+Ġrect angle
+d in
+Ġf arm
+Ġrain bow
+Ġsub way
+Ġa sparagus
+Ġfra mes
+Ġo ct
+Ġman nequin
+Ġdri ed
+Ġf oliage
+Ġh im
+ĠB ACK
+Ġsm aller
+p hic
+Ġalong side
+Ġt ake
+A r
+Ġp us
+Co ffee
+Ġhair y
+Ġc yclist
+Ġf ashioned
+il itary
+shi p
+sp eakers
+Ġu tility
+chand elier
+i pod
+Ġplu sh
+c yclist
+Ġs lightly
+c ity
+ap ler
+Ġgra te
+ĠN ike
+Ġshadow s
+Ġsp onge
+ri pples
+R i
+h ol
+s n
+Be ige
+Ġsu s
+blue berry
+E ye
+Ġst age
+Ġkne es
+Ġp etal
+rin es
+ut ion
+Ġw ear
+le e
+w hi
+Ġboard er
+Ġtri angular
+we ed
+Ġw eather
+Ġte al
+Ġwip ers
+ng th
+V ER
+Ġwip er
+Ġtri angle
+Pla yer
+min al
+trunk s
+Ġcle ats
+Ġbare foot
+Ġ HE
+H ot
+Building s
+ĠT RA
+h ard
+ount ry
+Ġbea m
+Ġm ake
+f rench
+ID E
+b ro
+Ġbag el
+l s
+Ġhar ness
+Ġsp rink
+snow suit
+m ap
+ĠC H
+Ġf ake
+ball s
+ĠCh ristmas
+W ine
+con es
+Ġy ogurt
+Ġa ss
+ĠG REEN
+Ġsy stem
+ar ning
+Ġfi ve
+Ġsw eet
+Sh ort
+Ġju g
+Ġemb lem
+E L
+inea pples
+M otorcycle
+ste ering
+w agon
+Ġwas te
+Ġcli ff
+Ġste ak
+Ġa sian
+Ġchop sticks
+Ġre g
+Ġwire less
+T ING
+tte red
+T V
+b ase
+d ining
+w ool
+ip t
+entle man
+off ice
+Ġsh in
+RE D
+Ġpe as
+Ġpus hed
+Ġcol la
+mark er
+j ect
+Ġfeed er
+prin ts
+Ġvan ity
+co hol
+cir cular
+St ack
+a ff
+ge rine
+Ġco ke
+Ġpos ition
+S c
+v id
+Ġ 6
+pillar s
+R O
+M en
+mer cial
+Ġper ched
+gh ted
+Ġcrate s
+Ġbri efcase
+m y
+Ġst ir
+et te
+arm chair
+all ow
+shop ping
+Ġm ay
+Col orful
+is hed
+sk ater
+ERS ON
+wa ist
+Ġa f
+am on
+Ġz ipper
+past ries
+Ġcrou ched
+B ag
+ĠP I
+Ġdra pe
+s lices
+a cle
+ĠP ut
+S heep
+Ġl oung
+ĠG IR
+sc ape
+p olice
+bl ind
+Ġju st
+in ese
+pie ces
+drink s
+ol k
+Ġ ves
+Ġh ing
+Bo x
+Ġpick le
+Ġwrink led
+C on
+F F
+E ar
+Ġj ockey
+t hat
+Ġne w
+an ut
+lo ts
+Ġcon struction
+Ġpanel s
+po lar
+Ġdock ed
+Ġst all
+pi pes
+Ġhoo ves
+il ted
+zz le
+Ġste ep
+Ġround ed
+Ġgar nish
+Ġblue berries
+at tered
+ĠA sian
+Ġ ent
+mix er
+a ur
+hi r
+Ġcomp any
+b r
+IG N
+K E
+i ff
+in o
+Ġc d
+decoration s
+Ġmud dy
+A IN
+Ġh ind
+r oman
+Ġmis sing
+c alf
+Ġg at
+sand wiches
+Ġv arious
+i a
+agn e
+Ġmonitor s
+Bo ttom
+Ġw arm
+Ġdi vi
+amp agne
+Ġhe althy
+Ġo w
+G uy
+Ġdis c
+Ġb rass
+stom ers
+Ġmark ing
+S m
+Ġsy rup
+Ġgra vy
+ion al
+pack age
+Ġd onkey
+Ġcond im
+Ġgra in
+ion s
+Cat cher
+Ġ 7
+Ġco ach
+ĠPLA TE
+Bri ck
+lan ce
+t in
+i gh
+hill side
+Ġadvertis ing
+b ars
+Ġm ailbox
+Ġf at
+Ġf light
+lect ion
+c d
+Ġst ream
+Ġpocket s
+B at
+cu lator
+pe ted
+u ring
+Ġki wi
+Ġb ooth
+Ġc lip
+D es
+di es
+Ġbol t
+Ġballoon s
+Ġle ngth
+Ġst o
+Ġser ved
+b i
+table t
+cu cumbers
+Ġfu zzy
+B owl
+Ġgi ant
+Ġher bs
+Ġsep ar
+Ġa qu
+F ire
+Ġsus pen
+Ġspl ash
+r ong
+Ġsh ot
+car oni
+Ġpow dered
+h allway
+Ġshirt less
+Ġmess y
+bar n
+Ġf in
+Ġc lass
+Ġsqu atting
+Ġhead s
+Ġp arsley
+ste am
+sun light
+d en
+muff in
+f lu
+Ġg re
+Ġsh arp
+Ġflow ered
+Ġf ans
+du gout
+il ot
+Ġair planes
+toy s
+Ġste ms
+Ġbu oy
+Ġfan cy
+Ġc ountry
+Ġpat ches
+Ġs hield
+Ġb ru
+ĠW A
+Ġsk illet
+mu d
+ces s
+co stume
+Ġback wards
+b lurry
+iscu it
+Ġdis t
+p ud
+Ġgra phic
+s ers
+b ouquet
+Ġch ristmas
+se eds
+M o
+P lace
+sp y
+Ġbra celets
+Ġs ack
+p ear
+la ke
+De cor
+et s
+Ġmulti ple
+Clou ds
+Lea ves
+par agus
+Ġgoat s
+Ġre fri
+Ġgar lic
+K ey
+as paragus
+ari um
+ser ving
+ject or
+Ġp rice
+Ġsp o
+Ġspe ck
+o la
+F ive
+bu lance
+sail boat
+Ġmo zzarella
+f resh
+e k
+Ġra ce
+Ġtooth paste
+clo sed
+Ġg lowing
+de vice
+V D
+y ond
+Ġh al
+Ġwa ving
+Ġpe el
+Ġw oven
+ak ers
+i cho
+mel ted
+cu s
+Ġbe yond
+Ġsc attered
+Ġmu s
+Ġstain ed
+P ark
+Ġcushion s
+a ct
+Ġhoriz ontal
+os aur
+Ġm in
+de ad
+Ġg oose
+mp lo
+lamp s
+der ly
+Ġtrou ser
+Ġtrou sers
+Ġv intage
+b re
+c rane
+dra pe
+rol ley
+gu in
+Che ese
+K ING
+mplo ye
+An imal
+Ġshru bs
+h anging
+the y
+ĠF R
+sea gull
+Ġtin ted
+a larm
+pat tern
+ĠW OOD
+W O
+ĠT oggle
+Ġperform ing
+0 0
+Ġ rough
+Ġhe avy
+amp oo
+Ġshru b
+Ġroad side
+app liance
+some one
+tt i
+l li
+at ches
+Ġrail way
+Ġbas in
+oo p
+Ġ rou
+st al
+P ot
+R ow
+ru n
+Ġso cket
+pe as
+cook ing
+Ġch unk
+K nife
+F loor
+Ġcar peted
+Ro cks
+W ire
+lan ted
+Ġbed side
+work er
+D ou
+g la
+c alm
+bu oy
+Ġtag s
+Ġ rasp
+Ġm ilitary
+can oe
+in er
+pick les
+Ġl ion
+w allet
+sc ent
+Ġpan cake
+lemon s
+Ġtur key
+Ġmo del
+Ġd rop
+ĠP ick
+S ection
+Ġmouse pad
+man nequin
+Ġsky scraper
+Ġn ut
+o ise
+w ave
+pu ppy
+ain s
+Ġstring s
+Ġflop py
+Ġpre tty
+Ġmel on
+Ġbra ke
+u al
+fl oral
+Ġri de
+C ell
+ct us
+Ġfore head
+Ġp op
+Mountain s
+Ġread s
+B LACK
+ĠPick up
+Ġs mo
+Ġst ock
+way s
+ri pe
+en g
+IN K
+Ġf allen
+Ġstri pped
+Ġen velope
+let te
+pud dle
+Ġfac ial
+inn amon
+Ġter minal
+Ġdesign ed
+bla zer
+mb ing
+controller s
+Ġv ine
+Ġbell y
+t retched
+Ġlight house
+Ġd vd
+ĠS IGN
+hir d
+Ġin formation
+U T
+B ed
+Ġla dies
+Ġsty rofoam
+Ġlar ger
+rus hes
+Ġm on
+TH AT
+Ġvegg ies
+Su nglasses
+Ġcol d
+Ġh oney
+cup cakes
+Ġsn out
+Ġblo cks
+Ġlan e
+f ans
+Ġpan cakes
+Ġcolla red
+m ound
+Ġmo bile
+Ġsh a
+Ġal one
+co ve
+Ġset s
+Ġsh redded
+mploye e
+multi ple
+P ain
+picture s
+ant a
+ra iling
+Ġbrush ing
+Ġtran s
+ur ky
+p each
+Ġbill board
+Ġland scape
+Ġd rum
+Ġe lev
+Ġed ges
+T owel
+C lo
+is land
+Ġ ident
+gg ing
+Ġw rap
+Ġbean ie
+Ġpart y
+Ġm otorc
+Ġcom mercial
+Ġf lour
+mb oo
+mp le
+A merican
+v a
+Ġsla ts
+Ġpar rot
+H alf
+RE E
+mb led
+Ġb lowing
+inter section
+Ġt ents
+la wn
+ell y
+g ran
+lur red
+ale nd
+Ġre cl
+orn ament
+ac ters
+P e
+Ġun dershirt
+ses t
+Ġwhi pped
+stri ch
+Ġon ly
+Ġleg gings
+jar s
+b eautiful
+Ġlo c
+po s
+ĠO n
+ag ed
+Ġblanket s
+Ġm ain
+Ġst alk
+B roccoli
+look ing
+he ater
+rect angular
+u g
+Ġbe ads
+Ġcan e
+mini van
+pi ano
+Ġsuit s
+Ġbur gundy
+bus es
+in ten
+Ġbul bs
+ĠH O
+d ump
+Ġc akes
+Sk ier
+Ġqu ilt
+as hed
+c ent
+s hel
+Ġcap s
+Ġpar as
+Ġs ed
+po in
+se ed
+Ġv al
+alend ar
+Ġsp ort
+u gh
+' t
+Ġdump ster
+Ġc roissant
+char acter
+mo zzarella
+en ding
+d vds
+inten do
+Ġindic ating
+Ġtransp arent
+Ġtab by
+Ġfen ces
+Ġto r
+Ġu se
+sw an
+Ġca ution
+E dge
+Ġd vds
+Ġsun light
+t ur
+Ġhood ed
+ar ts
+por ch
+ic y
+T rash
+pat io
+Ġb it
+Ġf aded
+tel ope
+U S
+ĠW ALL
+Ġsand w
+Ġdot ted
+n ch
+ck le
+Ġt rolley
+qu oise
+Ġo ppo
+Ġsh akers
+Ġgreen s
+Ġcloth s
+Ġdes ert
+Ġturn ing
+Ġtow n
+Ġnote s
+ron ze
+swim suit
+S qu
+c igarette
+f ather
+g i
+U mpire
+Sand wich
+Ġse ason
+blue berries
+s on
+rou ght
+St ainless
+Ġpacket s
+Ġsc rew
+Ġdrive way
+Ġbun s
+BO ARD
+K ite
+et a
+H at
+re staurant
+Ġar ran
+ĠT I
+Ġsi x
+o il
+Ġm oped
+Ġouts tretched
+Ġloc ated
+B icycle
+Ġt ight
+Ġ 8
+Ġan k
+sp ray
+Ġto rt
+Ġe vent
+ON T
+el bow
+p acket
+Ġsed an
+Ġstool s
+bb it
+ĠY ELLOW
+s ent
+Ġz ucchini
+m ailbox
+Ġmed ium
+s ack
+j ockey
+Bo at
+ice d
+d gerator
+Ġsquare s
+g le
+Ġlo af
+Ġwater s
+ĠR O
+sp l
+Ġfence d
+Ġg et
+d vd
+Ġh our
+E x
+si x
+Ġb room
+Ġchin ese
+est al
+Ġw ash
+head lights
+bi kini
+Ġf ol
+Ġgla ze
+id dle
+U n
+ki wi
+Ġs oldier
+f olded
+m attress
+col li
+k itten
+Ġpi g
+Ġex haust
+Ġdu cks
+to on
+je ep
+Ġla ugh
+ces sed
+chop sticks
+Ġw i
+S ho
+om es
+Ġracket s
+p ress
+t ou
+eat hered
+V ery
+g an
+Ġsn ack
+Ġp eak
+To mato
+rel ine
+Ġstud ent
+Ġclu ttered
+Ġc afe
+Bl onde
+pa jamas
+d ome
+park ed
+her d
+pain ted
+P U
+hat s
+IND OW
+r al
+Ġpe tting
+io sk
+P ower
+in ed
+K itchen
+ic ine
+Ġla y
+Ġshut ters
+button s
+au dience
+Ġcast ing
+ch rome
+butter fly
+spoon s
+advertis ement
+ĠG LASS
+H er
+log s
+ch urch
+Ġaf ter
+I t
+Ġglo be
+ĠDO G
+Ġru st
+R AS
+Ġrim med
+R ail
+eng ine
+la ces
+Ġdist ant
+f ull
+Ġb ad
+pow dered
+id as
+bag el
+net te
+F oot
+Ġg room
+Ġm urky
+aff olding
+A pple
+Ġarran ged
+ACK ET
+Ġcheck ed
+Ġg un
+ĠBU S
+R ear
+Ġtea pot
+pan cake
+ĠGIR L
+Ġhing e
+ĠP O
+Ġoppo site
+Ġroll s
+ic le
+T WO
+T hick
+C ake
+cont rol
+Con crete
+Ġel derly
+ry stal
+as ian
+Th in
+port ion
+Ġp ears
+Ġg own
+p arsley
+F ruit
+w ide
+ill ing
+pla ying
+Ġ ropes
+Ġcoat s
+Ġp ou
+f ountain
+Ġsink s
+Ġpre ser
+Ġst re
+C ont
+Ġse mi
+Ġlaugh ing
+st ring
+Te levision
+bee f
+P hone
+Decor ative
+ari ety
+Ġin terior
+Ġuniform s
+Ġth ings
+is y
+guy s
+Ġgat hered
+H el
+Ġbun ny
+Ġspe ed
+AR T
+Ġbal ding
+red i
+ĠP ERSON
+R U
+Ġru sted
+Ġ es
+Ġskateboard s
+Ġco aster
+L et
+AS E
+arm ent
+ble achers
+Ġclo sest
+Ġpro cess
+Ġam ong
+Ġwheel chair
+ook ed
+Ġbel ong
+Ġwe b
+G ROUND
+Squ are
+ra is
+stri pes
+x ing
+Ġcard s
+ĠC D
+ming o
+Bat ter
+Ġrefri dgerator
+Ġne at
+z el
+T eddy
+Ġsandw hich
+Ġb ark
+Ġneck tie
+Ġke ep
+Ġfri s
+Ġcu stomer
+Ġco mb
+Ġgi ft
+Ġped estal
+Ġbra id
+Ġb ite
+Ġal cohol
+Ġpan es
+Ġno stri
+Ġhar bor
+Ġpow der
+ph ol
+op ter
+Ġra w
+z en
+U mb
+Ġf un
+o ri
+Ġsh allow
+Ġchi li
+Ġex it
+Ġreg ister
+Ġcar ried
+P ole
+T U
+Ġy olk
+ĠCH AIR
+Ġpass ing
+ad ult
+H ome
+W heel
+Ġd ep
+so ft
+c abin
+ĠP AIR
+v ases
+ro ses
+Ġsh oulders
+B ench
+Ġloung e
+Ġa ut
+her bs
+p re
+E E
+Ġpro du
+Ġprop ped
+ĠS IDE
+Ġcast le
+Ġfixture s
+stru ment
+an cing
+x ed
+Ġde er
+grass y
+Ġsm art
+ir al
+Ġpos ted
+ate lli
+A Y
+Ġg ro
+st ars
+cove red
+ic t
+gg y
+Ġchain s
+Ġtri cks
+atelli te
+Ġh id
+B asket
+P ile
+Ġcatcher s
+pos able
+B read
+h ou
+ic opter
+ap ed
+ĠH AND
+ff le
+Ġg rown
+Ġse cu
+G round
+sky scraper
+p ans
+agon al
+l ish
+Ġb oulder
+Ġhand led
+Ġto o
+M B
+co ach
+gar nish
+photog rapher
+Ġup right
+v ory
+Ġhe dges
+t u
+Ġra cing
+Electric al
+flu ffy
+R ock
+cat s
+Ġnail s
+W heels
+Ro ad
+ood le
+ĠD VD
+Ġal most
+ing redi
+ric al
+Ġbat s
+ific ation
+spl ash
+Ġc amp
+ck ed
+St uffed
+Ġpencil s
+Snow board
+Ġ heels
+Ġch ampagne
+Ġapp ear
+Ġa ction
+Ġre la
+ten ts
+shel ter
+en velope
+ru bber
+Ġbasket ball
+Ġgrou ped
+Cu rtain
+ri ty
+ĠT OP
+ham burger
+Ġdi p
+D ay
+ft op
+Ġgar land
+F lower
+alm on
+Ġc as
+Ġent ry
+Ġpad ded
+B ike
+Stri ped
+Ch ocolate
+w ear
+Ġrest room
+Ġbur ners
+ast y
+s lee
+an uts
+Ġdra gon
+Ġbl oo
+fe male
+mb er
+ĠS IT
+Ġpillow case
+Ġhang er
+Ġkick ing
+B ath
+i zed
+S po
+ach ute
+Ġbu ckle
+Ġw ired
+ol f
+AR K
+. .
+Ġshow s
+Ġtwig s
+il hou
+Ġeyeb row
+whi pped
+aus ages
+ĠP AN
+Ġbath ing
+me gran
+Shadow s
+ĠT his
+Ġcircle s
+la w
+ki ds
+Ġa head
+co re
+ag gy
+op us
+char ger
+Ġsho reline
+Ġd et
+Ġw h
+Ġhid den
+Ġpu tting
+earring s
+is py
+Ġst om
+clou dy
+co mp
+Ġco conut
+Ġsurf ers
+Ġprin ts
+B ananas
+U R
+Ġtool s
+b rushes
+stud ent
+Ġfac es
+ĠBACK GROUND
+cu stomer
+Ġw arning
+w el
+Ġc yl
+Ġth ing
+P lane
+Ġp it
+Ġstri ps
+chop ped
+Ġst ret
+con sole
+ĠW INDOW
+gar land
+Ġf rying
+Ġl if
+Ġgi ving
+qu or
+sign s
+Ġank le
+Ġsuspen ded
+Ġbun ches
+i ted
+i zer
+Ġchop py
+Ġrock ing
+c roissant
+Ġstom ach
+mall ow
+u rinal
+Ġmug s
+Some one
+Air plane
+Ġbag els
+cupboard s
+Ġsla b
+H air
+Ġform ation
+sh mallow
+ĠHO LDING
+ĠSIT TING
+st ra
+Ġu phol
+z ucchini
+Ġfo cus
+Ġs lanted
+Ġdis playing
+ĠWOOD EN
+ON E
+Pl ant
+IN E
+Ġst apler
+y ogurt
+c rown
+C HE
+Ġsteep le
+Ġass orted
+Ġgood s
+Hel met
+Ġmin ute
+Ġche ek
+Pillow s
+Ġow l
+A TE
+Ġf eather
+ut ter
+sp ot
+v as
+Ġs hed
+ser ts
+Ġdivi der
+S top
+f ess
+sp ital
+Ġcolumn s
+at ural
+open ed
+b it
+Ġthe r
+F ace
+bl ond
+Ġwalk s
+Ġ1 2
+Ġto ur
+Ġb ound
+crate s
+Ġbi b
+An other
+AN T
+h a
+din ner
+bre akfast
+L ogo
+Ġba mboo
+Ġin door
+Slice d
+Ġcher ries
+Ġco la
+ĠB E
+Ġphoto s
+Ġki tty
+Ġar range
+P E
+Ġca ttle
+Ġm ore
+ĠF OR
+ĠU S
+lu sh
+Ġpart ly
+Ġbed ding
+hot dog
+co ke
+Ġco bble
+Sh iny
+Ġpath way
+A G
+Ġpreser ver
+Ġcanister s
+Ġc or
+on na
+Tru ck
+ĠST AND
+Ġv ines
+Ġpigeon s
+M u
+Ġk ay
+C LE
+Ġcla ws
+Ġf ast
+Ġy our
+Ġtort illa
+Ġl im
+Ġj elly
+W aves
+Ġc opper
+ite ms
+oo g
+w rinkles
+ste red
+rail road
+phot o
+megran ate
+W indshield
+Ġpe anut
+Ġprocess or
+Ġsn acks
+gra vy
+Ġfore front
+onna ise
+Ġp ut
+Ġfen der
+Ġla yer
+Ġshe er
+Ġle ns
+Ġbre ast
+Ġbu nk
+F ramed
+Ġsprink led
+Ġcontain s
+chain s
+T LE
+Ġty pes
+bri s
+c ri
+Ġfish ing
+ĠA T
+Ġseat ing
+Ġra bbit
+Ġjump suit
+Ġlan yard
+Ġc ases
+Key board
+TU RE
+lu nch
+Ġd uff
+lan k
+Ġsun set
+Ġs olid
+Ġsw itche
+P ART
+Ġs elling
+am el
+laptop s
+Ġcrack ers
+Ch ain
+W ii
+Ġred dish
+Dou ble
+Ġm ac
+li ke
+t ch
+ic ap
+Ġd a
+Ġout lets
+Ġthe y
+c reen
+St one
+Surf er
+dump ster
+s oldier
+RE ET
+Ġm eet
+cook er
+Ġman hole
+Ġd ol
+p ond
+v is
+Ġun cooked
+Ġchar acters
+stri pe
+Ġri des
+mon key
+Ġshel l
+ĠC OM
+Ġpor table
+Ġmatch ing
+Ġhandle bars
+ent al
+Ġski is
+W omen
+er ase
+Ġ heel
+C an
+Ġw inds
+OU N
+gar lic
+S pectator
+Ġlip stick
+train s
+ĠC AT
+Ġremote s
+Ġspeck led
+ĠWA TER
+p anda
+M ALL
+Ġw asher
+Ġu r
+are a
+Ġth rown
+fess ional
+as uring
+Ġm oon
+card board
+RAS S
+a red
+sing le
+Ġcru mpled
+Ġbea ms
+t attoo
+vet op
+Ġf ather
+Ġm it
+Ġb aker
+Ġsk ull
+w ashing
+tooth paste
+Ġarrange ment
+g oose
+I LDING
+bo th
+F lag
+ru b
+Ġcri spy
+Ġstud ents
+te am
+C ut
+bb ing
+Ġt ilted
+Ġbro colli
+Ġg entleman
+computer s
+L icense
+as oned
+man s
+as y
+Ġlif ted
+re o
+Ġpen guin
+W riting
+M eat
+Ġtou rist
+Gra vel
+I ON
+Ġchalk board
+balloon s
+a qu
+g en
+Ġtow ers
+sh ine
+Ġst atu
+sh aped
+Ġti es
+Ġves s
+W atch
+se cond
+Ġcar toon
+M ouse
+Ġover looking
+Bus hes
+G REEN
+d ent
+Ġt re
+Bu tton
+Ġrow s
+Ġprote ction
+Ġf re
+Ġli ghted
+Ġli ghter
+ste el
+Surf board
+alle st
+Ġam bulance
+Ġfinger nail
+Ġfoot ball
+Ġso il
+K id
+ogg y
+Ġcle at
+Ġspect acle
+Ġbu ggy
+Umb rella
+e lectronic
+f lour
+col or
+bri efcase
+Ġf er
+O ver
+be ads
+Ġcu te
+t unnel
+Ġc alendar
+Ġtan gerine
+ap artment
+p ears
+Ġmix ing
+Ġra g
+Ġsc ale
+w ell
+fork s
+Ġne ed
+Ġdis posable
+The y
+pe eled
+Ġ1 0
+b room
+ilhou ette
+ĠA N
+Ġho spital
+h ood
+Ġsh aded
+Ġpoin t
+sm iling
+Ġt hird
+Ġpe eled
+Ġm ove
+h ino
+Ġcon ve
+Ġmo v
+Spo on
+Ġcle aning
+ĠST OP
+te en
+un dershirt
+Ġv ariety
+Ġdirection s
+Ġpea ches
+Ġbre aking
+Ġdel i
+tin ation
+oles law
+S ix
+Ġdu st
+F resh
+Ġp ri
+basket s
+Ġsmo king
+Re mote
+N IS
+Ġbal ance
+Ġstreet light
+op es
+A sian
+Ġsa ying
+B al
+um my
+Ġeyeb rows
+ĠT EN
+Ġgla re
+p ass
+Ġdet ail
+air planes
+B ar
+b aked
+med ium
+Ġst retched
+Ġstair way
+Ġal so
+cle an
+I E
+bag els
+Ġpre sent
+sp onge
+Ġreflect or
+Ġty ping
+L u
+Ġtou ch
+pla id
+Ġdrain er
+Ġbri dle
+Ġvess el
+ch ristmas
+Ġfi ghter
+Old er
+Ġsp ik
+Ġdin osaur
+Ġpetal s
+P H
+a la
+ic o
+Ġmeter s
+Ġcal culator
+Ġcan vas
+Ġtur quoise
+Ġcar ved
+Ġpi cket
+Ġkay ak
+Ġp ineapples
+ĠO pen
+Ġfi le
+Ġman go
+ĠST REET
+Ġtable top
+fri ed
+Ġarrow s
+Ġpou ring
+F rench
+ĠF L
+Ġegg plant
+li ding
+bro ken
+Ġto te
+ss om
+LO OR
+Ġaqu arium
+Ġfigu rines
+st ump
+Ġbla des
+Ġapp ro
+Ġclu ster
+bra celets
+ĠL E
+Ġnote pad
+Ġtoilet ries
+ter y
+Ġl ove
+W alk
+sta cle
+B all
+run way
+ĠJ ACKET
+Ġeng ines
+v ines
+in side
+ĠSH O
+Ġbu ds
+Ġv ending
+T ire
+Ġcu stomers
+Ġwood ed
+i ds
+Ġkn ot
+ET AL
+pla in
+po sed
+Ġbri de
+Ġb ronze
+Ġs our
+Ġsto vetop
+Ġdis k
+en ds
+C ou
+twig s
+el ine
+e w
+O ut
+Ġcar ry
+Ġw rought
+c ards
+Ve hicle
+canister s
+ch alk
+Ġcar rier
+ic ured
+Ġ Z
+D is
+egg plant
+hu ge
+Ġpar ade
+Ġped al
+Dirt y
+ĠBU ILDING
+Ġrailing s
+Ġman tel
+Ġf old
+icho ke
+Ġsp iral
+ĠP E
+Ġh ut
+Ġa irl
+Ġra ft
+Ġspo kes
+ĠC U
+Ġgrou t
+ste ak
+di fferent
+Leg s
+B are
+ĠH AT
+Tru nk
+Ġsw ord
+Ġhel ping
+ĠS O
+st rap
+ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ
+tou rist
+ri to
+Ġsh aggy
+ĠG RASS
+cu um
+w rink
+f all
+Ġbru nette
+Ġw atches
+clo se
+C e
+go al
+Ġne tting
+Ġd ang
+amer as
+ĠL IGHT
+C ur
+Ġm ashed
+re ce
+OO K
+sk ate
+Ġme adow
+Ġpack ed
+o b
+Z Z
+Ġf ring
+S hirt
+vel y
+D i
+Ġpro jector
+c la
+dr yer
+Ġc rystal
+Ġrece ipt
+blanket s
+Ad vertis
+pa ved
+li ving
+Ġflo ret
+c li
+Ġb one
+te ring
+Ġp ouch
+Ġcondim ents
+Ġwa x
+sy rup
+Ġj am
+Ġflu sh
+Ġfris be
+tru cks
+surf ace
+Ġher b
+Ġc ork
+Ġcu ff
+Ġ ic
+Ġser ve
+Ġam ount
+Ġse al
+helmet s
+dress ing
+Ġb iscuit
+Ġgrass es
+F risbee
+auc asian
+Ġma caroni
+Ġw al
+tray s
+tra ctor
+ĠC o
+j ump
+ri ous
+Ġtransp ort
+Ġpattern s
+Ġgri p
+Ġfl y
+f in
+ar ched
+Ġsh ampoo
+Spectator s
+g own
+ĠH OR
+Ġcar ries
+Ġcru mb
+ri der
+Ġcarpet ing
+P P
+w ild
+ho tel
+br ary
+Ġv i
+Ġchi p
+v arious
+Ġarch way
+IC TURE
+M icrowave
+Ġsi ding
+pocket s
+key s
+Ġd rying
+ath letic
+d onkey
+Ġhoo p
+m ot
+L ots
+m ove
+Multi ple
+am ing
+Ġside ways
+Lea f
+ĠO ff
+knob s
+P olice
+g est
+P alm
+Ġsc r
+Ġpol ish
+i ers
+Ve getable
+el t
+Ġclu mp
+ore scent
+ab ly
+ri s
+Ġde cal
+m ulticolored
+Ġen ter
+tis sues
+ang s
+ep si
+ick ey
+fe ed
+Ġre sts
+te nder
+Ġp et
+Ġf older
+Ġf eat
+St raw
+g rown
+am ents
+ĠTEN NIS
+TE D
+suit cases
+Ġp ilot
+Ġv end
+Ġri ders
+ill s
+ĠM ac
+fri can
+F l
+de ep
+Ġbright ly
+ver ages
+Ġbl ood
+Ġfoam y
+t ain
+ĠT REE
+Ġun ripe
+ar se
+e e
+Ġ White
+Ġnear by
+Ġsh ing
+Ġhol ders
+Ġo strich
+ĠS P
+W OMAN
+P ro
+Ġsl ot
+Ġor gan
+co ck
+mer gen
+Pie ces
+R oof
+Ġcrack ed
+Ġra m
+toilet ries
+on ce
+Ġsn iff
+d igital
+Ġex press
+Ġuphol stered
+Ġfol lowing
+Ġdu sty
+g age
+as hes
+Ġv el
+Ġhe arts
+Ġs core
+mark et
+Ġw edge
+v ine
+leg gings
+Ġc ool
+G o
+Ġvegg ie
+k er
+Ġwindows ill
+roll ing
+ĠF LOOR
+c eramic
+Ġre s
+Ġbad ge
+Ġvan illa
+a ving
+i ter
+Ġbre ak
+C ement
+Ġbe fore
+R AN
+Ġh ub
+cli ff
+ĠSTAND ING
+t ake
+mirror s
+I KE
+P en
+m iddle
+l ings
+Ġmark ed
+Ġex hi
+Ġt asty
+A rt
+bal d
+goat s
+Ġpla que
+Ġex terior
+Ġpe eling
+pigeon s
+Ġmed icine
+Ġra cks
+ick ing
+ĠF EN
+pot ted
+Ġs at
+Ġm ass
+Ġtooth pick
+Ġcrack er
+Ġconne cting
+il led
+N ame
+d rop
+Ġc au
+ĠH AIR
+Ġw ispy
+Ġear phones
+ZZ A
+ific ial
+Ġfood s
+e vergreen
+Ġin fla
+Ġchin a
+L ine
+Ġbu bble
+Gold en
+Ġm er
+ĠSH OR
+Bath room
+wel ry
+Ġrela xing
+Ġb lurred
+mergen cy
+cir cle
+F lat
+clo cks
+w hole
+Ri pples
+hone y
+Ġtail s
+H ouse
+Ġstore front
+ĠG ROUND
+poin ty
+bur nt
+IS T
+Ġb oulders
+Ġf og
+ĠI n
+ten ing
+mar oon
+C T
+Ġb ay
+Ġcobble stone
+Ġs elf
+Ġme asuring
+Ġcom mon
+Ġro asted
+R oll
+Ġdirection al
+Bottle s
+b a
+Ġcli mbing
+Ġgu ards
+Ġpar achute
+Ġelev ated
+Ġo per
+Ġla dle
+C ir
+Ġp ict
+W et
+Ġice d
+Ġb low
+Ġea gle
+ĠPAN TS
+Ġbelong s
+swim ming
+Ġmus ic
+Ġa sh
+desk top
+Picture s
+Ġlo ading
+Ġclass room
+A ll
+Ġc ro
+le ather
+all s
+Ġwomen s
+i les
+Ġ roller
+Ġbu bbles
+Ġin strument
+ri sts
+Ġ [
+O ranges
+Ġsky line
+de ring
+Ġsc ra
+P assenger
+Ġti ps
+sk illet
+ĠT RU
+Ġbooks helves
+Tra cks
+Ġcla w
+Ġbal ancing
+Ġsupp lies
+Cou ple
+p ineapples
+d ant
+t ish
+di um
+Ġpanel ing
+d ried
+se um
+tan gerine
+fla ge
+b ster
+l ion
+Ġsun flower
+Ch op
+g s
+Ġst orm
+L AN
+Ġsupp orts
+c ery
+gla ze
+Ġser vice
+Ġcondim ent
+rece ipt
+Ġhel icopter
+A IL
+Ġcomp artment
+ĠTRA IN
+m atch
+B ra
+ĠDO OR
+i der
+Ġ2 0
+B anana
+Ġwhe at
+s olid
+ĠS N
+ĠHE AD
+pan cakes
+ĠB EAR
+Y CLE
+m med
+Ġ ingredi
+Ġpe e
+sea weed
+dd en
+Ġtext ured
+Ġca ctus
+Ġo ar
+Let ters
+au ghter
+Ġg all
+Ġbo iled
+Ġstop light
+Pe pper
+Ġback splash
+Ġco ca
+Ġb iting
+man hole
+Ġcord less
+RE Y
+Ġcub es
+Pl ants
+is ted
+M ed
+Ġbu ff
+Ġlin er
+Side walk
+prin t
+Ġw ea
+M ar
+ders ide
+Pain ting
+ra it
+Ġshel ving
+d rum
+Ġ X
+Cow s
+Ġl oose
+Ġun peeled
+Ġhome made
+Skateboard er
+Ġparas ail
+Ġw hisk
+Ar m
+Ġpainting s
+h oof
+mu s
+Ġlan tern
+Ġsniff ing
+rust y
+Ġspray ing
+hand les
+Ġe mployee
+h ang
+Ġin di
+Ġtrans it
+Ġcourt yard
+p lu
+Ġo me
+Ġrain coat
+Ġ rel
+i la
+Ġbe et
+Ġsecu rity
+jacket s
+Ġri pp
+vid ual
+k ed
+t own
+foot prints
+Des k
+C ream
+Head light
+ĠS HE
+M ale
+p ers
+rain bow
+PU TER
+air port
+w aste
+Ġcar ts
+Ġplan ted
+Ġwra pping
+deck er
+g in
+Ġm ail
+Ġm ast
+stud ents
+s chool
+ur dle
+Sm iling
+tra ck
+b ol
+Ġhu gging
+her b
+ĠCO L
+Ġman icured
+Ġo ri
+coat s
+as ing
+H ard
+s elf
+Ġsea weed
+ĠB AT
+Ġk iosk
+Ġplank s
+or age
+ĠN E
+Ġrasp berries
+photog raph
+i eld
+ĠB OW
+Ġi vory
+Ġl icking
+Ġdes tination
+gar bage
+Ġrasp berry
+Ġnostri l
+p as
+Ġf ed
+Park ing
+u ment
+Ġt rop
+Ġpict ured
+IL VER
+Ġacc ents
+m uter
+w icker
+rock y
+A VE
+N apkin
+man go
+RE ES
+ĠR E
+D ish
+Ġbraid ed
+Ġperson al
+part ially
+Head lights
+Ġoffic ers
+Ġco in
+surfboard s
+Ġstain s
+Ġident ification
+Ġcushion ed
+Ġexhi bit
+Ġrou te
+E Y
+jump suit
+Ġe y
+can e
+Ġpar ts
+Ġst un
+an ces
+w hiskers
+Ġpre t
+ate ring
+co conut
+Ġse asoned
+V ase
+Ġsepar ating
+Ġg row
+ĠD ES
+o d
+Ġf li
+bed room
+ang led
+ĠCh inese
+Ġc innamon
+be et
+Ġath lete
+gu ard
+mas hed
+Te lephone
+ĠBO Y
+Ġs on
+Ch ristmas
+tur key
+ĠPLA Y
+Ġmuff ins
+Ġcou r
+g lowing
+na vy
+Ġgre at
+ar n
+Ġthe se
+Ġcol lection
+Hand s
+Ġcord ed
+pow der
+orn ate
+P apers
+Ġcomp et
+is ts
+Ġin k
+i ding
+rasp berry
+id es
+Ġv ol
+z a
+Ġcap ital
+g entleman
+Ġli brary
+Ġa le
+ic an
+Ġother s
+Ġcand ies
+leaf y
+ĠPI ZZA
+for table
+Ġscreen s
+Ġshut ter
+Gra ffiti
+S w
+Ġan telope
+b ably
+cu stomers
+Ġw ake
+Ġte en
+hed ges
+Ġkick stand
+W e
+Ġhead ed
+ap ay
+Ġflo re
+Ġg arment
+Ġhal ves
+Ġm olding
+Ġfla mingo
+Car rots
+oc a
+Ġrou ter
+la p
+Ġli quor
+ile ts
+Ġv a
+di p
+Ġbu tt
+mo bile
+me ter
+ck ered
+ler s
+Ġc ran
+y or
+Ġrecl iner
+Ġtooth brushes
+Ġroo ftop
+ort ment
+Ġclean er
+Ġhi p
+Ġfrisbe es
+Ġgreen ery
+Ġbul let
+ĠP H
+Ze bras
+Ġrun ner
+Ġout field
+sw eet
+rin a
+Ġski ier
+Ġto fu
+tag s
+Ġoct opus
+cher ries
+feed er
+Ġla mbs
+Ġf iling
+AN S
+Ġsp ear
+Ġsc affolding
+R u
+R ect
+Ġhotdog s
+st apler
+pillow case
+Ġsp arse
+Ġbri st
+stri al
+Ġcomp act
+Ġsw irl
+le ep
+Ġexten ding
+Sun light
+w ash
+Ġther mo
+De ad
+ne on
+Ġmu seum
+Ġf oggy
+Ġswitche s
+B LUE
+Ġc op
+K nob
+note pad
+Ġli mb
+R Y
+pattern ed
+tt a
+p ale
+books helves
+LE PH
+part ial
+cloth s
+Ġtak es
+so mething
+Ġstatu es
+bber y
+Ġf illing
+ĠCOM PUTER
+Ġgri nder
+C ross
+Le ttuce
+bu bbles
+Ġf ound
+P itcher
+P an
+Ġpro fessional
+Ġpant ry
+p ant
+Ġtap ed
+LE T
+y y
+Ġpan eled
+Ġbase board
+ca ctus
+F e
+Ġsnowboard s
+du cks
+Ġp age
+E lephants
+C abinet
+Ġchop ping
+LE S
+stand ing
+apay a
+Ġbar ren
+Ne ck
+ĠCOL OR
+ĠFEN CE
+Ġshru bbery
+Ġshop s
+Ġgro cery
+Ġstra pped
+Ġdire ct
+B eautiful
+Ġd om
+Ġbur ning
+pea ches
+ou flage
+C lu
+c innamon
+Ġp ail
+Ġfor ming
+Ġdoor knob
+ch inese
+Ġs ausages
+al og
+Ġrece pt
+Ġc ash
+Ġpart ition
+ĠG RA
+Ġg y
+light house
+Ġappro aching
+Ġe ven
+Ġs ole
+Ġcur ve
+Ġseason ing
+Ġgra bbing
+Ġh omes
+b iscuit
+he tti
+arm es
+pan e
+C orn
+en s
+Clo sed
+ĠC oca
+p ump
+AR GE
+ON G
+Ġdes serts
+ĠBOW L
+Ġelectronic s
+Ġm ou
+o ring
+ind rical
+ĠP ICTURE
+Ġdraw ings
+Ġt urf
+Ġover pass
+clu ster
+Ġband s
+ea rest
+Ġ im
+OP LE
+ru bs
+Ġ .
+Ġhand icap
+Ġmed ian
+pole s
+Ġre si
+G ar
+C amera
+ĠHOR SE
+V ES
+T ile
+Ġsli de
+Ġf ron
+he st
+ack ed
+ag hetti
+Ġk it
+Ġknit ted
+D ry
+Ġjet s
+sm ooth
+Ġfaucet s
+u sed
+Ġarm rest
+iss or
+B oth
+Ġsu shi
+Ġmid air
+Ġpro bably
+Ġpatch y
+an k
+S H
+Ġfla me
+con ies
+ma caroni
+Ġhi ps
+Ġmini ature
+s pe
+Ġsign als
+Ġ1 1
+hu man
+S ink
+ul ts
+ĠFR ONT
+Ġc las
+Ġbar bed
+Ġstack s
+Ġste reo
+icho kes
+Ġn atural
+Ġri dden
+armes an
+am a
+Ġves ts
+M P
+E yes
+CK S
+C hi
+Ġdi al
+Ġda isy
+Ġfring e
+Ġsp rou
+Ġm ir
+RE L
+So ccer
+chand ise
+Ġback yard
+at meal
+el ds
+Ġti ger
+cell phone
+Ġw are
+ĠM ETAL
+Ġpo dium
+Ġbottom s
+ĠB ED
+Ġto ilets
+T OP
+Ġb lu
+Ġcam o
+ap rt
+IC E
+Ġsle ep
+si ve
+Ġter ra
+Ġbra ce
+Ġt im
+Ġwork ers
+Ġ x
+Vegetable s
+Ġto ne
+C D
+b rass
+Ġout line
+bo t
+Ġbrown ie
+co ver
+C O
+Ġb lank
+cal culator
+Ġt rough
+Ġkey pad
+de er
+Ġdark er
+ĠB OT
+To y
+B lanket
+ĠW I
+ate e
+Ġconve yor
+t on
+Ġtu cked
+ven der
+Ġs ort
+Ġcou ches
+Ġsha ved
+Ġwhi t
+h our
+Ġtw in
+m otor
+Ġd iced
+Ġste w
+Ġb ins
+gri lled
+b one
+D Y
+Ġu s
+s hield
+Ġlot ion
+Ġaqu a
+Ġpick ing
+Ġapp li
+un dry
+Ġwhe eled
+T ea
+V arious
+Ġpe anuts
+ir rel
+Ġhandle bar
+Wire s
+Ġtu rt
+AN G
+p ilot
+Ġcour se
+gi ft
+Ġd ash
+Ġser ver
+S et
+e mployee
+AT CH
+Ġb angs
+over head
+Ġter rain
+ĠN intendo
+M outh
+B urn
+Ġsteam ed
+Ġg olf
+ĠR ed
+bb y
+Ġgy m
+F A
+bu cks
+Ġre ins
+ri pple
+Ġfro g
+Ġbatter s
+Ġde c
+Ġtor so
+m mer
+su shi
+Ġits elf
+ass er
+Ġsail boats
+Ġb racket
+Ġcon du
+rasp berries
+Ġang led
+St atue
+Ġe very
+Ġle ad
+P ed
+Ġfri ends
+pencil s
+d own
+Ġde v
+Ġn earest
+Snowboard er
+o val
+te mp
+ig ar
+Ġsheep s
+H IND
+c i
+t ow
+A GE
+a v
+Ġbe aded
+ha ired
+Ġla tch
+tool s
+cu shion
+E gg
+ix ed
+red it
+Ġpow ered
+Ġin field
+Child ren
+Ġfull y
+Ġto e
+and ing
+Ġd ate
+ĠW AL
+Ġdeli very
+bed ding
+ĠSK Y
+C ooked
+S alt
+pat ches
+ĠBE HIND
+dra gon
+asser ole
+H u
+Ġre ally
+Ġmar shmallow
+Ce iling
+Ġcap e
+Ġob serving
+Ġgrape fruit
+Ġp ra
+Ġm om
+Ġaut o
+is tening
+ĠO RAN
+reflection s
+B ran
+Ġcheck er
+Ġw or
+Ġt ines
+c er
+Ġtattoo s
+Ġpad d
+Ġst ab
+Ġp rong
+Ġfla mes
+Ġc ds
+Ġmotorc yclist
+es ame
+c cu
+ĠO UT
+Ġstre ak
+lip stick
+iff el
+Ġle n
+sh ampoo
+Ġ Black
+Ġboard walk
+u ttle
+Ġsp ire
+Ġscooter s
+Ġm ount
+Ġsp ring
+Ġhand ing
+Silver ware
+R ing
+Ġself ie
+Ġdis pens
+L M
+b rand
+Ġstock ing
+Ġcrowd ed
+aqu arium
+Ġchunk s
+Ġstick y
+Button s
+Ġen tering
+Ġexpress ion
+H orses
+S MALL
+Ġs old
+Ġfl ash
+Ġsail ing
+ts creen
+AM P
+Ġla id
+Ġoct agonal
+Ġtoo k
+B irds
+Ġg ras
+Ġfore ign
+sm aller
+Ġre cessed
+ĠB IKE
+Ġcub icle
+li g
+Ġacc ent
+din osaur
+Sho es
+Ġsp out
+bu l
+Ġst amp
+Ġmon ument
+pas ture
+Ġcra cks
+Ġindic ator
+Ġpitch ing
+sh ake
+Ġs atellite
+Ġm oney
+ĠE LEPH
+ĠS C
+bl ood
+fi le
+Ġpolice men
+ĠG REY
+ph in
+AD E
+crack ers
+REL LA
+bun ny
+on al
+O G
+OT OR
+ation s
+ĠC LO
+ĠJ E
+W ords
+Ġleaf s
+Ġas leep
+S eat
+e lev
+suit s
+Ġst u
+Ġpret zel
+out lets
+Med ium
+S lices
+ort illa
+Ġla b
+Ġcap ped
+Ġfire truck
+p rice
+Ġturt le
+Ġm akes
+MB RELLA
+dough nut
+pro jector
+S ingle
+Curtain s
+E ng
+c ds
+Ġal ley
+Ġfla kes
+Ġli ds
+ban ner
+L it
+Ġp al
+Ġvend or
+Ġ if
+D raw
+1 2
+Ġcon vers
+AP ER
+Ġbag gage
+ĠTI RE
+Ġbrist les
+Ġneat ly
+S auce
+f lies
+Ġ @
+ĠI T
+Ġen ds
+ĠU n
+Ġcream y
+cur b
+R ug
+Ġdi pping
+opy right
+sand y
+Ġsee m
+slee ve
+ĠDES K
+ou gh
+pe anut
+Ġad ju
+ho riz
+Ġbrown ed
+Ġvel vet
+n arrow
+te xt
+road side
+Ġsub st
+g arden
+Ġbu d
+rel y
+Ġdi als
+Ġt high
+Ġde bris
+e ments
+Ġsu mmer
+o bject
+Ġcan al
+c am
+Ġw atering
+Ġcomp lete
+Ġpe bbles
+EN T
+Ġdivi ding
+Sho e
+Ġdang ling
+r ooked
+Ġto es
+Ġb ind
+w hat
+Ġle aving
+Ġbu mp
+Ġdirect ly
+par rot
+Ġo x
+Ġw il
+Ġw re
+H anging
+Ġle ave
+u pper
+v ity
+an e
+m ay
+Ġmay onnaise
+chi li
+Ġto ss
+ĠCU P
+ĠC L
+Ġbu g
+Ġob stacle
+B ro
+ven ding
+Ġflow ing
+T ooth
+a co
+ATE BOARD
+op s
+Ġch asing
+Ġmov ie
+Fe male
+D onut
+Ġg rin
+Ġshap es
+Ġo ak
+ad dle
+Ġju icy
+Ġs ilk
+ag er
+an telope
+ath lete
+Chair s
+Ġale rt
+Ġdown hill
+out door
+eye glasses
+Ġglo ved
+C ook
+Ġpea ce
+Ġw eathered
+v ac
+N umbers
+ĠR oman
+ig an
+Ġsweat band
+OW ER
+du strial
+cast le
+Ġpitcher s
+Ġopen er
+Ġmu zzle
+road way
+Po d
+ation al
+Ġsh ark
+Ġhat ch
+Ġskateboard ers
+un a
+Ġcra b
+i z
+Ġprodu cts
+ĠB EN
+in ner
+b aking
+w er
+Ġhand rail
+F aucet
+Ġwa ffle
+Ġfac ade
+op ard
+figu rines
+Ġsli ppers
+ĠSHO ES
+ĠJE ANS
+Ġte h
+Ġhi ding
+Ġgo atee
+Ġstore s
+oo m
+pi cks
+ab ies
+ND ER
+l la
+ang u
+st orage
+ĠU MBRELLA
+y ers
+Ġe ight
+or a
+Ġori ental
+S alad
+Ġwe ed
+Ġinfla table
+ow ed
+Ġare as
+Ġover alls
+Ġcam ouflage
+n ice
+ĠP INK
+Ġag ed
+Ch rome
+Ġsc issor
+Ġt aller
+Ġli mbs
+Ġjump er
+Ġan ch
+ain t
+Ġbrick ed
+iny l
+Cont ainer
+o st
+bun ches
+f irst
+draw ings
+Advertis ement
+sun flower
+C hicken
+G LASS
+Ġs anta
+ck er
+Ġsi del
+Ġe le
+ĠTRU CK
+Ġplay ground
+Ġblo ssom
+p ret
+Ġc ameras
+Ġover grown
+C rack
+z ipper
+P ort
+Ġti er
+Ġl angu
+Bo ats
+Ġbar ric
+Po ster
+ĠU P
+M ove
+skin ny
+Ġma rina
+Ġt rey
+Ġcri b
+H orn
+Ġchild s
+re s
+U N
+t w
+Ġmi xture
+Clou dy
+Lu ggage
+se ven
+ĠORAN GE
+sc affolding
+ĠSHOR TS
+Ġkeyboard s
+umer ous
+Ġru ff
+Ġbatter y
+Ġart ificial
+w orn
+C YCLE
+Ġcondition ing
+P LE
+g lo
+Ġstreet s
+Ġr hino
+K n
+cap e
+Ġfro zen
+Ġt ass
+C ouch
+Ġl one
+l ot
+bu bble
+Ġd am
+Ġcom muter
+Sc reen
+E B
+Ġg rand
+Ġrun s
+ĠB AG
+Fl oral
+Ġad idas
+Ġduff le
+Ġf urt
+Ġp arent
+Ġprote ct
+S ea
+Ġf le
+Ġri sing
+da isy
+Ġcard igan
+l ined
+mo on
+Ġs au
+is on
+Ġg aming
+Ġbor dering
+Ġtri pod
+Ġra iny
+T ake
+is sing
+ap ing
+Ġwriting s
+am bulance
+Y ELLOW
+to fu
+ĠGLASS ES
+A KE
+cu e
+Ġla undry
+Ġpee king
+f og
+ĠA ir
+Ġbro th
+S helf
+sh redded
+I ce
+Ġcal ico
+OU SE
+la dle
+pi ed
+t ortilla
+ch unk
+G ri
+Ġplay s
+to asted
+Des ign
+Ġval ley
+op ing
+w ri
+Ġgra ter
+S moke
+ole um
+hard wood
+or ter
+Ġbur rito
+Ġbound ary
+Ġ rowing
+chi ef
+Animal s
+a ved
+f en
+Ġchar ging
+B ALL
+te ctive
+OTOR CYCLE
+Ġp ress
+Ġt en
+sn acks
+Ġsl opes
+Ġspl it
+n ty
+Ġp le
+crack er
+Ġbucket s
+Mo st
+ear phones
+p ouch
+Ġfoot prints
+Ġbe verages
+T ip
+mo dern
+ĠT H
+Ġclo the
+ng e
+Ġup ward
+Ġc el
+ĠB ri
+Ġstun t
+Ġl ic
+Ġg l
+Ġflore ts
+t one
+mo de
+cat ion
+Rect angular
+Vehicle s
+Ġappli ances
+Ġpot tery
+ĠS AND
+ĠSN OW
+Ġro ast
+Ġbaker y
+T ag
+HE EL
+Ġsh uttle
+Ġprodu ct
+ul ch
+ĠST RI
+Pot ato
+u fa
+grape fruit
+co mb
+Ġhorse back
+chalk board
+Ġw ig
+rou ter
+pp ort
+min ute
+fur ry
+Ġin te
+K ET
+Ġwith in
+wheel chair
+Ġz i
+C ru
+Ġbol ts
+Ġsit ted
+ĠE ng
+Ġacc ess
+Ġres ort
+Ġrel ish
+lack s
+Ġb abies
+lig ator
+D S
+Ġf air
+Sign s
+B ase
+Ġn oodle
+IR T
+Ġin ner
+me kin
+Ġarm y
+gi ant
+Ġflu orescent
+Ġm all
+Ġmeet ing
+Ġdi aper
+Ġpro mot
+ycl ists
+Ġc redit
+ĠS A
+pi zzas
+Ġhub cap
+Ġve g
+ĠBEN CH
+ang les
+rin als
+Ġj o
+Ġorn aments
+Ġin dustrial
+B un
+S to
+Ġis n
+F lu
+am ole
+THE R
+C ard
+Ġleg o
+ut ility
+Ġad ults
+C rowd
+W earing
+RO OM
+Ġsu ite
+aw ning
+Ġn intendo
+pret zel
+ĠSt reet
+k iosk
+P EN
+Ġskate park
+ĠN O
+Ġlo ves
+Ġche es
+Be er
+ĠSK I
+D rink
+po megranate
+Ġroof s
+Ġang le
+u ng
+Ġpair s
+ac amole
+Ġsun shine
+Ġun derside
+bor ne
+Ġon t
+Ġi mp
+Ġfall s
+ĠELEPH ANT
+Ġsubst ance
+A FF
+Ġcom fortable
+lat ion
+Ġal ligator
+st ain
+St airs
+1 0
+Ġsprink le
+B ROWN
+g re
+pen guin
+Ġbes ides
+atch ing
+low ed
+sn ack
+Ġsp eak
+Ġstab il
+Ġlo aded
+Ġsmart phone
+Ġtor n
+Ġth read
+Ġash tray
+HE AD
+F T
+ite m
+ĠSK ATEBOARD
+Ġsha ving
+n as
+ou ts
+Ġex posed
+Ġc all
+ĠSU R
+Ġrecept acle
+se mb
+Ġdu de
+ĠU NDER
+Ġsail s
+P ine
+Ġsection s
+Ġe as
+Grass y
+u ous
+mo re
+ist ant
+mar ble
+ĠC ola
+Ġc oleslaw
+Ġs lacks
+Ġfla p
+Ġparas ol
+th ing
+Bri cks
+Ġd ull
+Ġsw i
+St ick
+s a
+Ġsc once
+shop s
+m ond
+Chop ped
+ss y
+Ġqu ar
+Ġfi xed
+ĠS h
+Ġpack ages
+Ġur ban
+p arent
+Ġflo at
+y le
+r ation
+Ġmark ers
+chop stick
+Ġs an
+Sk is
+scrap ers
+Ġy arn
+ĠL AP
+up side
+c ycle
+sail boats
+Ġn ap
+Ġback s
+Ġpo megranate
+sw ord
+Ġa ff
+Pla id
+w ind
+ĠS W
+d or
+Ġcyl indrical
+s our
+bat s
+Ġpro tru
+Ġh un
+B ur
+ĠW R
+Ġcyl inder
+Ġchi pped
+Ġare na
+Ġic on
+w h
+g ames
+Ġs almon
+Ġre al
+h azy
+Ġoven s
+w al
+H o
+Ġp ork
+ch an
+ĠB lue
+Re frigerator
+Ġlangu age
+he ring
+st ool
+Ġsp aghetti
+b ent
+Ġspo ke
+Ġban ners
+comp any
+oog ie
+ap an
+THE SE
+Ġstret ch
+H igh
+Ġst rong
+alle l
+ĠA d
+poin ted
+Ġpoin ts
+Ġcheese cake
+Ġ HIS
+Ġf ut
+Ġo vers
+Ġra mekin
+h omes
+Ġa c
+Ġn est
+Ġgreen ish
+lette ring
+ĠP APER
+Ġfigure s
+Ad ult
+R ope
+Ġs ilhouette
+ĠP ARK
+Ġf lock
+E ars
+Ġpen dant
+roiss ants
+ANG ING
+Ġri ms
+and y
+Ġdesk s
+Ġscra mbled
+ĠBOT TLE
+s atellite
+ra ctive
+uniform s
+O ven
+Ġcre st
+g arment
+Ġloves eat
+Ġtight s
+Ġm owed
+Ġplug s
+Pepper oni
+Ġste pping
+Ġrecl ining
+b irthday
+ass orted
+ST IC
+itch ing
+c opper
+ub by
+ĠF rench
+Ġbe ad
+th row
+Ġhook ed
+Ġva cuum
+d ition
+Ġse ven
+Ġpull s
+rus hed
+yl on
+Cir cular
+ren ce
+L ot
+Ġs lic
+e mb
+ab it
+IR R
+Bu sh
+Ġl oo
+Ġport rait
+Ġcheck ing
+Ġcol oring
+Ġprote ctor
+LAN E
+oog les
+Ġsqu irrel
+So ap
+Ġatt ach
+F olded
+Ġey el
+Ġh all
+bell y
+Ġhim self
+ĠPH ONE
+F ur
+t ran
+de x
+Bl inds
+pant ry
+Ġspik y
+ri lla
+Ġle ans
+Ġbullet in
+Ġaff ixed
+Ġk inds
+Ġbig ger
+ala pen
+Ġprepa red
+Ġvis itor
+bol t
+Ġs esame
+Ġw ill
+ra m
+Open ed
+Ġc ent
+ccu pied
+Ġan alog
+ed ges
+Ġdispens ers
+T ri
+Ġome lette
+dent ial
+Ġe mergency
+b oulders
+y al
+ar ch
+ty rofoam
+Ġenclo sed
+flect ive
+oo ves
+Ġche wing
+Ġspectacle s
+ru sted
+Sh ower
+P ERSON
+Park ed
+IRR OR
+re cessed
+Ġpo king
+ĠK N
+k ra
+Ġle an
+N ike
+O cean
+O ff
+Ġchain ed
+Ġlit ter
+Ġroo t
+ure s
+re ws
+Pot ted
+Ġfla v
+Ġu rinals
+Ġcru ise
+ĠPE OPLE
+Ġa ct
+Ġbrown ish
+Ġtext ing
+ten ded
+IT CHE
+C ity
+ĠL EA
+Ġwa it
+ree k
+u nder
+Ġge ese
+o strich
+bun s
+Ġin clu
+Ġang ry
+Ġst art
+Ġob long
+um in
+Ġyoung er
+Ġref e
+Corn er
+ĠC HI
+5 0
+M el
+Ġtrop ical
+1 1
+I F
+Ġh ig
+Ġin t
+Ġsh ine
+W OOD
+Ste el
+Tomato es
+Car pet
+V an
+ĠPO LE
+Ġblock ing
+Ġhook s
+Ġtw isted
+t ouch
+Ġb ic
+ĠRO AD
+St icker
+Su it
+ĠGRA Y
+C om
+Ġh urdle
+h ar
+Ġlo bster
+fla mingo
+f le
+Ġhead ing
+Ġun lit
+Bri dge
+ap s
+itche d
+M onitor
+E P
+B lurry
+land ing
+Ġlift ing
+co tton
+Ġv inyl
+Ġbal conies
+Ġc ages
+Back pack
+o ct
+Ġlim it
+b lo
+Ġlemon ade
+Ġass ortment
+ski ers
+Ġpol ished
+ss es
+Ġsp ons
+THE RE
+Ġstock ings
+Ġd aughter
+m ain
+Ġc rooked
+ASE BALL
+Ġsee ms
+az el
+Ġstalk s
+ĠWAL KING
+ĠT REES
+Ġh abit
+acks on
+Ġh um
+w earing
+Ġa er
+Ġsign board
+Ġb its
+ad ian
+ĠHE LM
+Towel s
+tattoo s
+Ġbri m
+A C
+a ction
+E AT
+f ake
+Ġf a
+ĠL AMP
+al cohol
+ĠO PEN
+ĠH ANGING
+P ast
+Ġcondu ctor
+illa ge
+P at
+il s
+brown ie
+ĠA IR
+b ly
+Ġdev ices
+Ġbloo m
+Ġduff el
+Ġsprou ts
+Ġpromot ional
+li ghted
+AD OW
+b aker
+Ġsilver y
+co in
+Ġbun ched
+Ġes cape
+te ries
+LL OW
+b in
+Ġchop stick
+Dou gh
+Ġcri sp
+F an
+Ġl ast
+Ġsu per
+ĠM OTORCYCLE
+Ġce le
+Ġm ach
+ĠA R
+Ġcam el
+Ġbuff et
+Ġpear l
+Ġg utter
+st age
+Ġswi vel
+ĠLAP TOP
+z y
+Ġcap ti
+M ini
+Out door
+ĠB ALL
+G iraffes
+Ġf lies
+Ġlar gest
+Ġcau ght
+Ġ 0
+Ġstabil izer
+M iddle
+Ġb row
+sty le
+Ġcigarette s
+ond on
+Ġcamp er
+Ġco ffe
+ĠC OUN
+cand ies
+T iles
+Ġal mond
+C ap
+f ant
+high way
+ĠW HEEL
+ra mp
+Ġair borne
+Ġch a
+ĠBO AT
+Ġnostri ls
+rain coat
+Ġh ad
+turn ed
+fu zzy
+lan nel
+Ġo atmeal
+Ġrais ins
+e ver
+id uous
+Ġsk e
+ufa cture
+Ġspeak ing
+oth ing
+ĠSO FA
+Ġpla za
+Ġbackpack s
+ft s
+Ġleg ged
+cond im
+Ġairl ine
+c enter
+ne ven
+Ġfla tscreen
+Ġbarric ade
+Ġz ip
+Ġwrink les
+Ġpit a
+fi tti
+BO Y
+cra b
+ĠC an
+ycl ing
+ea ten
+Ġsh ines
+cu te
+fla mes
+Ġdress es
+Ġben d
+Ġcou ld
+ĠC OU
+Ġbun dle
+s liding
+Ġvan e
+Mar oon
+Ġscore board
+lo af
+Mu shroom
+Ġg a
+ch ampagne
+fro g
+Ġri d
+lad ies
+cra cks
+Ġreflection s
+ĠBO ARD
+ĠMac Book
+ĠB EA
+ĠSU N
+Ġlay s
+Ġgri pping
+Ġc rock
+Ġthermo s
+Ġo wn
+R ain
+Ġposter s
+c el
+ce des
+round ed
+Ġhair s
+Ġg ran
+is ed
+ĠGIR AFF
+Ġhabit at
+Ġcar ving
+ctor y
+Ġvol ley
+monitor s
+Bo ard
+mar shmallow
+lee ce
+Ġa li
+Ġi Pod
+Hu ge
+ar a
+Ġsp las
+Ġdrop s
+Ġtransport ation
+ng er
+Ġlic ence
+Ġs car
+Ġlin oleum
+Ġj ack
+painting s
+Ġsp ider
+Let ter
+O r
+Ġo dd
+z es
+stack s
+Ġoct agon
+Ġlo ad
+full y
+apan ese
+w hisk
+sm ile
+Ġb oogie
+Stri pes
+Ġfut on
+C ord
+ro red
+Ġl oop
+pe anuts
+batter y
+f aded
+Ġd one
+Ġs auc
+C alm
+F ull
+Ġgo es
+A ss
+Ġar ches
+Ġart ichoke
+Ġc are
+sp ace
+police men
+tow ers
+Ġar c
+iscu its
+Ġingredi ents
+a ches
+Ġpadd ling
+Ġto f
+Ġlo vely
+stri p
+che ckered
+h appy
+cu ff
+Ġauto mobile
+Ġback drop
+Ġm ic
+Ġwater mark
+Ġpea cock
+b led
+Ġdoll s
+le nder
+ĠB en
+Ġf ins
+Ġmay be
+Ġcool ing
+Ġover hang
+tri angular
+he avy
+Port ion
+Ġfun ny
+aw k
+U MB
+Ġla vender
+advertis ing
+Ġemb ro
+Ġco ck
+Ġstop per
+in terior
+Ġsea food
+Ġweb site
+Ġbar tender
+Ġli es
+Ġher ding
+ac es
+ag ing
+Ġba rely
+C andle
+Ġle ver
+Ġp ay
+Se cond
+P lu
+Ġwre ath
+ĠCOUN TER
+r son
+ou red
+Ġwater fall
+p ri
+lu lar
+Ġco ast
+Ġtou rists
+fin ished
+H ROOM
+an na
+Ġneck laces
+Eng ine
+al umin
+Ġsi ded
+ag ged
+Ġunder wear
+Ġpropeller s
+alumin um
+Ġ earing
+Rail ing
+ĠZ EB
+art ichoke
+Ġje welry
+Ġshoe laces
+Ġentry way
+Ġawning s
+Ġplant ains
+Ġlabel s
+v il
+Ġ1 9
+woman s
+Ġwild flowers
+Ġri se
+Ġwater craft
+su ng
+d iced
+Ġg rows
+Ġtomato e
+Sc issors
+ous el
+A pples
+Ġ ran
+ufacture r
+Ġlogo s
+Ġsc rub
+Bro ken
+it ted
+f eta
+en ger
+Co mp
+Ġpra ct
+Ġim ages
+L I
+Ġsw ung
+Ġv ents
+G H
+Ġh y
+Ġear th
+Ġed ging
+Ġdi vid
+Horn s
+F eet
+mon ds
+let on
+Ġgat hering
+Ġpar allel
+Ġresi dential
+he dr
+board s
+Ġw oo
+Ġt it
+I RE
+Ġy ear
+ti led
+K ids
+Ġindic ates
+Ġmou stache
+may onnaise
+ĠP OT
+ĠHELM ET
+Ġw ard
+Ġne igh
+Cont rol
+T u
+E nd
+T iny
+oot hi
+Ġlin en
+fe rence
+T ray
+L ines
+r ating
+Ġdu g
+ĠEng lish
+Ġsuspen ders
+ĠM IRROR
+Ġpe ice
+C loth
+Ġgall on
+ĠF LA
+Ġband age
+ck les
+dition al
+b es
+s hed
+Ġwh tie
+Ġf leece
+Ġd ense
+Ġ er
+ĠE Y
+work ers
+Ġg oogles
+Ġcar amel
+ĠB Y
+or ry
+ng le
+Ġpre p
+Ġke eping
+ĠS INK
+Ġh ik
+Bran ches
+O li
+ri g
+snow y
+ĠPLA STIC
+Ġcro che
+Ġeven ing
+tens ion
+hedr al
+and er
+as ed
+Ġfri end
+Ġlamp post
+col umn
+OU R
+Ġw ading
+Ġow ner
+v intage
+Ġre mo
+red dish
+Ġbal ck
+Ġf rees
+Ġstret ching
+ra cks
+R oman
+Ġhair cut
+ĠT AN
+er man
+air craft
+Ġcur rent
+dd les
+Ġle ss
+ign s
+ri ers
+in ning
+it rus
+med icine
+J ackson
+Ġgra ted
+ep le
+Ġspe c
+A K
+L ab
+Ġti cket
+Ġfl ood
+Ġhe ating
+Ġthumb s
+te al
+Ġprotru ding
+ĠUS B
+am sung
+S U
+Ġri bs
+Over head
+horiz ontal
+b lurred
+c ash
+gla zed
+Ġflow ering
+ĠC HE
+2 0
+es ts
+Ġward robe
+ast ing
+o te
+v elling
+we b
+Ġspe cks
+Ġed ged
+Ġoper ating
+clu mp
+Ġrust ic
+Ġrefe ree
+Ġse ries
+F R
+ail s
+ĠBO X
+Mel ted
+Ġt ar
+Ġsnowboard ers
+ĠA frican
+Ġs ing
+ĠC AKE
+ĠS ILVER
+inn ie
+ing us
+Ġup wards
+Ġc aucasian
+ĠS anta
+band oned
+Sp eaker
+P LA
+Ġs led
+Ġc asserole
+key pad
+I M
+Ġo uter
+ker chief
+AB Y
+ĠCLO CK
+Ġm as
+bri de
+ĠSt ates
+Ġmap le
+ĠSTRI P
+rin se
+Ġt angled
+Ġ1 8
+ĠH OT
+Ġdri pping
+St ring
+y ed
+Ġri dge
+Ġdecor ating
+van na
+Ġin dex
+bur gundy
+rais ins
+Ġp allet
+Ġf lannel
+Ġt ying
+Ġtouch pad
+lo ver
+Gar bage
+On ions
+Ġshing les
+Ġre semb
+Ġwatermelon s
+wrink le
+Ġcom f
+Ġs af
+Ġbe ets
+Hard wood
+Ġf eta
+Ġl orry
+Ġribbon s
+ri dge
+wild flowers
+Ġg inger
+Ġsurround s
+Ġhing es
+als a
+Pla yers
+ĠO VER
+Card board
+I te
+K etchup
+most at
+s ausages
+Ġst ate
+F ield
+OW ERS
+ITCHE N
+ĠN ew
+Di fferent
+D VD
+Ġbloo ming
+Ġruff led
+Q U
+Ġpa mp
+rais ed
+IE LD
+ic ally
+Ġp epsi
+Ġn ine
+w here
+Ġface d
+Ġme chan
+s li
+Ġham mer
+Ġflow n
+Ġtim er
+lu cent
+slee ved
+Ġgras ping
+oo h
+Ġval ve
+Ġlay ers
+B each
+Ġneed les
+Ġto ned
+Ġe asy
+Ġprong s
+ĠL ONG
+Ġcre amer
+Ġshin ny
+Ġtra velling
+H ouses
+Ġcom mode
+U L
+b ine
+n ight
+mper ature
+Ġti pped
+are s
+hole s
+Ġc i
+mug s
+Ġkick ed
+Ġhel p
+Ġsun flowers
+Ġoutfit s
+Ġhal ter
+FF EE
+Ġcapti vity
+ple nty
+Ġgri d
+G G
+le eping
+Ġrear view
+Ġatt ire
+nequ ins
+Ġsp ark
+Ġfeat uring
+tu sk
+pe ice
+char acters
+PE rson
+Ġcompet ition
+ĠB IR
+Ġh ow
+Ġstem med
+d ri
+Ġshing led
+Neck lace
+ord ers
+Ġro bot
+ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ
+Ġsi te
+pt ion
+Co la
+Ġd on
+ĠP ark
+Ġident ical
+stom ach
+e ight
+Ġth ru
+Plate s
+ĠP LANE
+Cle an
+la ted
+Ġn othing
+Eye glasses
+b ru
+il son
+Ġdo ily
+ĠM ingus
+stack ed
+c ro
+Ġmountain side
+Ġbar be
+Ġad dress
+stra ct
+Ġloung ing
+ĠWI I
+G oggles
+Ġform al
+Ġno zzle
+she er
+Clo thes
+Ġa mber
+Ġs al
+a ut
+AN CE
+U tensil
+c ran
+ori zed
+Are a
+V ING
+Ġhang ar
+rain er
+Ġ ant
+op py
+ĠPI LLOW
+Ġdom ed
+Ġo bs
+se al
+Ġshin ning
+ĠK EY
+Ġseagull s
+B utter
+Ġ -
+Ġm ulch
+Ġkne ep
+Ġpos si
+Ġsc rews
+ou l
+Ġre pre
+ric ate
+Ġre tri
+if ier
+Ġor der
+ĠC OW
+rais in
+Ġlo dge
+M ulticolored
+h y
+I LET
+Ġripp led
+Ġpo m
+Ġm ural
+pi g
+ĠUn ited
+b les
+tri angle
+M ENT
+Ġs ound
+zz led
+d les
+Ġdri vers
+i tting
+Ġal monds
+t ion
+Ġcar ousel
+Ġfin ish
+Ġsoft ball
+Ġb road
+Ġdown town
+ĠSUR F
+Ġdown ward
+Ġrais in
+Ġcel lular
+ad get
+Ġl istening
+otorc yclist
+Ġw o
+ĠM ADE
+Ġwe ight
+E n
+fri dge
+H ills
+ond a
+Ġtail light
+Ġbutter flies
+ic les
+ĠL IT
+St ove
+Ġdonkey s
+sea ted
+no ccupied
+OM E
+S helves
+P u
+w ra
+Ġsi mple
+Ġcon ver
+Ġ Green
+Ġ HI
+he arts
+ĠD IS
+Ġjump s
+Ġext ra
+L ad
+Ġn ic
+Ġwa iter
+F irst
+ĠT OW
+Ġme tt
+Ġview ing
+che st
+Ġmac book
+ten nas
+p uffy
+Ġbur ned
+LE R
+Ġsp ine
+ff les
+sc ene
+Ġdin er
+Ġa bandoned
+Ġplanter s
+Ġplu mbing
+cru mpled
+Ste ps
+Ġcomplete ly
+ĠS MALL
+ĠHAND LE
+fan cy
+c oleslaw
+ĠB ASEBALL
+kn ot
+Ġpumpkin s
+c afe
+ari an
+Ġlink ed
+un d
+cloth ing
+Ġra quet
+wrink led
+Ġeas el
+r hino
+Ġlan es
+er c
+ĠK ITCHEN
+oothi e
+Ġstir rup
+ĠCD s
+oct opus
+ĠW ATCH
+Bo dy
+Ġmess enger
+Ġmo de
+in strument
+li et
+bu g
+z ard
+IL ING
+ĠGIRAFF E
+Ġe ats
+ĠD IST
+Ġse g
+K nee
+Ġes ca
+Ġlock ed
+ex haust
+muff ins
+al ian
+Ġfresh ly
+Ġpu sh
+ac ant
+t a
+ĠC ONT
+ori um
+u se
+es ti
+Ġshel ve
+Mu stard
+Kite s
+Ġwrink ly
+f ect
+h olding
+AT O
+ĠFR OM
+Cell phone
+Ġsun lit
+Ġchimney s
+St ar
+Ġelev ator
+cri spy
+Ġd im
+ic a
+pick le
+ĠK ID
+Ġobs cu
+Ġt allest
+kra ut
+roo ftop
+hi p
+Ġplu nger
+b ronze
+Ġ il
+Ġday light
+wa iter
+ze bo
+D onuts
+ĠCL OU
+ĠPARK ED
+ĠLE FT
+e xt
+Ġc igar
+Ġfo cu
+Ġband anna
+Ġbow tie
+X T
+Bag s
+Ġbrown ies
+ide red
+Ġbul ding
+Ġsection al
+Ġlevel s
+IGH TS
+touch pad
+Ġcele br
+ce ries
+store s
+Ġslat ted
+Ġfer ry
+Ġmer chandise
+i me
+We eds
+pol ka
+Ġ erase
+Ġsp are
+Ġu noccupied
+D u
+di amond
+fen cing
+en er
+Ġshop per
+f allen
+in ation
+Ġfl yer
+Ġju ngle
+Ġdam aged
+ĠPLAY ER
+Bra celet
+v o
+Ġqu ilted
+Potato es
+Ġf ight
+Ġsh aking
+k haki
+Ġ1 3
+ĠS L
+xed o
+ĠD E
+LE D
+S tra
+Ġout lined
+Ġsli ver
+Sto re
+Ġp ages
+Ġblock ed
+Ġhal ved
+ne w
+Ġelectric ity
+H am
+di an
+no stri
+g ro
+ĠAd idas
+Ġpamp h
+Ġm op
+Ġtea cup
+ĠTRA Y
+Ġsepar ate
+ĠDVD s
+on a
+and el
+Ġon es
+rect angle
+Ġ1 4
+it orium
+Ġsign age
+Ġk issing
+Ġin fant
+gri nder
+T ie
+Ġco b
+Ġ EN
+C ounter
+s addle
+Ġhe at
+en ed
+og raph
+ĠL ARGE
+bur n
+Knob s
+ĠF IELD
+Ġgrow th
+ĠSU IT
+Ġlap el
+Ite ms
+Ġ ray
+b ie
+Ġun made
+o x
+Ġp oodle
+Ġsh orter
+Ġpa tty
+Ġrefle cts
+sc ra
+Ġad j
+Hand les
+Ġw edges
+Ġst rainer
+Ġco ated
+Ġex iting
+ill board
+Ġpad ding
+ĠCO FFEE
+Ġfrees bee
+Ġs il
+Ġf oots
+vac y
+Ġdep ic
+Ġ EAR
+Burn t
+Ġsw oo
+ban k
+string s
+Ġclass ic
+ĠDIST ANCE
+Ġla te
+Ġle arning
+ye red
+st adium
+Ġslic ing
+Ġb orders
+ON D
+prin ted
+ĠM ON
+ĠB u
+col lection
+Ġn u
+je welry
+Ġmotorc yle
+P re
+Ġn a
+Ġcu rious
+hing e
+Ġtre at
+Lab el
+H ill
+ĠW indow
+ĠK I
+Ġacc es
+V EN
+Ġt ide
+cur led
+bla de
+ĠR IGHT
+Pain ted
+W ide
+tent ion
+Ġsmile y
+ĠL e
+Ġ id
+al ic
+Ġent ire
+va cuum
+Ġ illumin
+Ġc opyright
+Ġdo cu
+Ġv en
+co ming
+Ġsc rap
+m oney
+Ġhard ware
+Ġdu vet
+Ġrac er
+ĠA ROUND
+Ġcamp ing
+Ġback side
+Ġt rench
+L IGHT
+Ġse wing
+ĠP UR
+foot ball
+br ant
+Ġre cord
+ĠM an
+Ġt aco
+Ġcir cus
+Box es
+Ġb oo
+ce d
+wri tten
+ĠHE R
+Ġt ric
+ĠB R
+P ale
+Ġs oles
+Rock y
+at ched
+if ying
+del icious
+Ġhang ed
+Ġro ds
+Ġdr ople
+S er
+Ġstraw s
+Ġsl oped
+Or n
+cur ly
+Sm aller
+Bal d
+s lanted
+sh arp
+bar tender
+hel icopter
+si zed
+Ġpa ving
+To ddler
+Ġsla w
+Ste m
+Ġpi les
+ĠFL OWERS
+Ġthe ater
+mp et
+Po lar
+st ir
+sh rubs
+Ġtu xedo
+Ġur n
+T is
+Ġstructure s
+Ġpin ned
+L F
+Ġmon ster
+Ġcar afe
+si tting
+Ġland line
+er ly
+mb and
+Ġdisplay s
+Ġfre ight
+Ru st
+O LD
+Ġpo se
+Ġsnow man
+ome lette
+Ġch ord
+Ġart ichokes
+ĠNE XT
+Ġn aked
+mi lar
+re g
+Ġhe ight
+TH REE
+C rust
+J ar
+Ġd ancing
+walk ing
+Ġsqu ared
+Ġnear ly
+D el
+d ol
+te ed
+ag o
+alapen o
+Ġs ol
+Ġclu b
+Ġbuoy s
+gra ter
+RE SS
+Ġtie red
+ĠS tyrofoam
+Ġst rand
+Ġbull s
+tt ice
+Ġpro file
+Ġto liet
+Ġex tension
+Ġp ac
+al o
+Ġwhe n
+T attoo
+ire ction
+ess y
+el lo
+ĠY ork
+ac ent
+EA K
+Car rot
+ĠS TE
+ĠBEA CH
+Ġfore arm
+Ġengine er
+Ġdec iduous
+P rin
+Ġb old
+bor hood
+Ġcourt s
+Ġp apaya
+B re
+Ġthe med
+Ġbottle d
+Ġbowl ing
+Ġstir ring
+L og
+get arian
+Ġcorn ers
+Ġsa vanna
+Flu ffy
+zz ly
+as phalt
+ason ing
+B rand
+alm ond
+ĠN EAR
+ĠL INE
+O f
+ĠF A
+M e
+G u
+M agazine
+Ġi vy
+chi d
+In side
+low n
+Ġcur ving
+Ġsc all
+Ġcrust y
+RA W
+ur dy
+Ġfi elds
+F amily
+ĠCo ke
+Ġfed ora
+Ġc rop
+Ġsc en
+Ġtra m
+n eat
+in formation
+tain ing
+elev ated
+Ġne eds
+Ne wspaper
+D river
+Ġle opard
+ach t
+B acon
+jam a
+ulticol or
+Ġang el
+Ġb oun
+Ġmel ons
+f lo
+Ġapp et
+Ġindi vidual
+E nt
+ant ro
+Ass orted
+Ġf as
+vis itor
+or ary
+li quor
+Ġcap ris
+J acket
+Ġte xture
+Ġup on
+AY ING
+ang ry
+des serts
+ĠST O
+W rist
+el ican
+am ed
+ĠTO ILET
+sa ic
+Ġu ses
+Po st
+U p
+C art
+Le mon
+f arm
+bus iness
+P ack
+Ġsc roll
+Ġwor ld
+n i
+ĠP i
+h ydrant
+su al
+Ġplay ed
+yy yy
+b its
+Ġvolley ball
+ti ble
+Ġesca lator
+Ġsi d
+Ġsi zes
+Ġam id
+st ory
+ĠC AP
+Suit case
+open ing
+me ric
+Ġv acant
+Ġle ast
+buoy s
+Bal cony
+Cur ved
+sh oulder
+Ġro yal
+Ġroo ts
+Key s
+Ġn on
+Ġcab oose
+OOK S
+Ġwhi p
+M W
+Ġwaste basket
+Ġyellow ish
+Ġar mband
+Ġsidel ines
+onal d
+i lation
+st able
+Ġbook bag
+C able
+L id
+AR KING
+drink ing
+A l
+shirt less
+g a
+N et
+S ail
+l or
+on ly
+rail s
+Ped estrian
+de bris
+Ġdo zen
+Ġdol phin
+Ġi Phone
+s ilhouette
+LA DY
+i ed
+k s
+car toon
+ĠBri tish
+most ly
+Ġfurt hest
+Ġlim es
+Ġsi ppy
+Ġbu sses
+Ġscr atching
+Ġc ray
+met ric
+GLASS ES
+ri m
+top s
+S ILVER
+ĠD ARK
+Ġun opened
+Rail road
+N ight
+blo ssom
+Clu mp
+k ick
+Ġt una
+Ġadj acent
+Ġsi milar
+Ġcur vy
+Ġfingernail s
+le n
+Ġle ads
+ĠZEB RA
+Ġadju sting
+AL K
+azel le
+J eans
+d ot
+n ot
+Ġcon cent
+sign ia
+F ried
+ĠR ID
+P S
+W ing
+Ġk now
+OW N
+Ġsymbol s
+Ġgre asy
+C lose
+Ġtu ft
+D ress
+n es
+Ġattach ment
+Ġmett alic
+op lane
+Ġhatch back
+ur ope
+va ila
+Ġswoo sh
+" .
+Ġte mple
+Fire place
+Ġval ance
+L eather
+Cabinet s
+Bl ond
+Ġf ist
+Ġbar riers
+f ree
+Ġb rushed
+Ġkn ack
+Ġlen ses
+re flective
+Ġne cks
+M ug
+men ted
+ES E
+H ole
+K IN
+Ġspons or
+Ġcon ference
+Ġroo ster
+Ġsc oop
+re tte
+li ers
+ĠB ABY
+Ġwa its
+w edding
+Ġk hak
+pe bbles
+ĠL ight
+1 3
+AS KET
+A RE
+f er
+o ak
+ĠM ouse
+Ġb rushes
+la y
+Ġre taining
+p apaya
+ve getation
+s ely
+ashi on
+Ġla min
+Ġbe gin
+ĠTOW EL
+ĠB AN
+le ene
+Ġc ot
+Ġsweat pants
+Ġne ws
+Ġpas te
+in a
+look s
+Ġg our
+Ġfi xing
+Ġpul lover
+que e
+ep er
+cheese cake
+Ġske leton
+leene x
+t hird
+M agazines
+ell s
+Ġex erc
+Ġg au
+Ġpark a
+co la
+Ġsand les
+le x
+cla y
+te s
+Ġk ing
+i ent
+spo kes
+AB IN
+Ġpri vacy
+G i
+Ġsw ings
+Ġpink y
+Ġde ter
+ĠC PU
+vaila ble
+Ġv illage
+Ġsm elling
+Ġcre ated
+Ġnic ely
+c oli
+ch ment
+z or
+Boy s
+he althy
+ra ted
+Ġpa vers
+Ġiron ing
+su pport
+Ġstreak s
+Ġre igns
+Ġsp ool
+ĠF OOD
+Ġbul ld
+Ġp up
+stru cture
+Ġte mperature
+green s
+Ġm oose
+S K
+Ġs low
+M ac
+Ġc itrus
+aqu a
+Ġmass ive
+O ON
+Ġs alsa
+ĠS M
+Flag s
+Ġde te
+Sand y
+Ġkhak is
+ter minal
+Ġavocado s
+Ġmess age
+S afety
+Ġsle nder
+Ġpa jama
+Ġpas tel
+UMB ER
+o metric
+Ġobscu red
+Ġeyel ashes
+Ġga zebo
+Ġri vet
+Ġd ying
+Ġstream ers
+Ġhas h
+mel y
+Ġtarm acked
+Q u
+f abric
+G la
+Ġdri zzled
+sc rew
+Ġswitche d
+Se ven
+M agnet
+Ġm y
+Ġk no
+ES T
+Ġc reek
+cu rity
+Part ially
+shop per
+Ġre c
+Ġmilk shake
+re mely
+Ġsh oot
+mud dy
+Ġco tta
+B LE
+N avy
+s her
+Ġwind ing
+Ġf eathered
+Ġglo ssy
+oo my
+Sp inach
+Pur se
+Ġgran ola
+Ġin front
+Ġn ur
+ĠD ell
+ĠPI E
+wo ven
+Ġcla im
+li ghter
+Ġgroom ed
+Ġretri ever
+ole t
+WOOD EN
+Ġmat ches
+p ony
+Ġth rew
+Ġg ull
+Ġu neven
+ag ue
+plant ains
+Ġcat hedral
+Ġblossom s
+Ġ vert
+IT OR
+du st
+Ġanch ored
+Ġsli m
+Ġgu iding
+Ġhut ch
+E ld
+IN ES
+Ġcas ing
+Ġmov ies
+Ġcran berry
+meric a
+h ooves
+Ġmen s
+Ġmotor bikes
+Ġorgan izer
+Ġb owel
+G as
+Ġg ir
+ABIN ET
+hel l
+dump lings
+W ave
+W icker
+Men u
+Ġgre ase
+ĠL AYING
+Ġbu ild
+i ver
+Ġco de
+Ġshel ls
+Ġfight ing
+b row
+c D
+Ġatt aching
+Ġinte re
+er kraut
+Ġat temp
+Ġ2 4
+b let
+Ġsign post
+Ġback ed
+Ġh ou
+Dis play
+Ġfor med
+nis ter
+Ġin struction
+Ġgu ide
+Ġstorm y
+ĠD e
+te st
+hu a
+v in
+Col lar
+OO KING
+Ġmango es
+iz ers
+Ġphotograph s
+Ġchees y
+Ġt ed
+Ġmu ch
+L ARGE
+Ġri pple
+Ġmat s
+Ġhik ing
+est ic
+Foot prints
diff --git a/heriot-watt/emma-base/special_tokens_map.json b/heriot-watt/emma-base/special_tokens_map.json
new file mode 100644
index 0000000..a6ace65
--- /dev/null
+++ b/heriot-watt/emma-base/special_tokens_map.json
@@ -0,0 +1,405 @@
+{
+ "bos_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "eos_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "unk_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "sep_token": {
+ "content": ".",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "pad_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "cls_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": false,
+ "rstrip": false,
+ "normalized": true
+ },
+ "mask_token": {
+ "content": "",
+ "single_word": false,
+ "lstrip": true,
+ "rstrip": false,
+ "normalized": true
+ },
+ "additional_special_tokens": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "