REGISTER_OP("MatMul") .Input("a: T") .Input("b: T") .Output("product: T") .Attr("transpose_a: bool = false") .Attr("transpose_b: bool = false") .Attr("T: {half, float, double, int32, complex64, complex128}") .SetShapeFn(shape_inference::MatMulShape)
30{
31 auto &operation = (*_operation);
32
34
46 auto flex_buffers = std::make_unique<flexbuffers::Builder>();
47 size_t map_start = flex_buffers->StartMap();
48
49 flex_buffers->Bool("transpose_a", operation.matmul_options().transpose_a());
50 flex_buffers->Bool("transpose_b", operation.matmul_options().transpose_b());
51
52 flex_buffers->Int("T", tflite::TensorType_FLOAT32);
53
54 flex_buffers->EndMap(map_start);
55 flex_buffers->Finish();
56
59}
void check_custom_op_value(const tflchef::Operation &operation, const std::string &op_type)
Offset< Vector< T > > CreateVector(const T *v, size_t len)
Serialize an array into a FlatBuffer vector.
flatbuffers::Offset< flatbuffers::Vector< uint8_t > > circle_custom_options(flatbuffers::FlatBufferBuilder &fb, const luci::CircleNode *node)