├── .gitignore ├── .readthedocs.yml ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── docs ├── Makefile ├── make.bat └── source │ ├── _static │ ├── css │ │ └── pyprob.css │ └── img │ │ └── pyprob-logo-large.png │ ├── conf.py │ ├── index.rst │ ├── installation.rst │ └── probabilistic-model.ipynb ├── examples ├── gaussian_unknown_mean.ipynb └── gaussian_unknown_mean_marsaglia.ipynb ├── pyprob ├── __init__.py ├── address_dictionary.py ├── concurrency.py ├── diagnostics.py ├── distributions │ ├── __init__.py │ ├── beta.py │ ├── categorical.py │ ├── distribution.py │ ├── empirical.py │ ├── exponential.py │ ├── mixture.py │ ├── normal.py │ ├── poisson.py │ ├── truncated_normal.py │ └── uniform.py ├── graph.py ├── model.py ├── nn │ ├── __init__.py │ ├── dataset.py │ ├── embedding_cnn_2d_5c.py │ ├── embedding_cnn_3d_5c.py │ ├── embedding_feedforward.py │ ├── inference_network.py │ ├── inference_network_feedforward.py │ ├── inference_network_lstm.py │ ├── optimizer_larc.py │ ├── proposal_categorical_categorical.py │ ├── proposal_normal_normal.py │ ├── proposal_normal_normal_mixture.py │ ├── proposal_poisson_truncated_normal_mixture.py │ ├── proposal_uniform_beta.py │ ├── proposal_uniform_beta_mixture.py │ └── proposal_uniform_truncated_normal_mixture.py ├── ppx │ ├── Categorical.py │ ├── Distribution.py │ ├── Handshake.py │ ├── HandshakeResult.py │ ├── Message.py │ ├── MessageBody.py │ ├── Normal.py │ ├── Observe.py │ ├── ObserveResult.py │ ├── Poisson.py │ ├── Reset.py │ ├── Run.py │ ├── RunResult.py │ ├── Sample.py │ ├── SampleResult.py │ ├── Tag.py │ ├── TagResult.py │ ├── Tensor.py │ ├── Uniform.py │ └── __init__.py ├── remote.py ├── state.py ├── trace.py └── util.py ├── setup.py └── tests ├── extra ├── diagnostics │ ├── .gitignore │ ├── gum_marsaglia.py │ └── gum_marsaglia_1M │ │ ├── replace_false │ │ ├── address_dict │ │ ├── addresses │ │ │ ├── posterior_ic_rmh_addresses.csv │ │ │ ├── posterior_ic_rmh_addresses.pdf │ │ │ ├── posterior_ic_rmh_addresses.txt │ │ │ ├── posterior_is_rmh_addresses.csv │ │ │ ├── posterior_is_rmh_addresses.pdf │ │ │ └── posterior_is_rmh_addresses.txt │ │ ├── addresses_aggregated │ │ │ ├── posterior_ic_rmh_addresses_aggregated.csv │ │ │ ├── posterior_ic_rmh_addresses_aggregated.pdf │ │ │ ├── posterior_ic_rmh_addresses_aggregated.txt │ │ │ ├── posterior_is_rmh_addresses_aggregated.csv │ │ │ ├── posterior_is_rmh_addresses_aggregated.pdf │ │ │ └── posterior_is_rmh_addresses_aggregated.txt │ │ ├── graph │ │ │ ├── posterior_ic_graph.dot │ │ │ ├── posterior_ic_graph.pdf │ │ │ ├── posterior_ic_graph_T1.dot │ │ │ ├── posterior_ic_graph_T1.pdf │ │ │ ├── posterior_ic_graph_T2.dot │ │ │ ├── posterior_ic_graph_T2.pdf │ │ │ ├── posterior_ic_graph_T3.dot │ │ │ ├── posterior_ic_graph_T3.pdf │ │ │ ├── posterior_ic_graph_T4.dot │ │ │ ├── posterior_ic_graph_T4.pdf │ │ │ ├── posterior_ic_graph_T5.dot │ │ │ ├── posterior_ic_graph_T5.pdf │ │ │ ├── posterior_ic_graph_T6.dot │ │ │ ├── posterior_ic_graph_T6.pdf │ │ │ ├── posterior_ic_graph_T7.dot │ │ │ ├── posterior_ic_graph_T7.pdf │ │ │ ├── posterior_is_graph.dot │ │ │ ├── posterior_is_graph.pdf │ │ │ ├── posterior_is_graph_T1.dot │ │ │ ├── posterior_is_graph_T1.pdf │ │ │ ├── posterior_is_graph_T2.dot │ │ │ ├── posterior_is_graph_T2.pdf │ │ │ ├── posterior_is_graph_T3.dot │ │ │ ├── posterior_is_graph_T3.pdf │ │ │ ├── posterior_is_graph_T4.dot │ │ │ ├── posterior_is_graph_T4.pdf │ │ │ ├── posterior_is_graph_T5.dot │ │ │ ├── posterior_is_graph_T5.pdf │ │ │ ├── posterior_is_graph_T6.dot │ │ │ ├── posterior_is_graph_T6.pdf │ │ │ ├── posterior_is_graph_T7.dot │ │ │ ├── posterior_is_graph_T7.pdf │ │ │ ├── posterior_rmh_graph.dot │ │ │ ├── posterior_rmh_graph.pdf │ │ │ ├── posterior_rmh_graph_T1.dot │ │ │ ├── posterior_rmh_graph_T1.pdf │ │ │ ├── posterior_rmh_graph_T2.dot │ │ │ ├── posterior_rmh_graph_T2.pdf │ │ │ ├── posterior_rmh_graph_T3.dot │ │ │ ├── posterior_rmh_graph_T3.pdf │ │ │ ├── posterior_rmh_graph_T4.dot │ │ │ ├── posterior_rmh_graph_T4.pdf │ │ │ ├── posterior_rmh_graph_T5.dot │ │ │ ├── posterior_rmh_graph_T5.pdf │ │ │ ├── posterior_rmh_graph_T6.dot │ │ │ └── posterior_rmh_graph_T6.pdf │ │ ├── graph_aggregated │ │ │ ├── posterior_ic_graph_aggregated.dot │ │ │ ├── posterior_ic_graph_aggregated.pdf │ │ │ ├── posterior_ic_graph_aggregated_T1.dot │ │ │ ├── posterior_ic_graph_aggregated_T1.pdf │ │ │ ├── posterior_ic_graph_aggregated_T2.dot │ │ │ ├── posterior_ic_graph_aggregated_T2.pdf │ │ │ ├── posterior_ic_graph_aggregated_T3.dot │ │ │ ├── posterior_ic_graph_aggregated_T3.pdf │ │ │ ├── posterior_ic_graph_aggregated_T4.dot │ │ │ ├── posterior_ic_graph_aggregated_T4.pdf │ │ │ ├── posterior_ic_graph_aggregated_T5.dot │ │ │ ├── posterior_ic_graph_aggregated_T5.pdf │ │ │ ├── posterior_ic_graph_aggregated_T6.dot │ │ │ ├── posterior_ic_graph_aggregated_T6.pdf │ │ │ ├── posterior_ic_graph_aggregated_T7.dot │ │ │ ├── posterior_ic_graph_aggregated_T7.pdf │ │ │ ├── posterior_is_graph_aggregated.dot │ │ │ ├── posterior_is_graph_aggregated.pdf │ │ │ ├── posterior_is_graph_aggregated_T1.dot │ │ │ ├── posterior_is_graph_aggregated_T1.pdf │ │ │ ├── posterior_is_graph_aggregated_T2.dot │ │ │ ├── posterior_is_graph_aggregated_T2.pdf │ │ │ ├── posterior_is_graph_aggregated_T3.dot │ │ │ ├── posterior_is_graph_aggregated_T3.pdf │ │ │ ├── posterior_is_graph_aggregated_T4.dot │ │ │ ├── posterior_is_graph_aggregated_T4.pdf │ │ │ ├── posterior_is_graph_aggregated_T5.dot │ │ │ ├── posterior_is_graph_aggregated_T5.pdf │ │ │ ├── posterior_is_graph_aggregated_T6.dot │ │ │ ├── posterior_is_graph_aggregated_T6.pdf │ │ │ ├── posterior_is_graph_aggregated_T7.dot │ │ │ ├── posterior_is_graph_aggregated_T7.pdf │ │ │ ├── posterior_rmh_graph_aggregated.dot │ │ │ ├── posterior_rmh_graph_aggregated.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T1.dot │ │ │ ├── posterior_rmh_graph_aggregated_T1.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T2.dot │ │ │ ├── posterior_rmh_graph_aggregated_T2.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T3.dot │ │ │ ├── posterior_rmh_graph_aggregated_T3.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T4.dot │ │ │ ├── posterior_rmh_graph_aggregated_T4.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T5.dot │ │ │ ├── posterior_rmh_graph_aggregated_T5.pdf │ │ │ ├── posterior_rmh_graph_aggregated_T6.dot │ │ │ └── posterior_rmh_graph_aggregated_T6.pdf │ │ ├── posterior_rmh_autocorrelation.png │ │ ├── posterior_rmh_gelman_rubin.png │ │ └── posterior_rmh_log_prob.png │ │ └── replace_true │ │ ├── address_dict │ │ ├── addresses │ │ ├── posterior_ic_rmh_addresses.csv │ │ ├── posterior_ic_rmh_addresses.pdf │ │ ├── posterior_ic_rmh_addresses.txt │ │ ├── posterior_is_rmh_addresses.csv │ │ ├── posterior_is_rmh_addresses.pdf │ │ └── posterior_is_rmh_addresses.txt │ │ ├── addresses_aggregated │ │ ├── posterior_ic_rmh_addresses_aggregated.csv │ │ ├── posterior_ic_rmh_addresses_aggregated.pdf │ │ ├── posterior_ic_rmh_addresses_aggregated.txt │ │ ├── posterior_is_rmh_addresses_aggregated.csv │ │ ├── posterior_is_rmh_addresses_aggregated.pdf │ │ └── posterior_is_rmh_addresses_aggregated.txt │ │ ├── graph │ │ ├── posterior_ic_graph.dot │ │ ├── posterior_ic_graph.pdf │ │ ├── posterior_ic_graph_T1.dot │ │ ├── posterior_ic_graph_T1.pdf │ │ ├── posterior_ic_graph_T2.dot │ │ ├── posterior_ic_graph_T2.pdf │ │ ├── posterior_ic_graph_T3.dot │ │ ├── posterior_ic_graph_T3.pdf │ │ ├── posterior_ic_graph_T4.dot │ │ ├── posterior_ic_graph_T4.pdf │ │ ├── posterior_ic_graph_T5.dot │ │ ├── posterior_ic_graph_T5.pdf │ │ ├── posterior_ic_graph_T6.dot │ │ ├── posterior_ic_graph_T6.pdf │ │ ├── posterior_is_graph.dot │ │ ├── posterior_is_graph.pdf │ │ ├── posterior_is_graph_T1.dot │ │ ├── posterior_is_graph_T1.pdf │ │ ├── posterior_is_graph_T2.dot │ │ ├── posterior_is_graph_T2.pdf │ │ ├── posterior_is_graph_T3.dot │ │ ├── posterior_is_graph_T3.pdf │ │ ├── posterior_is_graph_T4.dot │ │ ├── posterior_is_graph_T4.pdf │ │ ├── posterior_is_graph_T5.dot │ │ ├── posterior_is_graph_T5.pdf │ │ ├── posterior_is_graph_T6.dot │ │ ├── posterior_is_graph_T6.pdf │ │ ├── posterior_is_graph_T7.dot │ │ ├── posterior_is_graph_T7.pdf │ │ ├── posterior_rmh_graph.dot │ │ ├── posterior_rmh_graph.pdf │ │ ├── posterior_rmh_graph_T1.dot │ │ ├── posterior_rmh_graph_T1.pdf │ │ ├── posterior_rmh_graph_T2.dot │ │ ├── posterior_rmh_graph_T2.pdf │ │ ├── posterior_rmh_graph_T3.dot │ │ ├── posterior_rmh_graph_T3.pdf │ │ ├── posterior_rmh_graph_T4.dot │ │ ├── posterior_rmh_graph_T4.pdf │ │ ├── posterior_rmh_graph_T5.dot │ │ ├── posterior_rmh_graph_T5.pdf │ │ ├── posterior_rmh_graph_T6.dot │ │ └── posterior_rmh_graph_T6.pdf │ │ ├── graph_aggregated │ │ ├── posterior_ic_graph_aggregated.dot │ │ ├── posterior_ic_graph_aggregated.pdf │ │ ├── posterior_ic_graph_aggregated_T1.dot │ │ ├── posterior_ic_graph_aggregated_T1.pdf │ │ ├── posterior_ic_graph_aggregated_T2.dot │ │ ├── posterior_ic_graph_aggregated_T2.pdf │ │ ├── posterior_ic_graph_aggregated_T3.dot │ │ ├── posterior_ic_graph_aggregated_T3.pdf │ │ ├── posterior_ic_graph_aggregated_T4.dot │ │ ├── posterior_ic_graph_aggregated_T4.pdf │ │ ├── posterior_ic_graph_aggregated_T5.dot │ │ ├── posterior_ic_graph_aggregated_T5.pdf │ │ ├── posterior_ic_graph_aggregated_T6.dot │ │ ├── posterior_ic_graph_aggregated_T6.pdf │ │ ├── posterior_is_graph_aggregated.dot │ │ ├── posterior_is_graph_aggregated.pdf │ │ ├── posterior_is_graph_aggregated_T1.dot │ │ ├── posterior_is_graph_aggregated_T1.pdf │ │ ├── posterior_is_graph_aggregated_T2.dot │ │ ├── posterior_is_graph_aggregated_T2.pdf │ │ ├── posterior_is_graph_aggregated_T3.dot │ │ ├── posterior_is_graph_aggregated_T3.pdf │ │ ├── posterior_is_graph_aggregated_T4.dot │ │ ├── posterior_is_graph_aggregated_T4.pdf │ │ ├── posterior_is_graph_aggregated_T5.dot │ │ ├── posterior_is_graph_aggregated_T5.pdf │ │ ├── posterior_is_graph_aggregated_T6.dot │ │ ├── posterior_is_graph_aggregated_T6.pdf │ │ ├── posterior_is_graph_aggregated_T7.dot │ │ ├── posterior_is_graph_aggregated_T7.pdf │ │ ├── posterior_rmh_graph_aggregated.dot │ │ ├── posterior_rmh_graph_aggregated.pdf │ │ ├── posterior_rmh_graph_aggregated_T1.dot │ │ ├── posterior_rmh_graph_aggregated_T1.pdf │ │ ├── posterior_rmh_graph_aggregated_T2.dot │ │ ├── posterior_rmh_graph_aggregated_T2.pdf │ │ ├── posterior_rmh_graph_aggregated_T3.dot │ │ ├── posterior_rmh_graph_aggregated_T3.pdf │ │ ├── posterior_rmh_graph_aggregated_T4.dot │ │ ├── posterior_rmh_graph_aggregated_T4.pdf │ │ ├── posterior_rmh_graph_aggregated_T5.dot │ │ ├── posterior_rmh_graph_aggregated_T5.pdf │ │ ├── posterior_rmh_graph_aggregated_T6.dot │ │ └── posterior_rmh_graph_aggregated_T6.pdf │ │ ├── posterior_rmh_autocorrelation.png │ │ ├── posterior_rmh_gelman_rubin.png │ │ └── posterior_rmh_log_prob.png ├── inference_compilation │ ├── .gitignore │ ├── gum_marsaglia.py │ ├── rejection_sampling.ipynb │ └── rejection_sampling.py └── nn │ ├── .gitignore │ ├── proposal_uniform_truncated_normal_mixture.py │ └── proposal_uniform_truncated_normal_mixture_2k │ ├── loss.pdf │ └── result.pdf ├── run_all.sh ├── run_basic.sh ├── test_dataset.py ├── test_diagnostics.py ├── test_distributions.py ├── test_inference.py ├── test_inference_remote.py ├── test_model.py ├── test_model_remote.py ├── test_nn.py ├── test_state.py ├── test_trace.py ├── test_train.py └── test_util.py /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | # Required 2 | version: 2 3 | 4 | # Build documentation in the docs/ directory with Sphinx 5 | sphinx: 6 | configuration: docs/source/conf.py 7 | 8 | # Optionally build your docs in additional formats such as PDF and ePub 9 | formats: all 10 | 11 | # Optionally set the version of Python and requirements required to build your docs 12 | python: 13 | version: 3.6 14 | # install: 15 | # - requirements: docs/requirements.txt 16 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM pyprob/pyprob_cpp:latest 2 | 3 | ENV PYTHON_VERSION=3.7 4 | ENV CC=gcc-5 5 | ENV CXX=g++-5 6 | 7 | RUN apt-get update && apt-get install -y curl python3 python3-pip python3-gdbm 8 | RUN pip3 install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html 9 | 10 | RUN ln -s $(which python3) /usr/bin/python 11 | WORKDIR /home 12 | COPY . /home/pyprob 13 | 14 | RUN pip3 install ./pyprob[dev] 15 | RUN cd pyprob && sh tests/run_basic.sh 16 | 17 | ARG PYPROB_VERSION="unknown" 18 | ARG GIT_COMMIT="unknown" 19 | 20 | LABEL project="pyprob" 21 | LABEL url="https://github.com/pyprob/pyprob" 22 | LABEL maintainer="Atilim Gunes Baydin " 23 | LABEL version=$PYPROB_VERSION 24 | LABEL git_commit=$GIT_COMMIT 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2018, pyprob contributors 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/source/_static/css/pyprob.css: -------------------------------------------------------------------------------- 1 | @import url("theme.css"); 2 | 3 | .wy-side-nav-search, .wy-nav-top { 4 | background: #f5f5f5; 5 | } 6 | 7 | .wy-side-nav-search>a img.logo, .wy-side-nav-search .wy-dropdown>a img.logo { 8 | max-width: 60%; 9 | } 10 | 11 | .wy-side-nav-search>div.version { 12 | color: dimgray; 13 | } 14 | -------------------------------------------------------------------------------- /docs/source/_static/img/pyprob-logo-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/docs/source/_static/img/pyprob-logo-large.png -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. PyProb documentation master file, created by 2 | sphinx-quickstart on Mon Apr 6 00:16:40 2020. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to PyProb documentation! 7 | ================================ 8 | 9 | Note: documentation is in progress. 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | 14 | installation 15 | probabilistic-model 16 | 17 | Index 18 | ===== 19 | 20 | - :ref:`genindex` 21 | 22 | .. * :ref:`modindex` 23 | .. * :ref:`search` 24 | -------------------------------------------------------------------------------- /docs/source/installation.rst: -------------------------------------------------------------------------------- 1 | Installation 2 | ============ 3 | 4 | Prerequisites 5 | ------------- 6 | - Python 3.5 or higher. We recommend `Anaconda `_. 7 | - PyTorch 1.0.0 or higher, installed by following instructions on the `PyTorch `_ web site. 8 | 9 | Install from source 10 | ------------------- 11 | To use a cutting-edge version, clone this repository and install the PyProb package using:: 12 | 13 | git clone https://github.com/pyprob/pyprob.git 14 | cd pyprob 15 | pip install . 16 | 17 | Install the latest package 18 | -------------------------- 19 | To use the latest version available in `Python Package Index `_, run:: 20 | 21 | pip install pyprob 22 | -------------------------------------------------------------------------------- /pyprob/__init__.py: -------------------------------------------------------------------------------- 1 | __version__ = '1.0.1.dev1' 2 | 3 | from .util import TraceMode, PriorInflation, InferenceEngine, InferenceNetwork, ImportanceWeighting, Optimizer, LearningRateScheduler, ObserveEmbedding, set_verbosity, set_random_seed, set_device 4 | from .state import sample, observe, tag 5 | from .address_dictionary import AddressDictionary 6 | from .model import Model, RemoteModel 7 | -------------------------------------------------------------------------------- /pyprob/address_dictionary.py: -------------------------------------------------------------------------------- 1 | from functools import lru_cache 2 | 3 | from .concurrency import ConcurrentShelf 4 | 5 | 6 | class AddressDictionary(): 7 | def __init__(self, file_name): 8 | self._file_name = file_name 9 | self._closed = False 10 | self._shelf = None 11 | self._shelf = ConcurrentShelf(file_name) 12 | self._shelf.lock() 13 | if '__last_id' not in self._shelf: 14 | self._shelf['__last_id'] = 0 15 | self._shelf.unlock() 16 | 17 | @lru_cache(maxsize=4096) 18 | def address_to_id(self, address): 19 | address_key = '__address__' + address 20 | if address_key in self._shelf: 21 | return self._shelf[address_key] 22 | else: 23 | self._shelf.lock() 24 | new_id = self._shelf['__last_id'] + 1 25 | self._shelf['__last_id'] = new_id 26 | new_id = '__A{}'.format(new_id) 27 | self._shelf[address_key] = new_id 28 | id_key = '__id__' + new_id 29 | self._shelf[id_key] = address 30 | self._shelf.unlock() 31 | return new_id 32 | 33 | @lru_cache(maxsize=4096) 34 | def id_to_address(self, id): 35 | id_key = '__id__' + id 36 | return self._shelf[id_key] 37 | -------------------------------------------------------------------------------- /pyprob/distributions/__init__.py: -------------------------------------------------------------------------------- 1 | from .distribution import Distribution 2 | from .categorical import Categorical 3 | from .empirical import Empirical 4 | from .normal import Normal 5 | from .uniform import Uniform 6 | from .poisson import Poisson 7 | from .exponential import Exponential 8 | from .beta import Beta 9 | from .mixture import Mixture 10 | from .truncated_normal import TruncatedNormal 11 | -------------------------------------------------------------------------------- /pyprob/distributions/beta.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Beta(Distribution): 8 | def __init__(self, concentration1, concentration0, low=0, high=1): 9 | concentration1 = util.to_tensor(concentration1) 10 | concentration0 = util.to_tensor(concentration0) 11 | super().__init__(name='Beta', address_suffix='Beta', torch_dist=torch.distributions.Beta(concentration1, concentration0)) 12 | self._low = util.to_tensor(low) 13 | self._high = util.to_tensor(high) 14 | self._range = self._high - self._low 15 | 16 | def __repr__(self): 17 | return 'Beta(concentration1:{}, concentration0:{}, low:{}, high:{})'.format(self.concentration1, self.concentration0, self.low, self.high) 18 | 19 | @property 20 | def concentration1(self): 21 | return self._torch_dist.concentration1 22 | 23 | @property 24 | def concentration0(self): 25 | return self._torch_dist.concentration0 26 | 27 | @property 28 | def low(self): 29 | return self._low 30 | 31 | @property 32 | def high(self): 33 | return self._high 34 | 35 | def sample(self): 36 | return self._low + (super().sample() * self._range) 37 | 38 | def log_prob(self, value, sum=False): 39 | lp = super().log_prob((util.to_tensor(value) - self._low) / self._range, sum=False) 40 | return torch.sum(lp) if sum else lp 41 | 42 | @property 43 | def mean(self): 44 | return self._low + (super().mean * self._range) 45 | 46 | @property 47 | def variance(self): 48 | return super().variance * self._range * self._range 49 | -------------------------------------------------------------------------------- /pyprob/distributions/categorical.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Categorical(Distribution): 8 | def __init__(self, probs=None, logits=None): 9 | if probs is not None: 10 | probs = util.to_tensor(probs) 11 | if probs.dim() == 0: 12 | raise ValueError('probs cannot be a scalar.') 13 | if logits is not None: 14 | logits = util.to_tensor(logits) 15 | if logits.dim() == 0: 16 | raise ValueError('logits cannot be a scalar.') 17 | torch_dist = torch.distributions.Categorical(probs=probs, logits=logits) 18 | self._probs = torch_dist.probs 19 | self._logits = torch_dist.logits 20 | self._num_categories = self._probs.size(-1) 21 | super().__init__(name='Categorical', address_suffix='Categorical(len_probs:{})'.format(self._probs.size(-1)), torch_dist=torch_dist) 22 | 23 | def __repr__(self): 24 | return 'Categorical(num_categories: {}, probs:{})'.format(self.num_categories, self.probs) 25 | 26 | @property 27 | def num_categories(self): 28 | return self._num_categories 29 | 30 | @property 31 | def probs(self): 32 | return self._probs 33 | 34 | @property 35 | def logits(self): 36 | return self._logits 37 | -------------------------------------------------------------------------------- /pyprob/distributions/exponential.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Exponential(Distribution): 8 | def __init__(self, rate): 9 | rate = util.to_tensor(rate) 10 | super().__init__(name='Exponential', address_suffix='Exponential', torch_dist=torch.distributions.Exponential(rate)) 11 | 12 | def __repr__(self): 13 | return 'Exponential(rate:{})'.format(self.rate) 14 | 15 | @property 16 | def rate(self): 17 | return self._torch_dist.mean 18 | -------------------------------------------------------------------------------- /pyprob/distributions/normal.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Normal(Distribution): 8 | def __init__(self, loc, scale): 9 | loc = util.to_tensor(loc) 10 | scale = util.to_tensor(scale) 11 | super().__init__(name='Normal', address_suffix='Normal', torch_dist=torch.distributions.Normal(loc, scale)) 12 | 13 | def __repr__(self): 14 | return 'Normal(mean:{}, stddev:{})'.format(self.mean, self.stddev) 15 | 16 | def cdf(self, value): 17 | return self._torch_dist.cdf(value) 18 | 19 | def icdf(self, value): 20 | return self._torch_dist.icdf(value) 21 | -------------------------------------------------------------------------------- /pyprob/distributions/poisson.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Poisson(Distribution): 8 | def __init__(self, rate): 9 | rate = util.to_tensor(rate) 10 | super().__init__(name='Poisson', address_suffix='Poisson', torch_dist=torch.distributions.Poisson(rate)) 11 | 12 | def __repr__(self): 13 | return 'Poisson(rate: {})'.format(self.rate) 14 | 15 | @property 16 | def rate(self): 17 | return self._torch_dist.mean 18 | -------------------------------------------------------------------------------- /pyprob/distributions/uniform.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | from . import Distribution 4 | from .. import util 5 | 6 | 7 | class Uniform(Distribution): 8 | def __init__(self, low, high): 9 | low = util.to_tensor(low) 10 | high = util.to_tensor(high) 11 | super().__init__(name='Uniform', address_suffix='Uniform', torch_dist=torch.distributions.Uniform(low, high)) 12 | 13 | def __repr__(self): 14 | return 'Uniform(low: {}, high: {})'.format(self.low, self.high) 15 | 16 | @property 17 | def low(self): 18 | return self._torch_dist.low 19 | 20 | @property 21 | def high(self): 22 | return self._torch_dist.high 23 | -------------------------------------------------------------------------------- /pyprob/nn/__init__.py: -------------------------------------------------------------------------------- 1 | from .dataset import Batch, OnlineDataset, OfflineDataset, TraceSampler, TraceBatchSampler, DistributedTraceBatchSampler 2 | from .embedding_feedforward import EmbeddingFeedForward 3 | from .embedding_cnn_2d_5c import EmbeddingCNN2D5C 4 | from .embedding_cnn_3d_5c import EmbeddingCNN3D5C 5 | from .proposal_normal_normal import ProposalNormalNormal 6 | from .proposal_normal_normal_mixture import ProposalNormalNormalMixture 7 | from .proposal_uniform_beta import ProposalUniformBeta 8 | from .proposal_uniform_beta_mixture import ProposalUniformBetaMixture 9 | from .proposal_uniform_truncated_normal_mixture import ProposalUniformTruncatedNormalMixture 10 | from .proposal_poisson_truncated_normal_mixture import ProposalPoissonTruncatedNormalMixture 11 | from .proposal_categorical_categorical import ProposalCategoricalCategorical 12 | from .inference_network import InferenceNetwork 13 | from .inference_network_feedforward import InferenceNetworkFeedForward 14 | from .inference_network_lstm import InferenceNetworkLSTM 15 | -------------------------------------------------------------------------------- /pyprob/nn/embedding_cnn_2d_5c.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from .. import util 5 | 6 | 7 | class EmbeddingCNN2D5C(nn.Module): 8 | def __init__(self, input_shape, output_shape): 9 | super().__init__() 10 | self._input_shape = util.to_size(input_shape) # expecting 3d: [channels, height, width] 11 | self._output_shape = util.to_size(output_shape) 12 | input_channels = self._input_shape[0] 13 | self._output_dim = util.prod(self._output_shape) 14 | self._conv1 = nn.Conv2d(input_channels, 64, 3) 15 | self._conv2 = nn.Conv2d(64, 64, 3) 16 | self._conv3 = nn.Conv2d(64, 128, 3) 17 | self._conv4 = nn.Conv2d(128, 128, 3) 18 | self._conv5 = nn.Conv2d(128, 128, 3) 19 | cnn_output_dim = self._forward_cnn(torch.zeros(self._input_shape).unsqueeze(0)).nelement() 20 | self._lin1 = nn.Linear(cnn_output_dim, self._output_dim) 21 | self._lin2 = nn.Linear(self._output_dim, self._output_dim) 22 | 23 | def _forward_cnn(self, x): 24 | x = torch.relu(self._conv1(x)) 25 | x = torch.relu(self._conv2(x)) 26 | x = nn.MaxPool2d(2)(x) 27 | x = torch.relu(self._conv3(x)) 28 | x = torch.relu(self._conv4(x)) 29 | x = torch.relu(self._conv5(x)) 30 | x = nn.MaxPool2d(2)(x) 31 | return x 32 | 33 | def forward(self, x): 34 | batch_size = x.size(0) 35 | x = x.view(torch.Size([batch_size]) + self._input_shape) 36 | x = self._forward_cnn(x) 37 | x = x.view(batch_size, -1) 38 | x = torch.relu(self._lin1(x)) 39 | x = torch.relu(self._lin2(x)) 40 | return x.view(torch.Size([-1]) + self._output_shape) 41 | -------------------------------------------------------------------------------- /pyprob/nn/embedding_cnn_3d_5c.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from .. import util 5 | 6 | 7 | class EmbeddingCNN3D5C(nn.Module): 8 | def __init__(self, input_shape, output_shape): 9 | super().__init__() 10 | self._input_shape = util.to_size(input_shape) # expecting 4d: [channels, depth, height, width] 11 | self._output_shape = util.to_size(output_shape) 12 | input_channels = self._input_shape[0] 13 | self._output_dim = util.prod(self._output_shape) 14 | self._conv1 = nn.Conv3d(input_channels, 64, 3) 15 | self._conv2 = nn.Conv3d(64, 64, 3) 16 | self._conv3 = nn.Conv3d(64, 128, 3) 17 | self._conv4 = nn.Conv3d(128, 128, 3) 18 | self._conv5 = nn.Conv3d(128, 128, 3) 19 | cnn_output_dim = self._forward_cnn(torch.zeros(self._input_shape).unsqueeze(0)).nelement() 20 | self._lin1 = nn.Linear(cnn_output_dim, self._output_dim) 21 | # self._lin2 = nn.Linear(self._output_dim, self._output_dim) 22 | print(input_shape) 23 | print(cnn_output_dim) 24 | print(output_shape) 25 | 26 | def _forward_cnn(self, x): 27 | x = torch.relu(self._conv1(x)) 28 | x = torch.relu(self._conv2(x)) 29 | x = nn.MaxPool3d(2)(x) 30 | x = torch.relu(self._conv3(x)) 31 | x = torch.relu(self._conv4(x)) 32 | x = torch.relu(self._conv5(x)) 33 | x = nn.MaxPool3d(2)(x) 34 | return x 35 | 36 | def forward(self, x): 37 | batch_size = x.size(0) 38 | x = x.view(torch.Size([batch_size]) + self._input_shape) 39 | x = self._forward_cnn(x) 40 | x = x.view(batch_size, -1) 41 | x = torch.relu(self._lin1(x)) 42 | # x = torch.relu(self._lin2(x)) 43 | return x.view(torch.Size([-1]) + self._output_shape) 44 | -------------------------------------------------------------------------------- /pyprob/nn/embedding_feedforward.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from .. import util 5 | 6 | 7 | class EmbeddingFeedForward(nn.Module): 8 | def __init__(self, input_shape, output_shape, num_layers=3, activation=torch.relu, activation_last=torch.relu, input_is_one_hot_index=False, input_one_hot_dim=None): 9 | super().__init__() 10 | self._input_shape = util.to_size(input_shape) 11 | self._output_shape = util.to_size(output_shape) 12 | self._input_dim = util.prod(self._input_shape) 13 | self._output_dim = util.prod(self._output_shape) 14 | self._input_is_one_hot_index = input_is_one_hot_index 15 | self._input_one_hot_dim = input_one_hot_dim 16 | if input_is_one_hot_index: 17 | if self._input_dim != 1: 18 | raise ValueError('If input_is_one_hot_index==True, input_dim should be 1 (the index of one-hot value in a vector of length input_one_hot_dim.)') 19 | self._input_dim = input_one_hot_dim 20 | if num_layers < 1: 21 | raise ValueError('Expecting num_layers >= 1') 22 | layers = [] 23 | if num_layers == 1: 24 | layers.append(nn.Linear(self._input_dim, self._output_dim)) 25 | else: 26 | hidden_dim = int((self._input_dim + self._output_dim)/2) 27 | layers.append(nn.Linear(self._input_dim, hidden_dim)) 28 | for i in range(num_layers - 2): 29 | layers.append(nn.Linear(hidden_dim, hidden_dim)) 30 | layers.append(nn.Linear(hidden_dim, self._output_dim)) 31 | self._activation = activation 32 | self._activation_last = activation_last 33 | self._layers = nn.ModuleList(layers) 34 | 35 | def forward(self, x): 36 | if self._input_is_one_hot_index: 37 | x = torch.stack([util.one_hot(self._input_one_hot_dim, int(v)) for v in x]) 38 | else: 39 | x = x.view(-1, self._input_dim).float() 40 | for i in range(len(self._layers)): 41 | layer = self._layers[i] 42 | x = layer(x) 43 | if i == len(self._layers) - 1: 44 | if self._activation_last is not None: 45 | x = self._activation_last(x) 46 | else: 47 | x = self._activation(x) 48 | return x.view(torch.Size([-1]) + self._output_shape) 49 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_categorical_categorical.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import Categorical 7 | 8 | 9 | class ProposalCategoricalCategorical(nn.Module): 10 | def __init__(self, input_shape, num_categories, num_layers=2): 11 | super().__init__() 12 | input_shape = util.to_size(input_shape) 13 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([num_categories]), num_layers=num_layers, activation=torch.relu, activation_last=None) 14 | self._total_train_iterations = 0 15 | 16 | def forward(self, x, prior_variables): 17 | batch_size = x.size(0) 18 | x = self._ff(x) 19 | probs = torch.softmax(x, dim=1).view(batch_size, -1) + util._epsilon 20 | return Categorical(probs) 21 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_normal_normal.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import Normal 7 | 8 | 9 | class ProposalNormalNormal(nn.Module): 10 | def __init__(self, input_shape, output_shape, num_layers=2): 11 | super().__init__() 12 | input_shape = util.to_size(input_shape) 13 | self._output_dim = util.prod(output_shape) 14 | self._output_shape = torch.Size([-1]) + output_shape 15 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([self._output_dim * 2]), num_layers=num_layers, activation=torch.relu, activation_last=None) 16 | self._total_train_iterations = 0 17 | 18 | def forward(self, x, prior_variables): 19 | batch_size = x.size(0) 20 | x = self._ff(x) 21 | means = x[:, :self._output_dim].view(batch_size, -1) 22 | stddevs = torch.exp(x[:, self._output_dim:]).view(batch_size, -1) 23 | prior_means = torch.stack([v.distribution.mean for v in prior_variables]).view(means.size()) 24 | prior_stddevs = torch.stack([v.distribution.stddev for v in prior_variables]).view(stddevs.size()) 25 | means = prior_means + (means * prior_stddevs) 26 | stddevs = stddevs * prior_stddevs 27 | means = means.view(self._output_shape) 28 | stddevs = stddevs.view(self._output_shape) 29 | return Normal(means, stddevs) 30 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_normal_normal_mixture.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import Normal, Mixture 7 | 8 | 9 | class ProposalNormalNormalMixture(nn.Module): 10 | def __init__(self, input_shape, output_shape, num_layers=2, mixture_components=10): 11 | super().__init__() 12 | # Currently only supports event_shape=torch.Size([]) for the mixture components 13 | self._mixture_components = mixture_components 14 | input_shape = util.to_size(input_shape) 15 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([3 * self._mixture_components]), num_layers=num_layers, activation=torch.relu, activation_last=None) 16 | self._total_train_iterations = 0 17 | 18 | def forward(self, x, prior_variables): 19 | batch_size = x.size(0) 20 | x = self._ff(x) 21 | means = x[:, :self._mixture_components].view(batch_size, -1) 22 | stddevs = x[:, self._mixture_components:2*self._mixture_components].view(batch_size, -1) 23 | coeffs = x[:, 2*self._mixture_components:].view(batch_size, -1) 24 | stddevs = torch.exp(stddevs) 25 | coeffs = torch.softmax(coeffs, dim=1) 26 | prior_means = torch.stack([v.distribution.mean for v in prior_variables]).view(batch_size, -1) 27 | prior_stddevs = torch.stack([v.distribution.stddev for v in prior_variables]).view(batch_size, -1) 28 | prior_means = prior_means.expand_as(means) 29 | prior_stddevs = prior_stddevs.expand_as(stddevs) 30 | means = prior_means + (means * prior_stddevs) 31 | stddevs = stddevs * prior_stddevs 32 | means = means.view(batch_size, -1) 33 | stddevs = stddevs.view(batch_size, -1) 34 | distributions = [Normal(means[:, i:i+1].view(batch_size), stddevs[:, i:i+1].view(batch_size)) for i in range(self._mixture_components)] 35 | return Mixture(distributions, coeffs) 36 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_poisson_truncated_normal_mixture.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import TruncatedNormal, Mixture 7 | 8 | 9 | class ProposalPoissonTruncatedNormalMixture(nn.Module): 10 | def __init__(self, input_shape, output_shape, low=0, high=40, num_layers=2, mixture_components=10): 11 | super().__init__() 12 | # Currently only supports event_shape=torch.Size([]) for the mixture components 13 | self._low = low 14 | self._high = high 15 | self._mixture_components = mixture_components 16 | input_shape = util.to_size(input_shape) 17 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([3 * self._mixture_components]), num_layers=num_layers, activation=torch.relu, activation_last=None) 18 | self._total_train_iterations = 0 19 | 20 | def forward(self, x, prior_variables): 21 | batch_size = x.size(0) 22 | x = self._ff(x) 23 | means = x[:, :self._mixture_components].view(batch_size, -1) 24 | stddevs = x[:, self._mixture_components:2*self._mixture_components].view(batch_size, -1) 25 | coeffs = x[:, 2*self._mixture_components:].view(batch_size, -1) 26 | means = torch.sigmoid(means) 27 | stddevs = torch.exp(stddevs) 28 | coeffs = torch.softmax(coeffs, dim=1) 29 | means = means.view(batch_size, -1) 30 | stddevs = stddevs.view(batch_size, -1) 31 | prior_lows = torch.zeros(batch_size).fill_(self._low) 32 | prior_highs = torch.zeros(batch_size).fill_(self._high) 33 | means = prior_lows.view(batch_size, -1).expand_as(means) + (means * (prior_highs - prior_lows).view(batch_size, -1).expand_as(means)) 34 | # stddevs = stddevs * prior_stddevs 35 | distributions = [TruncatedNormal(means[:, i:i+1].view(batch_size), stddevs[:, i:i+1].view(batch_size), low=prior_lows, high=prior_highs) for i in range(self._mixture_components)] 36 | return Mixture(distributions, coeffs) 37 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_uniform_beta.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import Beta 7 | 8 | 9 | class ProposalUniformBeta(nn.Module): 10 | def __init__(self, input_shape, output_shape, num_layers=2): 11 | super().__init__() 12 | input_shape = util.to_size(input_shape) 13 | self._output_dim = util.prod(output_shape) 14 | self._output_shape = torch.Size([-1]) + output_shape 15 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([self._output_dim * 2]), num_layers=num_layers, activation=torch.relu, activation_last=torch.relu) 16 | self._total_train_iterations = 0 17 | 18 | def forward(self, x, prior_variables): 19 | x = self._ff(x) 20 | concentration1s = 1. + x[:, :self._output_dim].view(self._output_shape) 21 | concentration0s = 1. + x[:, self._output_dim:].view(self._output_shape) 22 | prior_lows = torch.stack([v.distribution.low for v in prior_variables]).view(concentration1s.size()) 23 | prior_highs = torch.stack([v.distribution.high for v in prior_variables]).view(concentration1s.size()) 24 | return Beta(concentration1s, concentration0s, low=prior_lows, high=prior_highs) 25 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_uniform_beta_mixture.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import Beta, Mixture 7 | 8 | 9 | class ProposalUniformBetaMixture(nn.Module): 10 | def __init__(self, input_shape, output_shape, num_layers=2, mixture_components=10): 11 | super().__init__() 12 | # Currently only supports event_shape=torch.Size([]) for the mixture components 13 | self._mixture_components = mixture_components 14 | input_shape = util.to_size(input_shape) 15 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([3 * self._mixture_components]), num_layers=num_layers, activation=torch.relu, activation_last=None) 16 | self._total_train_iterations = 0 17 | 18 | def forward(self, x, prior_variables): 19 | batch_size = x.size(0) 20 | x = self._ff(x) 21 | concentration1s = x[:, :self._mixture_components].view(batch_size, -1) 22 | concentration0s = x[:, self._mixture_components:2*self._mixture_components].view(batch_size, -1) 23 | concentration1s = 1. + torch.relu(concentration1s) 24 | concentration0s = 1. + torch.relu(concentration0s) 25 | coeffs = x[:, 2*self._mixture_components:].view(batch_size, -1) 26 | coeffs = torch.softmax(coeffs, dim=1) 27 | prior_lows = torch.stack([v.distribution.low for v in prior_variables]).view(batch_size) 28 | prior_highs = torch.stack([v.distribution.high for v in prior_variables]).view(batch_size) 29 | distributions = [Beta(concentration1s[:, i:i+1].view(batch_size), concentration0s[:, i:i+1].view(batch_size), low=prior_lows, high=prior_highs) for i in range(self._mixture_components)] 30 | return Mixture(distributions, coeffs) 31 | -------------------------------------------------------------------------------- /pyprob/nn/proposal_uniform_truncated_normal_mixture.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | from . import EmbeddingFeedForward 5 | from .. import util 6 | from ..distributions import TruncatedNormal, Mixture 7 | 8 | 9 | class ProposalUniformTruncatedNormalMixture(nn.Module): 10 | def __init__(self, input_shape, output_shape, num_layers=2, mixture_components=10): 11 | super().__init__() 12 | # Currently only supports event_shape=torch.Size([]) for the mixture components 13 | self._mixture_components = mixture_components 14 | input_shape = util.to_size(input_shape) 15 | self._ff = EmbeddingFeedForward(input_shape=input_shape, output_shape=torch.Size([3 * self._mixture_components]), num_layers=num_layers, activation=torch.relu, activation_last=None) 16 | self._total_train_iterations = 0 17 | 18 | def forward(self, x, prior_variables): 19 | batch_size = x.size(0) 20 | x = self._ff(x) 21 | means = x[:, :self._mixture_components].view(batch_size, -1) 22 | stddevs = x[:, self._mixture_components:2*self._mixture_components].view(batch_size, -1) 23 | coeffs = x[:, 2*self._mixture_components:].view(batch_size, -1) 24 | means = torch.sigmoid(means) 25 | stddevs = torch.sigmoid(stddevs) 26 | coeffs = torch.softmax(coeffs, dim=1) 27 | means = means.view(batch_size, -1) 28 | stddevs = stddevs.view(batch_size, -1) 29 | prior_lows = torch.stack([util.to_tensor(v.distribution.low) for v in prior_variables]).view(batch_size) 30 | prior_highs = torch.stack([util.to_tensor(v.distribution.high) for v in prior_variables]).view(batch_size) 31 | prior_range = (prior_highs - prior_lows).view(batch_size, -1) 32 | means = prior_lows.view(batch_size, -1) + (means * prior_range) 33 | # stddevs = stddevs * prior_stddevs 34 | stddevs = (prior_range / 1000) + (stddevs * prior_range * 10) 35 | distributions = [TruncatedNormal(means[:, i:i+1].view(batch_size), stddevs[:, i:i+1].view(batch_size), low=prior_lows, high=prior_highs) for i in range(self._mixture_components)] 36 | return Mixture(distributions, coeffs) 37 | -------------------------------------------------------------------------------- /pyprob/ppx/Categorical.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Categorical(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsCategorical(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Categorical() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def CategoricalBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Categorical 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Categorical 28 | def Probs(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | def CategoricalStart(builder): builder.StartObject(1) 39 | def CategoricalAddProbs(builder, probs): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(probs), 0) 40 | def CategoricalEnd(builder): return builder.EndObject() 41 | -------------------------------------------------------------------------------- /pyprob/ppx/Distribution.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | class Distribution(object): 6 | NONE = 0 7 | Normal = 1 8 | Uniform = 2 9 | Categorical = 3 10 | Poisson = 4 11 | 12 | -------------------------------------------------------------------------------- /pyprob/ppx/Handshake.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Handshake(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsHandshake(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Handshake() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def HandshakeBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Handshake 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Handshake 28 | def SystemName(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | return self._tab.String(o + self._tab.Pos) 32 | return None 33 | 34 | def HandshakeStart(builder): builder.StartObject(1) 35 | def HandshakeAddSystemName(builder, systemName): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(systemName), 0) 36 | def HandshakeEnd(builder): return builder.EndObject() 37 | -------------------------------------------------------------------------------- /pyprob/ppx/HandshakeResult.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class HandshakeResult(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsHandshakeResult(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = HandshakeResult() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def HandshakeResultBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # HandshakeResult 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # HandshakeResult 28 | def SystemName(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | return self._tab.String(o + self._tab.Pos) 32 | return None 33 | 34 | # HandshakeResult 35 | def ModelName(self): 36 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 37 | if o != 0: 38 | return self._tab.String(o + self._tab.Pos) 39 | return None 40 | 41 | def HandshakeResultStart(builder): builder.StartObject(2) 42 | def HandshakeResultAddSystemName(builder, systemName): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(systemName), 0) 43 | def HandshakeResultAddModelName(builder, modelName): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(modelName), 0) 44 | def HandshakeResultEnd(builder): return builder.EndObject() 45 | -------------------------------------------------------------------------------- /pyprob/ppx/Message.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Message(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsMessage(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Message() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def MessageBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Message 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Message 28 | def BodyType(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos) 32 | return 0 33 | 34 | # Message 35 | def Body(self): 36 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 37 | if o != 0: 38 | from flatbuffers.table import Table 39 | obj = Table(bytearray(), 0) 40 | self._tab.Union(obj, o) 41 | return obj 42 | return None 43 | 44 | def MessageStart(builder): builder.StartObject(2) 45 | def MessageAddBodyType(builder, bodyType): builder.PrependUint8Slot(0, bodyType, 0) 46 | def MessageAddBody(builder, body): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(body), 0) 47 | def MessageEnd(builder): return builder.EndObject() 48 | -------------------------------------------------------------------------------- /pyprob/ppx/MessageBody.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | class MessageBody(object): 6 | NONE = 0 7 | Handshake = 1 8 | HandshakeResult = 2 9 | Run = 3 10 | RunResult = 4 11 | Sample = 5 12 | SampleResult = 6 13 | Observe = 7 14 | ObserveResult = 8 15 | Tag = 9 16 | TagResult = 10 17 | Reset = 11 18 | 19 | -------------------------------------------------------------------------------- /pyprob/ppx/Normal.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Normal(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsNormal(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Normal() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def NormalBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Normal 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Normal 28 | def Mean(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | # Normal 39 | def Stddev(self): 40 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 41 | if o != 0: 42 | x = self._tab.Indirect(o + self._tab.Pos) 43 | from .Tensor import Tensor 44 | obj = Tensor() 45 | obj.Init(self._tab.Bytes, x) 46 | return obj 47 | return None 48 | 49 | def NormalStart(builder): builder.StartObject(2) 50 | def NormalAddMean(builder, mean): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(mean), 0) 51 | def NormalAddStddev(builder, stddev): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(stddev), 0) 52 | def NormalEnd(builder): return builder.EndObject() 53 | -------------------------------------------------------------------------------- /pyprob/ppx/ObserveResult.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class ObserveResult(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsObserveResult(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = ObserveResult() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def ObserveResultBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # ObserveResult 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | def ObserveResultStart(builder): builder.StartObject(0) 28 | def ObserveResultEnd(builder): return builder.EndObject() 29 | -------------------------------------------------------------------------------- /pyprob/ppx/Poisson.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Poisson(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsPoisson(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Poisson() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def PoissonBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Poisson 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Poisson 28 | def Rate(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | def PoissonStart(builder): builder.StartObject(1) 39 | def PoissonAddRate(builder, rate): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(rate), 0) 40 | def PoissonEnd(builder): return builder.EndObject() 41 | -------------------------------------------------------------------------------- /pyprob/ppx/Reset.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Reset(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsReset(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Reset() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def ResetBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Reset 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | def ResetStart(builder): builder.StartObject(0) 28 | def ResetEnd(builder): return builder.EndObject() 29 | -------------------------------------------------------------------------------- /pyprob/ppx/Run.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Run(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsRun(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Run() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def RunBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Run 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | def RunStart(builder): builder.StartObject(0) 28 | def RunEnd(builder): return builder.EndObject() 29 | -------------------------------------------------------------------------------- /pyprob/ppx/RunResult.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class RunResult(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsRunResult(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = RunResult() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def RunResultBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # RunResult 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # RunResult 28 | def Result(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | def RunResultStart(builder): builder.StartObject(1) 39 | def RunResultAddResult(builder, result): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(result), 0) 40 | def RunResultEnd(builder): return builder.EndObject() 41 | -------------------------------------------------------------------------------- /pyprob/ppx/SampleResult.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class SampleResult(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsSampleResult(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = SampleResult() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def SampleResultBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # SampleResult 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # SampleResult 28 | def Result(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | def SampleResultStart(builder): builder.StartObject(1) 39 | def SampleResultAddResult(builder, result): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(result), 0) 40 | def SampleResultEnd(builder): return builder.EndObject() 41 | -------------------------------------------------------------------------------- /pyprob/ppx/Tag.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Tag(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsTag(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Tag() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def TagBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Tag 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Tag 28 | def Address(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | return self._tab.String(o + self._tab.Pos) 32 | return None 33 | 34 | # Tag 35 | def Name(self): 36 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 37 | if o != 0: 38 | return self._tab.String(o + self._tab.Pos) 39 | return None 40 | 41 | # Tag 42 | def Value(self): 43 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) 44 | if o != 0: 45 | x = self._tab.Indirect(o + self._tab.Pos) 46 | from .Tensor import Tensor 47 | obj = Tensor() 48 | obj.Init(self._tab.Bytes, x) 49 | return obj 50 | return None 51 | 52 | def TagStart(builder): builder.StartObject(3) 53 | def TagAddAddress(builder, address): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(address), 0) 54 | def TagAddName(builder, name): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0) 55 | def TagAddValue(builder, value): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(value), 0) 56 | def TagEnd(builder): return builder.EndObject() 57 | -------------------------------------------------------------------------------- /pyprob/ppx/TagResult.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class TagResult(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsTagResult(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = TagResult() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def TagResultBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # TagResult 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | def TagResultStart(builder): builder.StartObject(0) 28 | def TagResultEnd(builder): return builder.EndObject() 29 | -------------------------------------------------------------------------------- /pyprob/ppx/Uniform.py: -------------------------------------------------------------------------------- 1 | # automatically generated by the FlatBuffers compiler, do not modify 2 | 3 | # namespace: ppx 4 | 5 | import flatbuffers 6 | from flatbuffers.compat import import_numpy 7 | np = import_numpy() 8 | 9 | class Uniform(object): 10 | __slots__ = ['_tab'] 11 | 12 | @classmethod 13 | def GetRootAsUniform(cls, buf, offset): 14 | n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) 15 | x = Uniform() 16 | x.Init(buf, n + offset) 17 | return x 18 | 19 | @classmethod 20 | def UniformBufferHasIdentifier(cls, buf, offset, size_prefixed=False): 21 | return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed) 22 | 23 | # Uniform 24 | def Init(self, buf, pos): 25 | self._tab = flatbuffers.table.Table(buf, pos) 26 | 27 | # Uniform 28 | def Low(self): 29 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) 30 | if o != 0: 31 | x = self._tab.Indirect(o + self._tab.Pos) 32 | from .Tensor import Tensor 33 | obj = Tensor() 34 | obj.Init(self._tab.Bytes, x) 35 | return obj 36 | return None 37 | 38 | # Uniform 39 | def High(self): 40 | o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) 41 | if o != 0: 42 | x = self._tab.Indirect(o + self._tab.Pos) 43 | from .Tensor import Tensor 44 | obj = Tensor() 45 | obj.Init(self._tab.Bytes, x) 46 | return obj 47 | return None 48 | 49 | def UniformStart(builder): builder.StartObject(2) 50 | def UniformAddLow(builder, low): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(low), 0) 51 | def UniformAddHigh(builder, high): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(high), 0) 52 | def UniformEnd(builder): return builder.EndObject() 53 | -------------------------------------------------------------------------------- /pyprob/ppx/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/pyprob/ppx/__init__.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | from setuptools import setup, find_packages 4 | PACKAGE_NAME = 'pyprob' 5 | MINIMUM_PYTHON_VERSION = 3, 5 6 | 7 | 8 | def check_python_version(): 9 | """Exit when the Python version is too low.""" 10 | if sys.version_info < MINIMUM_PYTHON_VERSION: 11 | sys.exit("Python {}.{}+ is required.".format(*MINIMUM_PYTHON_VERSION)) 12 | 13 | 14 | def read_package_variable(key): 15 | """Read the value of a variable from the package without importing.""" 16 | module_path = os.path.join(PACKAGE_NAME, '__init__.py') 17 | with open(module_path) as module: 18 | for line in module: 19 | parts = line.strip().split(' ') 20 | if parts and parts[0] == key: 21 | return parts[-1].strip("'") 22 | assert 0, "'{0}' not found in '{1}'".format(key, module_path) 23 | 24 | 25 | check_python_version() 26 | setup( 27 | name='pyprob', 28 | version=read_package_variable('__version__'), 29 | description='A probabilistic programming system for simulators and high-performance computing (HPC), based on PyTorch', 30 | author='PyProb contributors', 31 | author_email='gunes@robots.ox.ac.uk', 32 | packages=find_packages(), 33 | install_requires=['torch>=1.0.0', 'numpy', 'matplotlib', 'termcolor==1.1.0', 'pyzmq>=19.0.0', 'flatbuffers==1.12', 'pydotplus==2.0.2', 'pyyaml>=3.13'], 34 | extras_require={'dev': ['pytest', 'pytest-cov', 'pytest-xdist', 'docker', 'sphinx', 'sphinx_rtd_theme']}, 35 | url='https://github.com/pyprob/pyprob', 36 | classifiers=['License :: OSI Approved :: BSD License', 'Programming Language :: Python :: 3'], 37 | license='BSD', 38 | keywords='probabilistic programming simulation deep learning inference compilation markov chain monte carlo', 39 | ) 40 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/.gitignore: -------------------------------------------------------------------------------- 1 | /gum_marsaglia 2 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/address_dict: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/address_dict -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_ic_rmh_addresses.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address 2 | A1__1, 300000, , True, False, False, False, __A1__1 3 | A1__2, 47247, , True, False, False, False, __A1__2 4 | A1__3, 10113, , True, False, False, False, __A1__3 5 | A1__4, 1411, , True, False, False, False, __A1__4 6 | A1__5, 237, , True, False, False, False, __A1__5 7 | A1__6, 48, , True, False, False, False, __A1__6 8 | A2__1, 300000, , True, False, False, False, __A2__1 9 | A2__2, 47247, , True, False, False, False, __A2__2 10 | A2__3, 10113, , True, False, False, False, __A2__3 11 | A2__4, 1411, , True, False, False, False, __A2__4 12 | A2__5, 237, , True, False, False, False, __A2__5 13 | A2__6, 48, , True, False, False, False, __A2__6 14 | A3__1, 300000, x_accepted, False, False, False, False, __A3__1 15 | A4__1, 300000, y_accepted, False, False, False, False, __A4__1 16 | A5__1, 300000, s_accepted, False, False, False, False, __A5__1 17 | A6__1, 300000, iterations, False, False, False, False, __A6__1 18 | A7__1, 300000, mu, False, False, False, False, __A7__1 19 | A8__1, 300000, obs0, False, False, True, True, __A8__1 20 | A9__1, 300000, obs1, False, False, True, True, __A9__1 21 | A10__1, 47247, x_rejected, False, False, False, False, __A10__1 22 | A10__2, 10113, x_rejected, False, False, False, False, __A10__2 23 | A10__3, 1411, x_rejected, False, False, False, False, __A10__3 24 | A10__4, 237, x_rejected, False, False, False, False, __A10__4 25 | A10__5, 48, x_rejected, False, False, False, False, __A10__5 26 | A11__1, 47247, y_rejected, False, False, False, False, __A11__1 27 | A11__2, 10113, y_rejected, False, False, False, False, __A11__2 28 | A11__3, 1411, y_rejected, False, False, False, False, __A11__3 29 | A11__4, 237, y_rejected, False, False, False, False, __A11__4 30 | A11__5, 48, y_rejected, False, False, False, False, __A11__5 31 | A12__1, 47247, s_rejected, False, False, False, False, __A12__1 32 | A12__2, 10113, s_rejected, False, False, False, False, __A12__2 33 | A12__3, 1411, s_rejected, False, False, False, False, __A12__3 34 | A12__4, 237, s_rejected, False, False, False, False, __A12__4 35 | A12__5, 48, s_rejected, False, False, False, False, __A12__5 36 | A1__7, 2, , True, False, False, False, __A1__7 37 | A2__7, 2, , True, False, False, False, __A2__7 38 | A10__6, 2, x_rejected, False, False, False, False, __A10__6 39 | A11__6, 2, y_rejected, False, False, False, False, __A11__6 40 | A12__6, 2, s_rejected, False, False, False, False, __A12__6 41 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_ic_rmh_addresses.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_ic_rmh_addresses.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_ic_rmh_addresses.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 39 7 | addresses_controlled: 14 8 | addresses_replaced: 0 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 23 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_is_rmh_addresses.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address 2 | A1__1, 300000, , True, False, False, False, __A1__1 3 | A1__2, 62635, , True, False, False, False, __A1__2 4 | A1__3, 13605, , True, False, False, False, __A1__3 5 | A1__4, 3095, , True, False, False, False, __A1__4 6 | A1__5, 635, , True, False, False, False, __A1__5 7 | A1__6, 134, , True, False, False, False, __A1__6 8 | A2__1, 300000, , True, False, False, False, __A2__1 9 | A2__2, 62635, , True, False, False, False, __A2__2 10 | A2__3, 13605, , True, False, False, False, __A2__3 11 | A2__4, 3095, , True, False, False, False, __A2__4 12 | A2__5, 635, , True, False, False, False, __A2__5 13 | A2__6, 134, , True, False, False, False, __A2__6 14 | A3__1, 300000, x_accepted, False, False, False, False, __A3__1 15 | A4__1, 300000, y_accepted, False, False, False, False, __A4__1 16 | A5__1, 300000, s_accepted, False, False, False, False, __A5__1 17 | A6__1, 300000, iterations, False, False, False, False, __A6__1 18 | A7__1, 300000, mu, False, False, False, False, __A7__1 19 | A8__1, 300000, obs0, False, False, True, True, __A8__1 20 | A9__1, 300000, obs1, False, False, True, True, __A9__1 21 | A10__1, 62635, x_rejected, False, False, False, False, __A10__1 22 | A10__2, 13605, x_rejected, False, False, False, False, __A10__2 23 | A10__3, 3095, x_rejected, False, False, False, False, __A10__3 24 | A10__4, 635, x_rejected, False, False, False, False, __A10__4 25 | A10__5, 134, x_rejected, False, False, False, False, __A10__5 26 | A11__1, 62635, y_rejected, False, False, False, False, __A11__1 27 | A11__2, 13605, y_rejected, False, False, False, False, __A11__2 28 | A11__3, 3095, y_rejected, False, False, False, False, __A11__3 29 | A11__4, 635, y_rejected, False, False, False, False, __A11__4 30 | A11__5, 134, y_rejected, False, False, False, False, __A11__5 31 | A12__1, 62635, s_rejected, False, False, False, False, __A12__1 32 | A12__2, 13605, s_rejected, False, False, False, False, __A12__2 33 | A12__3, 3095, s_rejected, False, False, False, False, __A12__3 34 | A12__4, 635, s_rejected, False, False, False, False, __A12__4 35 | A12__5, 134, s_rejected, False, False, False, False, __A12__5 36 | A1__7, 16, , True, False, False, False, __A1__7 37 | A2__7, 16, , True, False, False, False, __A2__7 38 | A10__6, 16, x_rejected, False, False, False, False, __A10__6 39 | A11__6, 16, y_rejected, False, False, False, False, __A11__6 40 | A12__6, 16, s_rejected, False, False, False, False, __A12__6 41 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_is_rmh_addresses.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_is_rmh_addresses.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses/posterior_is_rmh_addresses.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 39 7 | addresses_controlled: 14 8 | addresses_replaced: 0 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 23 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address_base 2 | A1, 359058, , True, False, False, False, __A1 3 | A2, 359058, , True, False, False, False, __A2 4 | A3, 300000, x_accepted, False, False, False, False, __A3 5 | A4, 300000, y_accepted, False, False, False, False, __A4 6 | A5, 300000, s_accepted, False, False, False, False, __A5 7 | A6, 300000, iterations, False, False, False, False, __A6 8 | A7, 300000, mu, False, False, False, False, __A7 9 | A8, 300000, obs0, False, False, True, True, __A8 10 | A9, 300000, obs1, False, False, True, True, __A9 11 | A10, 59058, x_rejected, False, False, False, False, __A10 12 | A11, 59058, y_rejected, False, False, False, False, __A11 13 | A12, 59058, s_rejected, False, False, False, False, __A12 14 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | aggregated address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 12 7 | addresses_controlled: 2 8 | addresses_replaced: 0 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 8 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_is_rmh_addresses_aggregated.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address_base 2 | A1, 380120, , True, False, False, False, __A1 3 | A2, 380120, , True, False, False, False, __A2 4 | A3, 300000, x_accepted, False, False, False, False, __A3 5 | A4, 300000, y_accepted, False, False, False, False, __A4 6 | A5, 300000, s_accepted, False, False, False, False, __A5 7 | A6, 300000, iterations, False, False, False, False, __A6 8 | A7, 300000, mu, False, False, False, False, __A7 9 | A8, 300000, obs0, False, False, True, True, __A8 10 | A9, 300000, obs1, False, False, True, True, __A9 11 | A10, 80120, x_rejected, False, False, False, False, __A10 12 | A11, 80120, y_rejected, False, False, False, False, __A11 13 | A12, 80120, s_rejected, False, False, False, False, __A12 14 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_is_rmh_addresses_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_is_rmh_addresses_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/addresses_aggregated/posterior_is_rmh_addresses_aggregated.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | aggregated address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 12 7 | addresses_controlled: 2 8 | addresses_replaced: 0 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 8 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8287443913959582, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4629955131167667, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 9 | A2 -> A3 [color="#191919", fontcolor=black, label="0.790", weight=0.790322630664512]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7122674833168428, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 25 | A2 -> A10 [color="#868686", fontcolor=black, label="0.210", weight=0.20967736933548792]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T3.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.039735231617759, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6317881852942073, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 9 | A2 -> A3 [color="#696969", fontcolor=black, label="0.333", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.5258752534447457, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 25 | A2 -> A10 [color="#2c2c2c", fontcolor=black, label="0.667", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T5.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.1336627775175723, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7069302220140576, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 9 | A2 -> A3 [color="#888888", fontcolor=black, label="0.200", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.438314490088623, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 25 | A2 -> A10 [color="#181818", fontcolor=black, label="0.800", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T6.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.16073375738177, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7285870059054163, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 9 | A2 -> A3 [color="#909090", fontcolor=black, label="0.167", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4125215465291592, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 25 | A2 -> A10 [color="#141414", fontcolor=black, label="0.833", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T7.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.1811056518739895, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7448845214991917, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 9 | A2 -> A3 [color="#969696", fontcolor=black, label="0.143", weight="0.790322630664512"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3929427016793734, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 25 | A2 -> A10 [color="#111111", fontcolor=black, label="0.857", weight="0.20967736933548792"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_ic_graph_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8303337493796894, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4642669995037516, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.786", weight=0.7856396796354086]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7109138342752788, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 25 | A2 -> A10 [color="#848484", fontcolor=black, label="0.214", weight=0.2143603203645914]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T3.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.039735231617759, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6317881852942073, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 9 | A2 -> A3 [color="#696969", fontcolor=black, label="0.333", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.5258752534447457, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 25 | A2 -> A10 [color="#2c2c2c", fontcolor=black, label="0.667", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T5.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.1336627775175723, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7069302220140576, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 9 | A2 -> A3 [color="#888888", fontcolor=black, label="0.200", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.438314490088623, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 25 | A2 -> A10 [color="#181818", fontcolor=black, label="0.800", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T6.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.16073375738177, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7285870059054163, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 9 | A2 -> A3 [color="#909090", fontcolor=black, label="0.167", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4125215465291592, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 25 | A2 -> A10 [color="#141414", fontcolor=black, label="0.833", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T7.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.1811056518739895, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7448845214991917, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 9 | A2 -> A3 [color="#969696", fontcolor=black, label="0.143", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1143541613434986, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3929427016793734, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 25 | A2 -> A10 [color="#111111", fontcolor=black, label="0.857", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6460982297472495, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_is_graph_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8281335095668623, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4625068076534897, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 9 | A2 -> A3 [color="#191919", fontcolor=black, label="0.792", weight=0.7921294022589828]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7127875726338193, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 25 | A2 -> A10 [color="#868686", fontcolor=black, label="0.208", weight=0.20787059774101727]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.7921294022589828"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.20787059774101727"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T3.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.039735231617759, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6317881852942073, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 9 | A2 -> A3 [color="#696969", fontcolor=black, label="0.333", weight="0.7921294022589828"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.5258752534447457, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 25 | A2 -> A10 [color="#2c2c2c", fontcolor=black, label="0.667", weight="0.20787059774101727"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.7921294022589828"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.20787059774101727"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T5.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.16073375738177, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7285870059054163, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 9 | A2 -> A3 [color="#909090", fontcolor=black, label="0.167", weight="0.7921294022589828"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4125215465291592, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 25 | A2 -> A10 [color="#141414", fontcolor=black, label="0.833", weight="0.20787059774101727"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T6.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.1336627775175723, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.7069302220140576, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 9 | A2 -> A3 [color="#888888", fontcolor=black, label="0.200", weight="0.7921294022589828"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.438314490088623, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 25 | A2 -> A10 [color="#181818", fontcolor=black, label="0.800", weight="0.20787059774101727"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph/posterior_rmh_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8287443913959582, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4629955131167667, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 9 | A2 -> A3 [color="#191919", fontcolor=black, label="0.790", weight=0.790322630664512]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3698139866534742, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7122674833168428, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 25 | A2 -> A10 [color="#868686", fontcolor=black, label="0.210", weight=0.20967736933548792]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1010560505227587, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_ic_graph_aggregated_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8303337493796894, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4642669995037516, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.786", weight=0.7856396796354086]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7109138342752788, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 25 | A2 -> A10 [color="#848484", fontcolor=black, label="0.214", weight=0.2143603203645914]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_is_graph_aggregated_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8281335095668623, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4625068076534897, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 9 | A2 -> A3 [color="#191919", fontcolor=black, label="0.792", weight=0.7921294022589828]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3702300581070554, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7127875726338193, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 25 | A2 -> A10 [color="#868686", fontcolor=black, label="0.208", weight=0.20787059774101727]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1000843291013682, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/graph_aggregated/posterior_rmh_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_autocorrelation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_autocorrelation.png -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_gelman_rubin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_gelman_rubin.png -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_log_prob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_false/posterior_rmh_log_prob.png -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/address_dict: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/address_dict -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_ic_rmh_addresses.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_ic_rmh_addresses.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_ic_rmh_addresses.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 30 7 | addresses_controlled: 2 8 | addresses_replaced: 2 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 26 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_is_rmh_addresses.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address 2 | A1__1, 100000, , True, False, False, False, __A1__1 3 | A1__2, 21688, , True, False, False, False, __A1__2 4 | A1__3, 4446, , True, False, False, False, __A1__3 5 | A1__4, 734, , True, False, False, False, __A1__4 6 | A1__5, 128, , True, False, False, False, __A1__5 7 | A1__6, 50, , True, False, False, False, __A1__6 8 | A2__1, 100000, , True, False, False, False, __A2__1 9 | A2__2, 21688, , True, False, False, False, __A2__2 10 | A2__3, 4446, , True, False, False, False, __A2__3 11 | A2__4, 734, , True, False, False, False, __A2__4 12 | A2__5, 128, , True, False, False, False, __A2__5 13 | A2__6, 50, , True, False, False, False, __A2__6 14 | A3__1, 300000, x_accepted, False, False, False, False, __A3__1 15 | A4__1, 300000, y_accepted, False, False, False, False, __A4__1 16 | A5__1, 300000, s_accepted, False, False, False, False, __A5__1 17 | A6__1, 300000, iterations, False, False, False, False, __A6__1 18 | A7__1, 300000, mu, False, False, False, False, __A7__1 19 | A8__1, 300000, obs0, False, False, True, True, __A8__1 20 | A9__1, 300000, obs1, False, False, True, True, __A9__1 21 | A10__1, 63794, x_rejected, False, False, False, False, __A10__1 22 | A10__2, 13598, x_rejected, False, False, False, False, __A10__2 23 | A10__3, 2778, x_rejected, False, False, False, False, __A10__3 24 | A10__4, 586, x_rejected, False, False, False, False, __A10__4 25 | A10__5, 152, x_rejected, False, False, False, False, __A10__5 26 | A11__1, 63794, y_rejected, False, False, False, False, __A11__1 27 | A11__2, 13598, y_rejected, False, False, False, False, __A11__2 28 | A11__3, 2778, y_rejected, False, False, False, False, __A11__3 29 | A11__4, 586, y_rejected, False, False, False, False, __A11__4 30 | A11__5, 152, y_rejected, False, False, False, False, __A11__5 31 | A12__1, 63794, s_rejected, False, False, False, False, __A12__1 32 | A12__2, 13598, s_rejected, False, False, False, False, __A12__2 33 | A12__3, 2778, s_rejected, False, False, False, False, __A12__3 34 | A12__4, 586, s_rejected, False, False, False, False, __A12__4 35 | A12__5, 152, s_rejected, False, False, False, False, __A12__5 36 | A1__replaced, 253878, , True, True, False, False, __A1__replaced 37 | A2__replaced, 253878, , True, True, False, False, __A2__replaced 38 | A10__6, 16, x_rejected, False, False, False, False, __A10__6 39 | A11__6, 16, y_rejected, False, False, False, False, __A11__6 40 | A12__6, 16, s_rejected, False, False, False, False, __A12__6 41 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_is_rmh_addresses.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_is_rmh_addresses.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses/posterior_is_rmh_addresses.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 27 7 | addresses_controlled: 2 8 | addresses_replaced: 2 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 23 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address_base 2 | A1, 328376, , True, False, False, False, __A1 3 | A2, 328376, , True, False, False, False, __A2 4 | A3, 300000, x_accepted, False, False, False, False, __A3 5 | A4, 300000, y_accepted, False, False, False, False, __A4 6 | A5, 300000, s_accepted, False, False, False, False, __A5 7 | A6, 300000, iterations, False, False, False, False, __A6 8 | A7, 300000, mu, False, False, False, False, __A7 9 | A8, 300000, obs0, False, False, True, True, __A8 10 | A9, 300000, obs1, False, False, True, True, __A9 11 | A10, 28376, x_rejected, False, False, False, False, __A10 12 | A11, 28376, y_rejected, False, False, False, False, __A11 13 | A12, 28376, s_rejected, False, False, False, False, __A12 14 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_ic_rmh_addresses_aggregated.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | aggregated address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 12 7 | addresses_controlled: 2 8 | addresses_replaced: 2 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 8 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_is_rmh_addresses_aggregated.csv: -------------------------------------------------------------------------------- 1 | address_id, count, name, controlled, replaced, observable, observed, address_base 2 | A1, 380924, , True, False, False, False, __A1 3 | A2, 380924, , True, False, False, False, __A2 4 | A3, 300000, x_accepted, False, False, False, False, __A3 5 | A4, 300000, y_accepted, False, False, False, False, __A4 6 | A5, 300000, s_accepted, False, False, False, False, __A5 7 | A6, 300000, iterations, False, False, False, False, __A6 8 | A7, 300000, mu, False, False, False, False, __A7 9 | A8, 300000, obs0, False, False, True, True, __A8 10 | A9, 300000, obs1, False, False, True, True, __A9 11 | A10, 80924, x_rejected, False, False, False, False, __A10 12 | A11, 80924, y_rejected, False, False, False, False, __A11 13 | A12, 80924, s_rejected, False, False, False, False, __A12 14 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_is_rmh_addresses_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_is_rmh_addresses_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/addresses_aggregated/posterior_is_rmh_addresses_aggregated.txt: -------------------------------------------------------------------------------- 1 | pyprob diagnostics 2 | aggregated address report 3 | pyprob_version: 0.13.dev1 4 | torch_version: 1.0.0 5 | num_distribution_elements: 100000 6 | addresses: 12 7 | addresses_controlled: 2 8 | addresses_replaced: 2 9 | addresses_observable: 2 10 | addresses_observed: 2 11 | addresses_tagged: 8 12 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.8055984175739699, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.4444787340591758, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 9 | A2 -> A3 [color="#101010", fontcolor=black, label="0.862", weight=0.8615542876084232]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7318976532756347, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 25 | A2 -> A10 [color="#989898", fontcolor=black, label="0.138", weight=0.13844571239157683]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.8615542876084232"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.13844571239157683"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T3.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.039735231617759, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.6317881852942073, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 9 | A2 -> A3 [color="#696969", fontcolor=black, label="0.333", weight="0.8615542876084232"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.2207002027557965, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.5258752534447457, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 25 | A2 -> A10 [color="#2c2c2c", fontcolor=black, label="0.667", weight="0.13844571239157683"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.4311371740145784, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.10205903725815, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.1969912086366534, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.7575929669093227, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.10205903725815, style=filled]; 9 | A2 -> A3 [color="#9b9b9b", fontcolor=black, label="0.125", weight="0.8615542876084232"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.10205903725815, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.10205903725815, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.10205903725815, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.10205903725815, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.10205903725815, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.10205903725815, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3775737965726875, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6699406951598283, style=filled]; 25 | A2 -> A10 [color="#0e0e0e", fontcolor=black, label="0.875", weight="0.13844571239157683"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6699406951598283, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6699406951598283, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T5.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.8615542876084232"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.13844571239157683"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T6.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.1336627775175723, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.7069302220140576, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 9 | A2 -> A3 [color="#888888", fontcolor=black, label="0.200", weight="0.8615542876084232"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1506515920708984, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.438314490088623, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 25 | A2 -> A10 [color="#181818", fontcolor=black, label="0.800", weight="0.13844571239157683"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.5745156662219228, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_ic_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.8303337493796894, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.4642669995037516, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.786", weight=0.7856396796354086]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7109138342752788, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 25 | A2 -> A10 [color="#848484", fontcolor=black, label="0.214", weight=0.2143603203645914]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T6.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=2.16073375738177, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.7285870059054163, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 9 | A2 -> A3 [color="#909090", fontcolor=black, label="0.167", weight="0.7856396796354086"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1300172372233273, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4125215465291592, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 25 | A2 -> A10 [color="#141414", fontcolor=black, label="0.833", weight="0.2143603203645914"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.6154297895654093, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_is_graph_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8298315947276467, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4638652757821173, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.787", weight=0.7871164774961693]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.711341596762899, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 25 | A2 -> A10 [color="#858585", fontcolor=black, label="0.213", weight=0.2128835225038307]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T2.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.947076861610627, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.5576614892885017, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 9 | A2 -> A3 [color="#484848", fontcolor=black, label="0.500", weight="0.7871164774961693"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.287541370108909, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.6094267126361361, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 25 | A2 -> A10 [color="#484848", fontcolor=black, label="0.500", weight="0.2128835225038307"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.287541370108909, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T4.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=2.0959387939213903, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.6767510351371122, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 9 | A2 -> A3 [color="#7c7c7c", fontcolor=black, label="0.250", weight="0.7871164774961693"]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.1790700449926805, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.4738375562408508, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 25 | A2 -> A10 [color="#1f1f1f", fontcolor=black, label="0.750", weight="0.2128835225038307"]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.517195438982708, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight="1.0"]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph/posterior_rmh_graph_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.8055984175739699, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.4444787340591758, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 9 | A2 -> A3 [color="#101010", fontcolor=black, label="0.862", weight=0.8615542876084232]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3855181226205078, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7318976532756347, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 25 | A2 -> A10 [color="#989898", fontcolor=black, label="0.138", weight=0.13844571239157683]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.0641735097246285, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_ic_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 4 | A1 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.8303337493796894, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#adff2f", fontcolor=black, penwidth=1.4642669995037516, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.786", weight=0.7856396796354086]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.368731067420223, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.368731067420223, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.7109138342752788, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 25 | A2 -> A10 [color="#848484", fontcolor=black, label="0.214", weight=0.2143603203645914]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.103583787752438, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_is_graph_aggregated_T7.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated.dot: -------------------------------------------------------------------------------- 1 | digraph G { 2 | rankdir=LR; 3 | START [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 4 | A1 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.8298315947276467, style=filled]; 5 | START -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 6 | A2 [color=black, fillcolor="#fa8072", fontcolor=black, penwidth=1.4638652757821173, style=filled]; 7 | A1 -> A2 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 8 | A3 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 9 | A2 -> A3 [color="#1a1a1a", fontcolor=black, label="0.787", weight=0.7871164774961693]; 10 | A4 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 11 | A3 -> A4 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 12 | A5 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 13 | A4 -> A5 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 14 | A6 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 15 | A5 -> A6 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 16 | A7 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 17 | A6 -> A7 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 18 | A8 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 19 | A7 -> A8 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 20 | A9 [color=black, fillcolor="#1e90ff", fontcolor=black, penwidth=1.3690732774103194, style=filled]; 21 | A8 -> A9 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 22 | END [color=black, fillcolor="#ffffff", fontcolor=black, penwidth=1.711341596762899, style=filled]; 23 | A9 -> END [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 24 | A10 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 25 | A2 -> A10 [color="#858585", fontcolor=black, label="0.213", weight=0.2128835225038307]; 26 | A11 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 27 | A10 -> A11 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 28 | A12 [color=black, fillcolor="#cccccc", fontcolor=black, penwidth=1.1027852215373501, style=filled]; 29 | A11 -> A12 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 30 | A12 -> A1 [color="#000000", fontcolor=black, label="1.000", weight=1.0]; 31 | } 32 | -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T1.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T2.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T3.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T4.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T5.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/graph_aggregated/posterior_rmh_graph_aggregated_T6.pdf -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_autocorrelation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_autocorrelation.png -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_gelman_rubin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_gelman_rubin.png -------------------------------------------------------------------------------- /tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_log_prob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/diagnostics/gum_marsaglia_1M/replace_true/posterior_rmh_log_prob.png -------------------------------------------------------------------------------- /tests/extra/inference_compilation/.gitignore: -------------------------------------------------------------------------------- 1 | /gum_marsaglia 2 | -------------------------------------------------------------------------------- /tests/extra/nn/.gitignore: -------------------------------------------------------------------------------- 1 | /proposal_uniform_truncated_normal_mixture 2 | -------------------------------------------------------------------------------- /tests/extra/nn/proposal_uniform_truncated_normal_mixture_2k/loss.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/nn/proposal_uniform_truncated_normal_mixture_2k/loss.pdf -------------------------------------------------------------------------------- /tests/extra/nn/proposal_uniform_truncated_normal_mixture_2k/result.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/probprog/pyprob/0713ff6d25e5db475a5b97d8d5e87bf70e977599/tests/extra/nn/proposal_uniform_truncated_normal_mixture_2k/result.pdf -------------------------------------------------------------------------------- /tests/run_all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | docker pull pyprob/pyprob_cpp 3 | pytest -n auto -x -rA 4 | -------------------------------------------------------------------------------- /tests/run_basic.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # set -e 3 | # docker pull pyprob/pyprob_cpp 4 | pytest -n auto -x -rA -k "not remote and not inference" --cov=./ --cov-report xml 5 | -------------------------------------------------------------------------------- /tests/test_util.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | 3 | import pyprob 4 | from pyprob import util 5 | 6 | 7 | class UtilTestCase(unittest.TestCase): 8 | def __init__(self, *args, **kwargs): 9 | super().__init__(*args, **kwargs) 10 | 11 | def test_util_random_seed(self): 12 | samples = 10 13 | 14 | stochastic_samples = [] 15 | for i in range(samples): 16 | pyprob.set_random_seed(None) 17 | dist = pyprob.distributions.Normal(0, 1) 18 | sample = dist.sample() 19 | stochastic_samples.append(float(sample)) 20 | 21 | deterministic_samples = [] 22 | for i in range(samples): 23 | pyprob.set_random_seed(123) 24 | dist = pyprob.distributions.Normal(0, 1) 25 | sample = dist.sample() 26 | deterministic_samples.append(float(sample)) 27 | 28 | util.eval_print('samples', 'stochastic_samples', 'deterministic_samples') 29 | self.assertTrue(not all(sample == stochastic_samples[0] for sample in stochastic_samples)) 30 | self.assertTrue(all(sample == deterministic_samples[0] for sample in deterministic_samples)) 31 | 32 | 33 | if __name__ == '__main__': 34 | pyprob.set_random_seed(123) 35 | pyprob.set_verbosity(1) 36 | unittest.main(verbosity=2) 37 | --------------------------------------------------------------------------------