Skip to content

0.6.11

Latest

Choose a tag to compare

@arcondello arcondello released this 15 Jan 21:31
· 17 commits to main since this release
b034167

New Features

  • Add Tanh symbol to support hyperbolic tangent. See #445.
  • Add C++ TanhNode to support hyperbolic tangent.
  • Add Python broadcast_shapes() function.
  • Add subtract() function.
  • Add equal() function.
  • Add less_equal() function.
  • Automatically broadcast when using binary operators with array
    symbols.
  • Add dwave.optimization.typing module.
  • Allow array symbols to have a state-dependent shape while not having
    a state-dependent size. For example, an array with shape (n, 0)
    will always have a size of 0, but the shape is state-dependent.
    Arrays with a state-dependent size always have a state-depenent
    shape.
  • Add C++ is_contiguous() function.
  • Add predict() function to dwave.optimization.generators. The
    predict() function accepts a fitted
    sklearn.neural_network.MLPCLassifier or
    sklearn.neural_network.MLPRegressor and a symbol representing X,
    and returns a symbol encoding the prediction of the estimator.

Upgrade Notes

  • Rename C++ broadcast_shape() to broadcast_shapes() for
    consistency with NumPy.
  • Change the definition of ArrayNode::dynamic() to return true if
    ArrayNode::shape()[0] < 0. That is, if the shape is
    state-dependent. Previously ArrayNode::dynamic() returned true if
    the size was state-dependent.
  • Remove C++ Array::is_contiguous() protected method.

Bug Fixes

  • Disallow broadcasting a fixed size array to a dynamic shape with
    BroadcastTo symbol.
  • Support broadcasting arrays to a shape with a 0 in one or more
    dimensions with the BroadcastTo symbol.
  • Fix reductions over empty dynamic arrays.
  • Fix basic indexing that results in empty dynamic arrays.
  • Fix BroadcastToNode::contiguous() method, previously it would
    always report that the node was not contiguous.
  • Provide a meaningful error message when attempting to make a dynamic
    ConstantNode at the C++ level.
  • Provide a meaningful error message when attempting to make a dynamic
    NumberNode at the C++ level.