mirror of
https://github.com/ml-explore/mlx.git
synced 2025-07-17 22:51:19 +08:00
30 lines
721 B
C++
30 lines
721 B
C++
// Copyright © 2023 Apple Inc.
|
|
|
|
#pragma once
|
|
|
|
#include "mlx/array.h"
|
|
|
|
namespace mlx::core {
|
|
|
|
struct NodeNamer {
|
|
std::unordered_map<std::uintptr_t, std::string> names;
|
|
|
|
const std::string& get_name(const array& x);
|
|
};
|
|
|
|
void print_graph(std::ostream& os, const std::vector<array>& outputs);
|
|
|
|
template <typename... Arrays>
|
|
void print_graph(std::ostream& os, Arrays... outputs) {
|
|
print_graph(os, std::vector<array>{std::forward<Arrays>(outputs)...});
|
|
}
|
|
|
|
void export_to_dot(std::ostream& os, const std::vector<array>& outputs);
|
|
|
|
template <typename... Arrays>
|
|
void export_to_dot(std::ostream& os, Arrays... outputs) {
|
|
export_to_dot(os, std::vector<array>{std::forward<Arrays>(outputs)...});
|
|
}
|
|
|
|
} // namespace mlx::core
|