private Vertex checkTargetsAreValid(Vertex idTarget, Vertex labelTarget, KeanuSavedBayesNet.StoredValue storedValue) { Vertex targetVertex; if (idTarget != null && labelTarget != null) { if (idTarget != labelTarget) { throw new IllegalArgumentException("Label and VertexID don't refer to same Vertex: (" + storedValue.getVertexLabel() + ") (" + storedValue.getId().toString() + ")"); } else { targetVertex = idTarget; } } else if (idTarget == null && labelTarget == null) { throw new IllegalArgumentException("Value specified for unknown Vertex: (" + storedValue.getVertexLabel() + ") (" + storedValue.getId() + ")"); } else { targetVertex = (idTarget != null) ? idTarget : labelTarget; } return targetVertex; }
@Override public void loadValue(IntegerVertex vertex) { KeanuSavedBayesNet.StoredValue valueInformation = savedValues.get(vertex); KeanuSavedBayesNet.VertexValue value = valueInformation.getValue(); IntegerTensor tensor = extractIntValue(value); setOrObserveValue(vertex, tensor, valueInformation.getIsObserved()); }
KeanuSavedBayesNet.StoredValue gaussianValue = KeanuSavedBayesNet.StoredValue.newBuilder() .setVertexLabel(labelForValue) .setId(KeanuSavedBayesNet.VertexID.newBuilder().setId(idForValue))
.build(); KeanuSavedBayesNet.StoredValue constantValue = KeanuSavedBayesNet.StoredValue.newBuilder() .setId(KeanuSavedBayesNet.VertexID.newBuilder().setId("1")) .setValue(KeanuSavedBayesNet.VertexValue.newBuilder()
private Vertex getTargetByLabel(KeanuSavedBayesNet.StoredValue storedValue, Map<KeanuSavedBayesNet.VertexID, Vertex> instantiatedVertices, BayesianNetwork bayesNet) { if (!storedValue.getVertexLabel().isEmpty()) { return bayesNet.getVertexByLabel(new VertexLabel(storedValue.getVertexLabel())); } else { return null; } }
@Override public void loadValue(DoubleVertex vertex) { KeanuSavedBayesNet.StoredValue valueInformation = savedValues.get(vertex); KeanuSavedBayesNet.VertexValue value = valueInformation.getValue(); DoubleTensor tensor = extractDoubleValue(value); setOrObserveValue(vertex, tensor, valueInformation.getIsObserved()); }
private KeanuSavedBayesNet.StoredValue getStoredValue(Vertex vertex, KeanuSavedBayesNet.VertexValue value) { return KeanuSavedBayesNet.StoredValue.newBuilder() .setId(KeanuSavedBayesNet.VertexID.newBuilder().setId(vertex.getId().toString()).build()) .setValue(value) .setIsObserved(vertex.isObserved()) .build(); } }
@Override public void loadValue(BooleanVertex vertex) { KeanuSavedBayesNet.StoredValue valueInformation = savedValues.get(vertex); KeanuSavedBayesNet.VertexValue value = valueInformation.getValue(); BooleanTensor tensor = extractBoolValue(value); setOrObserveValue(vertex, tensor, valueInformation.getIsObserved()); }