Releases: FraunhoferIKS/parcs
Releases · FraunhoferIKS/parcs
v1.0.0
V-1.0.0 changelog
V1.0.0 introduces a new structure in PARCS, where declaration and randomization of the DAGs can be done easier and more effectively.
New Structure
- Description objects:
pyparcs.Description
class handles the functionalities about declaring and randomization of DAGs. Parameter and connection randomization functions are now methods ofDescription
. Thepyparcs.RandomDescription
presents the graph randomization. - Guideline objects:
pyparcs.Guideline
andpyparcs.GuidelineIterator
handle the functionalities about providing randomization guidelines. - Graph objects:
pyparcs.Graph
object now receives description objects as input (instead of node/edge). It throws an error if the description is still partially specified.
Improvements
- Reading outline information: the
Description.outline
attribute can be called at any time (before or after randomization) to return the updated outline information. - Randomization tags: by assigning tags to outline lines, we can mark the nodes and edges for selective randomization. This way, a partially-specified outline can be randomized using more than one guideline.
- Randomizing coefficients: randomizing single coefficients (e.g.
mu_=2X-?Y
) is now possible. - infer edges: trivial edges can be inferred, based on the name of the parent nodes which appear in child node lines.
- faster sampling: sampling procedures is in the order of x100 faster after code optimization.
Documentation
API and diagrams are added to the documentation, for better understanding of the PARCS mechanics.
PARCS v0.2.0
Features
- Temporal Causal DAGs: Defined by their unique description file (via
pyparcs.graph_builder.temporal_parsers
) - Visualization: Via the Graphviz library, the
Graph.visualize()
method returns a static visualization.
Improvements
- Custom path for determinist nodes: The custom Python file for determinist nodes doesn't need to be in the same folder as the main script
- description dictionaries: We can pass the descriptions as dictionaries rather than yml files
- No unnecessary burn-out: Graphs without correction elements won't run a burn-out phase
- Informative error message in description: wrong parameterizing of the distributions now throws an informative error message
Bug fixes
- Invalid parents for
.do()
Now choosing the descendant nodes of a node for functional intervention throws an informative error
PARCS 0.1.3
We are happy to release PARCS version 0.1.3. Here is a short changelog:
- in term parser for node names that are identical up to a character, e.g.:
Z_1
,Z_11
(pyparcs.graph_builder.parsers.term_parser
) - in deterministic nodes; graph object was raising fatal errors in the way it read det nodes (
pyparcs.cdag.graph_objects.Graph
) - in assertion of the uniform distribution to check for "no correction" (
pyparcs.cdag.output_distributions.UniformDistribution
)
Please refer to the package docs for further information
PARCS 0.1.1
We are happy to release the first version of PARCS. This version is meant to initiate the archival repository for the package.
Please refer to the package docs for further information