diff --git a/src/Builder/FrontendDialectTransformer.cpp b/src/Builder/FrontendDialectTransformer.cpp index 21c66a0..6396f9c 100644 --- a/src/Builder/FrontendDialectTransformer.cpp +++ b/src/Builder/FrontendDialectTransformer.cpp @@ -309,7 +309,13 @@ private: int expectedNumOperands = T::getNumberOfOperands(); int expectedNumResults = T::getNumberOfResults(); for (const auto &item : node.input()) - if (initializedTensors.ContainKey(legalize_name(item))) { + if (item.empty()) { + // Optional inputs using empty string will be imported as NoneType. + if (!none_) + none_ = builder_.create( + UnknownLoc(), builder_.getUnitAttr()); + inputs.emplace_back(none_); + } else if (initializedTensors.ContainKey(legalize_name(item))) { inputs.push_back(initializedTensors.EmitInitializerForInputTensor( UnknownLoc(), builder_, legalize_name(item))); } else if (frontend_symbols_.ContainKey(legalize_name(item))) {