LikeReplacement
pass must be run by all transformers.
Nodes
is nowNodeVector
Parameters
is nowParameterVector
NodeVector
,ParameterVector
,AxisVector
,AxisSet
,Shape
,Stride
,Coordinate
, andCoordinateDiff
are now classes, not type aliases.PrimaryTensorView
is nowTensorView
(and will merge intoTensor
)
-
The namespace
ngraph::op
is only for actual ops. Helpers have been moved intongraph::op::util
:BinaryElementwiseArithmetic
BinaryElementwiseComparison
BinaryElementwise
RequiresTensorViewArgs
UnaryElementwiseArithmetic
UnaryElementwise
Ops defined outside of nGraph core will need to get the base class fromngraph::op::util
and change the include file to#include "ngraph/ops/util/requires_tensor_view_args.hpp"
, etc.
See any of the core ops for an example.
-
Backprop ops have been added for convolution ops.
-
The convolution and pooling ops have had several methods/fields renamed, to reflect a shift in terminology from "images" to "data". Generally this just means that you will have to
s/image_batch/data_batch/
ands/image_dilation_strides/data_dilation_strides/
. -
The following functions have been removed:
AvgPool
:get_channel_count get_input_image_physical_shape get_input_image_virtual_shape get_output_image_shape get_batch_size get_image_dimension_count
MaxPool
:get_channel_count get_input_image_shape get_output_image_shape get_batch_size get_image_dimension_count
Convolution
:get_input_channel_count get_output_channel_count get_input_image_physical_shape get_input_image_virtual_shape get_output_image_shape get_window_physical_shape get_window_virtual_shape get_batch_size get_image_dimension_count
All of the above information can be inferred from the shapes and parameters of the op.
-
The
AvgPool
operator has a new attribute governing whether or not padding-region values are considered when computing a given window's average:include_padding_in_avg_computation
. One of the class constructors adds this to the parameter list, and the others use a default value offalse
which matches the old behavior.
Convolution
now allows negative padding. This means that the padding_below
and padding_above
arguments now take type CoordinateDiff
instead of Shape
. CoordinateDiff
is an alias for
std::vector<std::ptrdiff_t>
, which "is like size_t
but is allowed to be negative". Callers may
need to be adapted.
To update, remove the passed argument. For example,
// Old
make_shared<Parameter>(make_shared<descriptor::TensorViewType>(element::f32, Shape{2, 4}));
// New (remove TensorViewType)
make_shared<Parameter>(element::f32, Shape{2, 4});
// Old
make_shared<Function>(results, result_type, parameters);
// New
make_shared<Function>(results, parameters);
The runtime::Tensor methods to get_tensor<> and write(std::vector&) have been removed to the unit test directory under utils/test_tool.hpp read_vector and write_vector.