/** * Copyright (c) 2023 by Contributors * @file graphbolt/src/serialize.cc * @brief Source file of serialize. */ #include #include namespace torch { serialize::InputArchive& operator>>( serialize::InputArchive& archive, graphbolt::sampling::CSCSamplingGraph& graph) { graph.Load(archive); return archive; } serialize::OutputArchive& operator<<( serialize::OutputArchive& archive, const graphbolt::sampling::CSCSamplingGraph& graph) { graph.Save(archive); return archive; } } // namespace torch namespace graphbolt { c10::intrusive_ptr LoadCSCSamplingGraph( const std::string& filename) { auto&& graph = c10::make_intrusive(); torch::load(*graph, filename); return graph; } void SaveCSCSamplingGraph( c10::intrusive_ptr graph, const std::string& filename) { torch::save(*graph, filename); } torch::IValue read_from_archive( torch::serialize::InputArchive& archive, const std::string& key) { torch::IValue data; archive.read(key, data); return data; } } // namespace graphbolt