// Copyright (c) ONNX Project Contributors // // SPDX-License-Identifier: Apache-2.0 // Adapter for Cast in default domain from version 9 to 8 #pragma once #include #include "onnx/version_converter/adapters/adapter.h" namespace ONNX_NAMESPACE::version_conversion { class Cast_9_8 final : public Adapter { public: explicit Cast_9_8() : Adapter("Cast", OpSetID(9), OpSetID(8)) {} void adapt_cast_9_8(const std::shared_ptr& /*unused*/, Node* node) const { ONNX_ASSERTM(node->inputs().size() >= 1, "Cast node must have at least 1 input") if (node->inputs()[0]->elemType() == TensorProto_DataType_STRING || node->i(kto) == TensorProto_DataType_STRING) ONNX_ASSERTM(false, "Casting From/To STRING data type is not supported") } Node* adapt(std::shared_ptr graph, Node* node) const override { adapt_cast_9_8(graph, node); return node; } }; } // namespace ONNX_NAMESPACE::version_conversion