class LogisticVertex extends VertexImpl<DoubleTensor, DoubleVertex> implements DoubleVertex, Differentiable, ProbabilisticDouble, SamplableWithManyScalars<DoubleTensor>, LogProbGraphSupplier {

    @Override
    public LogProbGraph logProbGraph() {
        final DoublePlaceholderVertex xPlaceholder = new DoublePlaceholderVertex(this.getShape());
        final DoublePlaceholderVertex muPlaceholder = new DoublePlaceholderVertex(mu.getShape());
        final DoublePlaceholderVertex sPlaceholder = new DoublePlaceholderVertex(s.getShape());

        return LogProbGraph.builder()
            .input(this, xPlaceholder)
            .input(mu, muPlaceholder)
            .input(s, sPlaceholder)
            .logProbOutput(Logistic.logProbOutput(xPlaceholder, muPlaceholder, sPlaceholder))
            .build();
    }

    public  LogisticVertex(@LoadShape long[] tensorShape,
                          @LoadVertexParam(MU_NAME) Vertex<DoubleTensor, ?> mu,
                          @LoadVertexParam(S_NAME) Vertex<DoubleTensor, ?> s);
    @ExportVertexToPythonBindings public  LogisticVertex(Vertex<DoubleTensor, ?> mu, Vertex<DoubleTensor, ?> s);
    public  LogisticVertex(Vertex<DoubleTensor, ?> mu, double s);
    public  LogisticVertex(double mu, Vertex<DoubleTensor, ?> s);
    public  LogisticVertex(double mu, double s);

}