This repo contains research materials released by members of the Google Brain team in Tokyo.

Brain Tokyo Workshop ūü߆ ūüóľ

This repo contains research materials released by members of the Google Brain team in Tokyo.

Past Projects

Weight Agnostic Neural Networks

Code Release

Link to Article (pdf version)

Learning to Predict Without Looking Ahead: World Models Without Forward Prediction

Code Release

Link to Article (pdf version)

Neuroevolution of Self-Interpretable Agents

Code Release (Code for CarRacing Variants)

Extensions to CarRacing-v0 environment released to facilitate future research.

Link to Article (pdf version)

Modern Evolution Strategies for Creativity: Fitting Concrete Images and Abstract Concepts

Code Release

Disclaimer

This is not an official Google product.

Owner
Google
Google ‚̧ԳŹ Open Source
Google
Comments
  • Security Policy violation Binary Artifacts

    Security Policy violation Binary Artifacts

    This issue was automatically created by Allstar.

    Security Policy Violation Project is out of compliance with Binary Artifacts policy: binaries present in source code

    Rule Description Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

    Remediation Steps To remediate, remove the generated executable artifacts from the repository.

    First 10 Artifacts Found

    • WANNRelease/prettyNEAT/domain/pycache/init.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/bipedal_walker.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/cartpole_swingup.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/config.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/make_env.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/picbreed.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/picbreed_gym.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/set_domain.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/task.cpython-36.pyc
    • WANNRelease/prettyNEAT/domain/pycache/task_cppn.cpython-36.pyc
    • Run a Scorecards scan to see full list.

    Additional Information This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


    Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar

    This issue will auto resolve when the policy is in compliance.

    Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

  • AttentionAgent: mysterious 2*top_k, maybe a mistake?

    AttentionAgent: mysterious 2*top_k, maybe a mistake?

    Is this *2 intentional? If so, what's the reason? https://github.com/google/brain-tokyo-workshop/blob/master/AttentionAgent/solutions/torch_solutions.py#L336

    Amazing code, I'm learning a lot :)

  • What is the reason for the restriction on introducing new edges (source node must be in same or lower layer)?

    What is the reason for the restriction on introducing new edges (source node must be in same or lower layer)?

    During topological mutation (of WANNs), edges are only added between two nodes if they are in the same layer or if the layer of the source node is in a lower layer than the destination node. In the comments of the respective functions it is stated that this is implemented this way to prevent recurrent connections.

    If I am not mistaken, a non-recurrent edge should be possible as long as there is no directed path from the destination node to the source node even if the destination node is in a lower layer. This, of course, would require at least one of the nodes to switch their respective layer (which is not an issue, since the layers a recomputed during expression / translation to the network anyway).

    Therefore my questions: Why did you choose to exclude the possibility to introduce such edges? Did you just implement it this way to reduce complexity (as this would require checking for the existence of such a path and finding an alternative in case such a path exists) or is there another reason?

    Theoretically, the search space stays the same, since the resulting network could be evolved from a different starting point (without requiring the introduction of these edges), but the probability to arrive at such a network might be significantly lower.

    Are such networks less desirable since a change of the layer structure implies a significant change of functionality (which might be more then one is aiming for during a single mutation)?

  • AttentionNeuron - Permutation invariance

    AttentionNeuron - Permutation invariance

    Hey there,

    First of all great job on the AttentionNeuron paper and code:)

    I have a question related to this part of your code

    https://github.com/google/brain-tokyo-workshop/blob/301a6ea6cadc61a63b06c881a07f54f6cd1f2273/AttentionNeuron/solutions/torch_modules.py#L109-L113

    It seems like as long as self.hx is None (which is only at the beginning of the episode) the network will be permutation invariant. However, if self.hx is not None we have already accumulated some per feature information from previous steps and the network is not going to be permutation invariant anymore (w.r.t. the observation vector). Is that correct?

    Thank you very much in advance:)

  • [WANN] Fix running prettyNeatWann experiments

    [WANN] Fix running prettyNeatWann experiments

    The default alg_act for prettyNeatWann experiments was "5" (originally from NEAT code), but this resulted in list of possible activations only to be "5"s, meaning the activation was not mutated. Later in training this also crashed the code as it tried to pick random activation from an empty list.

    A small change, but I hope this saves somebody from the headache. Looks like "WANN" directory contains more mature code.

    Pinging @agaier in case :).

  • Add XOR environment

    Add XOR environment

    Added XOR as a toy example for first contact with WANNs. As described in NEAT (2002), XOR is an interesting verification test for evolving networks, because even though the task is simple it requires the system to evolve some hidden layers.

  • Google Colab GPU Error

    Google Colab GPU Error

    When running es_clip in the accompanying google colab instance with more than 0 GPU's, I get the following error:

    Traceback (most recent call last):
      File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
        self.run()
      File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
        self._target(*self._args, **self._kwargs)
      File "/usr/lib/python3.7/multiprocessing/pool.py", line 105, in worker
        initializer(*initargs)
      File "/content/brain-tokyo-workshop/es-clip/es_clip.py", line 97, in init_worker
        model, preprocess = clip.load('ViT-B/32', device, jit=True)  # change jit=True
      File "/usr/local/lib/python3.7/dist-packages/clip/clip.py", line 137, in load
        model = build_model(state_dict or model.state_dict()).to(device)
      File "/usr/local/lib/python3.7/dist-packages/clip/model.py", line 396, in build_model
        vit = "visual.proj" in state_dict
      File "/usr/local/lib/python3.7/dist-packages/torch/jit/_script.py", line 816, in __contains__
        return self.forward_magic_method("__contains__", key)
      File "/usr/local/lib/python3.7/dist-packages/torch/jit/_script.py", line 803, in forward_magic_method
        raise NotImplementedError()
    

    Has anyone figured out how to solve this?

  • Version of MNIST used to produce the results presented in the paper

    Version of MNIST used to produce the results presented in the paper

    Hello,

    the implementation "WANN" only contains a downscaled version of the MNIST task (16x16=256 pixels), while the other two ("prettyNEAT" & "prettyNeatWann") do contain the full image task (MNIST 784 / 28x28) as well as the down-scaled version. The illustrations in the paper (Figure 7; in the paper) and on the supplementary website suggest they were produced on the MNIST 256 task (16x16 pixels). So, I'm curious whether the presented results (Figure 6, left; in the paper) also refer to the down-scaled version or whether they were in fact produced on the full version.

    Thanks a lot for sharing your work!

    All the best, Max

  • AttentionAgent: can't run pretrained CarRacing examples because of doom problems?

    AttentionAgent: can't run pretrained CarRacing examples because of doom problems?

    I installed dependencies like the README says, first running

    pip3 install -r requirements.txt
    

    then changing gym[box2d]==0.15.3 to gym==0.9.4 and re-running pip3 install -r requirements.txt, but when I run pip3 install -r requirements.txt, I get this error:

    Traceback (most recent call last):
      File "test_solution.py", line 63, in <module>
        gin.parse_config_file(os.path.join(args.log_dir, 'config.gin'))
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/config.py", line 1436, in parse_config_file
        parse_config(f, skip_unknown=skip_unknown)
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/config.py", line 1373, in parse_config
        __import__(statement.module)
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/contextlib.py", line 99, in __exit__
        self.gen.throw(type, value, traceback)
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/utils.py", line 68, in try_with_location
        augment_exception_message_and_reraise(exception, _format_location(location))
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/utils.py", line 49, in augment_exception_message_and_reraise
        six.raise_from(proxy.with_traceback(exception.__traceback__), None)
      File "<string>", line 3, in raise_from
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/utils.py", line 66, in try_with_location
        yield
      File "/Users/manu/anaconda3/envs/attention/lib/python3.6/site-packages/gin/config.py", line 1373, in parse_config
        __import__(statement.module)
      File "/Users/manu/git/brain-tokyo-workshop/AttentionAgent/tasks/gym_task.py", line 10, in <module>
        from takecover_variants.doom_take_cover import DoomTakeCoverEnv
      File "/Users/manu/git/brain-tokyo-workshop/AttentionAgent/takecover_variants/doom_take_cover.py", line 2, in <module>
        from .doom_env import DoomEnv
      File "/Users/manu/git/brain-tokyo-workshop/AttentionAgent/takecover_variants/doom_env.py", line 18, in <module>
        "with 'pip install doom_py.)'".format(e))
    gym.error.DependencyNotInstalled: {}. (HINT: you can install Doom dependencies with 'pip install doom_py.)'
      In file "pretrained/CarRacing/config.gin", line 4
        import tasks.gym_task
    

    which seems Doom related. Is there any way I can run the CarRacing example without installing doom_py? (I've tried but I couldn't get to installing it). I also don't have docker :)

  • Question regarding the innovation record

    Question regarding the innovation record

    Hey, I was wondering whether you actually used the data written to the innovation record at some point. In the current implementation it looks like you are just using it as a counter (and in a doc-string it is noted, that it might be used for checking whether an edge with the same node pair (src, dest) already exists. For getting a new node/edge id count from itertools could be used. For checking whether the node pair exists, a native python set might be more efficient. Since the innovation record also stores whether a new node was generated and in which generation the innovation first occurred - it seems like you were planning to use that information somehow, but I can't reference in the code itself. Did you use the information during debugging and analysis of executed experiments? If so, how did you utilize it?

  • Change listXor call to always use two lists

    Change listXor call to always use two lists

    In listXor you use sum of two lists for union, but if p['ann_actRange'] is a numpy_array (that happens when alg_act != 0) the sum will sum alg_act to all values of the other list, instead of doing a list union, generating weird behavior

  • Bump numpy from 1.21.2 to 1.22.0 in /es-clip

    Bump numpy from 1.21.2 to 1.22.0 in /es-clip

    Bumps numpy from 1.21.2 to 1.22.0.

    Release notes

    Sourced from numpy's releases.

    v1.22.0

    NumPy 1.22.0 Release Notes

    NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

    • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
    • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
    • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
    • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
    • A new configurable allocator for use by downstream projects.

    These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

    The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

    Expired deprecations

    Deprecated numeric style dtype strings have been removed

    Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

    (gh-19539)

    Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

    numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

    (gh-19615)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Bump numpy from 1.18.1 to 1.22.0 in /WANNRelease/prettyNeatWann

    Bump numpy from 1.18.1 to 1.22.0 in /WANNRelease/prettyNeatWann

    Bumps numpy from 1.18.1 to 1.22.0.

    Release notes

    Sourced from numpy's releases.

    v1.22.0

    NumPy 1.22.0 Release Notes

    NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

    • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
    • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
    • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
    • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
    • A new configurable allocator for use by downstream projects.

    These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

    The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

    Expired deprecations

    Deprecated numeric style dtype strings have been removed

    Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

    (gh-19539)

    Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

    numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

    (gh-19615)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Bump numpy from 1.16.3 to 1.22.0 in /AttentionAgent

    Bump numpy from 1.16.3 to 1.22.0 in /AttentionAgent

    Bumps numpy from 1.16.3 to 1.22.0.

    Release notes

    Sourced from numpy's releases.

    v1.22.0

    NumPy 1.22.0 Release Notes

    NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

    • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
    • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
    • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
    • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
    • A new configurable allocator for use by downstream projects.

    These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

    The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

    Expired deprecations

    Deprecated numeric style dtype strings have been removed

    Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

    (gh-19539)

    Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

    numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

    (gh-19615)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Bump notebook from 6.0.3 to 6.4.12 in /WANNRelease/prettyNeatWann

    Bump notebook from 6.0.3 to 6.4.12 in /WANNRelease/prettyNeatWann

    Bumps notebook from 6.0.3 to 6.4.12.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Bump ujson from 1.35 to 5.2.0 in /WANNRelease/prettyNeatWann

    Bump ujson from 1.35 to 5.2.0 in /WANNRelease/prettyNeatWann

    Bumps ujson from 1.35 to 5.2.0.

    Release notes

    Sourced from ujson's releases.

    5.2.0

    Added

    Fixed

    5.1.0

    Changed

    5.0.0

    Added

    Removed

    Fixed

    4.3.0

    Added

    4.2.0

    Added

    Changed

    ... (truncated)

    Commits
    • f6860f1 Remove shebang
    • c0ff7b1 python -m pytest
    • 362fed3 Clearer pytest command
    • 82917c0 actions/[email protected]
    • 3c095f1 Widen tests to cover more possible buffer overflows
    • f4d2c87 Refactor buffer reservations to ensure sufficient space on all additions
    • 1846e08 Add fuzz test to CI/CD.
    • 5875168 Fix some more seg-faults on encoding.
    • 1a39406 Remove the hidden JSON_NO_EXTRA_WHITESPACE compile knob.
    • 20aa1a6 Add a fuzzing test to search for segfaults in encoding.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

  • Bump pillow from 7.0.0 to 9.0.1 in /WANNRelease/prettyNeatWann

    Bump pillow from 7.0.0 to 9.0.1 in /WANNRelease/prettyNeatWann

    Bumps pillow from 7.0.0 to 9.0.1.

    Release notes

    Sourced from pillow's releases.

    9.0.1

    https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html

    Changes

    9.0.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.0.1 (2022-02-03)

    • In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010 [radarhere, hugovk]

    • Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009 [radarhere]

    9.0.0 (2022-01-02)

    • Restrict builtins for ImageMath.eval(). CVE-2022-22817 #5923 [radarhere]

    • Ensure JpegImagePlugin stops at the end of a truncated file #5921 [radarhere]

    • Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 #5920 [radarhere]

    • Remove consecutive duplicate tiles that only differ by their offset #5919 [radarhere]

    • Improved I;16 operations on big endian #5901 [radarhere]

    • Limit quantized palette to number of colors #5879 [radarhere]

    • Fixed palette index for zeroed color in FASTOCTREE quantize #5869 [radarhere]

    • When saving RGBA to GIF, make use of first transparent palette entry #5859 [radarhere]

    • Pass SAMPLEFORMAT to libtiff #5848 [radarhere]

    • Added rounding when converting P and PA #5824 [radarhere]

    • Improved putdata() documentation and data handling #5910 [radarhere]

    • Exclude carriage return in PDF regex to help prevent ReDoS #5912 [hugovk]

    • Fixed freeing pointer in ImageDraw.Outline.transform #5909 [radarhere]

    ... (truncated)

    Commits
    • 6deac9e 9.0.1 version bump
    • c04d812 Update CHANGES.rst [ci skip]
    • 4fabec3 Added release notes for 9.0.1
    • 02affaa Added delay after opening image with xdg-open
    • ca0b585 Updated formatting
    • 427221e In show_file, use os.remove to remove temporary images
    • c930be0 Restrict builtins within lambdas for ImageMath.eval
    • 75b69dd Dont need to pin for GHA
    • cd938a7 Autolink CWE numbers with sphinx-issues
    • 2e9c461 Add CVE IDs
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

Red Team tool for exfiltrating files from a target's Google Drive that you have access to, via Google's API.

GD-Thief Red Team tool for exfiltrating files from a target's Google Drive that you(the attacker) has access to, via the Google Drive API. This includ

Jun 23, 2022
HackBMU-5.0-Team-Ctrl-Alt-Elite - HackBMU 5.0 Team Ctrl Alt Elite

HackBMU-5.0-Team-Ctrl-Alt-Elite The search is over. We present to you ‚ÄėHealth-A-

Feb 19, 2022
This repo provides the official code for TransBTS: Multimodal Brain Tumor Segmentation Using Transformer (https://arxiv.org/pdf/2103.04430.pdf).
This repo provides the official code for TransBTS: Multimodal Brain Tumor Segmentation Using Transformer (https://arxiv.org/pdf/2103.04430.pdf).

TransBTS: Multimodal Brain Tumor Segmentation Using Transformer This repo is the official implementation for TransBTS: Multimodal Brain Tumor Segmenta

Jul 5, 2022
PyTorch Implementation of Google Brain's WaveGrad 2: Iterative Refinement for Text-to-Speech Synthesis
PyTorch Implementation of Google Brain's WaveGrad 2: Iterative Refinement for Text-to-Speech Synthesis

WaveGrad2 - PyTorch Implementation PyTorch Implementation of Google Brain's WaveGrad 2: Iterative Refinement for Text-to-Speech Synthesis. Status (202

Jun 29, 2022
Unofficial PyTorch implementation of SimCLR by Google Brain

Unofficial PyTorch implementation of SimCLR by Google Brain

Oct 13, 2021
This repository contains all the code and materials distributed in the 2021 Q-Programming Summer of Qode.
This repository contains all the code and materials distributed in the 2021 Q-Programming Summer of Qode.

Q-Programming Summer of Qode This repository contains all the code and materials distributed in the Q-Programming Summer of Qode. If you want to creat

Jun 11, 2021
[CVPR 2021] Released code for Counterfactual Zero-Shot and Open-Set Visual Recognition
[CVPR 2021] Released code for Counterfactual Zero-Shot and Open-Set Visual Recognition

Counterfactual Zero-Shot and Open-Set Visual Recognition This project provides implementations for our CVPR 2021 paper Counterfactual Zero-S

Jul 1, 2022
NP DRAW paper released code
NP DRAW paper released code

NP-DRAW: A Non-Parametric Structured Latent Variable Model for Image Generation This repo contains the official implementation for the NP-DRAW paper.

Mar 13, 2022
A Multi-modal Model Chinese Spell Checker Released on ACL2021.
A Multi-modal Model Chinese Spell Checker Released on ACL2021.

ReaLiSe ReaLiSe is a multi-modal Chinese spell checking model. This the office code for the paper Read, Listen, and See: Leveraging Multimodal Informa

Jun 7, 2022
Code of PVTv2 is released! PVTv2 largely improves PVTv1 and works better than Swin Transformer with ImageNet-1K pre-training.
Code of PVTv2 is released! PVTv2 largely improves PVTv1 and works better than Swin Transformer with ImageNet-1K pre-training.

Updates (2020/06/21) Code of PVTv2 is released! PVTv2 largely improves PVTv1 and works better than Swin Transformer with ImageNet-1K pre-training. Pyr

Jul 2, 2022
Released code for Objects are Different: Flexible Monocular 3D Object Detection, CVPR21

MonoFlex Released code for Objects are Different: Flexible Monocular 3D Object Detection, CVPR21. Work in progress. Installation This repo is tested w

Jun 27, 2022
[ICCV 2021] Released code for Causal Attention for Unbiased Visual Recognition

CaaM This repo contains the codes of training our CaaM on NICO/ImageNet9 dataset. Due to my recent limited bandwidth, this codebase is still messy, wh

Jun 7, 2022
Fuzzification helps developers protect the released, binary-only software from attackers who are capable of applying state-of-the-art fuzzing techniques

About Fuzzification Fuzzification helps developers protect the released, binary-only software from attackers who are capable of applying state-of-the-

Jun 28, 2022
This is the first released system towards complex meters` detection and recognition, which is implemented by computer vision techniques.
This is the first released system towards complex meters` detection and recognition, which is implemented by computer vision techniques.

A three-stage detection and recognition pipeline of complex meters in wild This is the first released system towards detection and recognition of comp

Apr 22, 2022
FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet.
FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet.

Detectron is deprecated. Please see detectron2, a ground-up rewrite of Detectron in PyTorch. Detectron Detectron is Facebook AI Research's software sy

Jul 2, 2022
A modular framework for vision & language multimodal research from Facebook AI Research (FAIR)

MMF is a modular framework for vision and language multimodal research from Facebook AI Research. MMF contains reference implementations of state-of-t

Jun 29, 2022
Competitive Programming Club, Clinify's Official repository for CP problems hosting by club members.

Clinify-CPC_Programs This repository holds the record of the competitive programming club where the competitive coding aspirants are thriving hard and

May 26, 2021
This repository contains the implementations related to the experiments of a set of publicly available datasets that are used in the time series forecasting research space.

TSForecasting This repository contains the implementations related to the experiments of a set of publicly available datasets that are used in the tim

Jun 10, 2022
Using this codebase as a tool for my own research. Making some modifications to the original repo for my own purposes.

For SwapNet Create a list.txt file containing all the images to process. This can be done with the GNU find command: find path/to/input/folder -name '

Nov 10, 2021