diff --git a/onnxruntime/core/providers/vitisai/imp/global_api.cc b/onnxruntime/core/providers/vitisai/imp/global_api.cc index 1a3cc5979f..8c1dce0d3d 100644 --- a/onnxruntime/core/providers/vitisai/imp/global_api.cc +++ b/onnxruntime/core/providers/vitisai/imp/global_api.cc @@ -126,7 +126,7 @@ static std::string config_to_json_str(const onnxruntime::ProviderOptions& config vaip_core::DllSafe>> compile_onnx_model( const onnxruntime::GraphViewer& graph_viewer, const logging::Logger& logger, const ProviderOptions& options) { - auto model_path = PathToUTF8String(ToPathString(graph_viewer.ModelPath().string())); + auto model_path = graph_viewer.ModelPath().string(); if (s_library_vitisaiep.compile_onnx_model_with_options) { return vaip_core::DllSafe(s_library_vitisaiep.compile_onnx_model_with_options(model_path, graph_viewer.GetGraph(), options)); } else { @@ -227,9 +227,9 @@ vaip_core::OrtApiForVaip* create_org_api_hook() { auto& logger = logging::LoggingManager::DefaultLogger(); auto& model = const_cast(const_model); auto model_proto = model.ToProto(); - auto file_path = ToPathString(model.MainGraph().ModelPath().string()); + auto file_path = model.MainGraph().ModelPath(); auto local_registries = IOnnxRuntimeOpSchemaRegistryList{model.MainGraph().GetSchemaRegistry()}; - auto ret = Model::Create(std::move(*model_proto), file_path, &local_registries, logger); + auto ret = Model::Create(std::move(*model_proto), ToPathString(file_path), &local_registries, logger); auto status = ret->MainGraph().Resolve(); vai_assert(status.IsOK(), status.ErrorMessage()); return ret.release(); diff --git a/onnxruntime/core/providers/vitisai/imp/graph.cc b/onnxruntime/core/providers/vitisai/imp/graph.cc index 40b396fda6..3f46fbde8c 100644 --- a/onnxruntime/core/providers/vitisai/imp/graph.cc +++ b/onnxruntime/core/providers/vitisai/imp/graph.cc @@ -107,12 +107,11 @@ void graph_save(const Graph& graph, const std::string& filename, const std::stri auto graph_proto_subgraph = graph.ToGraphProto(); *model_proto->mutable_graph() = *graph_proto_subgraph; auto& logger = logging::LoggingManager::DefaultLogger(); - auto filename_data_relative_path = std::filesystem::path(); auto model = Model::Create(std::move(*model_proto), ToPathString(filename), nullptr, logger); if (initializer_size_threshold == std::numeric_limits::max()) { model_proto = model->ToProto(); } else { - model_proto = model->ToGraphProtoWithExternalInitializers(filename_dat, graph.ModelPath(), initializer_size_threshold); + model_proto = model->ToGraphProtoWithExternalInitializers(ToPathString(filename_dat), ToPathString(filename), initializer_size_threshold); } auto& metadata = model->MetaData(); if (!metadata.empty()) { @@ -124,7 +123,7 @@ void graph_save(const Graph& graph, const std::string& filename, const std::stri *prop->mutable_value() = m.second; } } - std::fstream output(filename, std::ios::out | std::ios::trunc | std::ios::binary); + std::fstream output(ToPathString(filename), std::ios::out | std::ios::trunc | std::ios::binary); bool result = model_proto->SerializeToOstream(output); output << std::flush; vai_assert(result, "model serialize to ostream error");