Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neural Style Transfer v1.0.0 Release #8

Merged
merged 51 commits into from
Oct 29, 2023
Merged

Neural Style Transfer v1.0.0 Release #8

merged 51 commits into from
Oct 29, 2023

Conversation

boromir674
Copy link
Owner

1.0.0 (2023-10-29)

Changes

feature
"""""""

  • wIP initialize same Stochastic Process on subsequent processes
  • interactive GUI with Live Update of Gen Image
  • nst algo - broadcast weighted costs
  • add cli cmd to quickly demo algorithm on 300 x 225 Content & Style images

test
""""

  • fix all unit-tests
  • running NST on indentical input (Content/Style) yields same Generated Image
  • over 90% code coverage
  • unit test the Layer bridging the backend code and the Demo CLI cmd
  • add test cases
  • fix unit-tests and environment, tested inside dev-container, with tox as runner

documentation
"""""""""""""

  • add docstrings

development
"""""""""""

  • devcontainer and docker-compose with tensorboard service
  • install tree cli tool, inside devcontainer
  • update tox.ini
  • add working dev-container configuration

refactor
""""""""

  • clean code
  • heavily document what is going on in the code
  • breakdown perform_nst method into smaller ones
  • remove the 'utils ' local package and use the software-patterns' package from pypi

build
"""""

  • update lock file and update tox
  • update test test dependencies and do poetry update
  • update Dockerfile
  • migrate from setuptools to poetry build

ci
""

  • do not stress test too much
  • fix ci
  • fix ci
  • add Github Actions CI Pipeline

release
"""""""

  • bump version to 1.0.0

demo
""""

  • on gui start up, (load and) select Demo Content/Style Images, & render UI accordingly

tox
"""

  • update dev env

config
""""""

  • software-release cli tool

…Process on subsequent processes

The Neural Style Transfer (NST) Algorithm initially produces a random variant of the Content Image
called, 'Noisy Content' (NC) Image, that it uses for subsequent operations, such as computing the
Content Cost  (Jc). This NC Image is produced by sampling a Random number from a Uniform
Distribution with values in [-20, 20] and applying formula 'pixel_value * ratio + pixel_value * (1 -
ratio)' for all pixel values. Previously, the NST algorithm would implement sampling from a Uniform
Distribution, by initializing a Stochastic Process (able to generate numbers from the Uniform
Distribution) with a seed number specified by the numpy backend. Now, we hard-code as 'Default Seed
Number' the number 1234, which is used to initialize the Stochastic Process. This way, every new os
process running the NST algorithm (ie invoking the CLI subsequent times), on the same Content Image,
would produce the same NC Image, since the samples taken from the underlying Uniform Distribution,
would be implemented by running the Stochastic Process with same Seed value (1234).
…le) yields same Generated Image

This behaviour of course is tested when running the NST algorithm on different OS processes. So, we
gain confidence that the results are completely reproducible.
@boromir674 boromir674 merged commit 3525aea into master Oct 29, 2023
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant