This adds Type and Shape inference for FilterDecode.
Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
return loco::NodeShape{node->encoder()->shape(input_node_shape.as<loco::TensorShape>())};
}
+ // CASE: FilterDecode
+ loco::NodeShape visit(const loco::FilterDecode *node) final
+ {
+ auto input_filter_shape = node_shape(node->input()).as<loco::FilterShape>();
+ return loco::NodeShape{node->decoder()->shape(input_filter_shape)};
+ }
+
// CASE: FilterEncode
loco::NodeShape visit(const loco::FilterEncode *node) final
{
loco::DataType visit(const loco::FeatureBiasAdd *node) { return loco::dtype_get(node->value()); }
loco::DataType visit(const loco::FeatureDecode *node) { return loco::dtype_get(node->input()); }
loco::DataType visit(const loco::FeatureEncode *node) { return loco::dtype_get(node->input()); }
+ loco::DataType visit(const loco::FilterDecode *node) { return loco::dtype_get(node->input()); }
loco::DataType visit(const loco::FilterEncode *node) { return loco::dtype_get(node->input()); }
loco::DataType visit(const loco::FixedReshape *node) { return loco::dtype_get(node->input()); }
loco::DataType visit(const loco::MatrixDecode *node) { return loco::dtype_get(node->input()); }