ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
minmax_embedder_test::H5Writer Class Reference

#include <H5Writer.h>

Public Member Functions

 H5Writer (const ModelSpec &md_spec, const std::string &filepath)
 
void dump ()
 

Detailed Description

Definition at line 42 of file H5Writer.h.

Constructor & Destructor Documentation

◆ H5Writer()

minmax_embedder_test::H5Writer::H5Writer ( const ModelSpec md_spec,
const std::string &  filepath 
)

Definition at line 45 of file H5Writer.cpp.

46 : _md_spec{md_spec}, _filepath{filepath}
47{
48}

Member Function Documentation

◆ dump()

void minmax_embedder_test::H5Writer::dump ( )

Definition at line 50 of file H5Writer.cpp.

51{
52 // NOTE: H5Writer
53 H5::H5File h5file{_filepath, H5F_ACC_CREAT | H5F_ACC_RDWR};
54 auto root_grp = h5file.openGroup("/");
55 ensureGroup(root_grp, h5_value_grpname);
56 auto val_grp = h5file.openGroup(h5_value_grpname);
57 // NOTE: Writer
58 uint32_t num_run = to_u32(val_grp.getNumObjs());
59 auto run_grp = val_grp.createGroup(("run_") + std::to_string(num_run));
60 // Assumption: single subgraph
61 auto model_grp = ensureGroup(run_grp, std::string("model_") + "0");
62 hsize_t dims[] = {2};
63 H5::DataSpace dspace(1, dims); // rank=1, dim(0)=2, {min, max}
64 DataGen gen;
65 // dump input minmax
66 for (uint32_t i = 0; i < _md_spec.n_inputs; ++i)
67 {
68 const auto subg_idx = 0;
69 auto subg_grp = ensureGroup(model_grp, std::string("subg_") + std::to_string(subg_idx).c_str());
70 auto input_dset = subg_grp.createDataSet(std::string("input_") + std::to_string(i),
71 H5::PredType::IEEE_F32BE, dspace);
72 auto minmax = gen(num_run, i);
73 input_dset.write(gen(num_run, i).data(), H5::PredType::NATIVE_FLOAT);
74 }
75 // dump op minmax
76 for (uint32_t op = 0; op < _md_spec.n_ops; ++op)
77 {
78 const auto subg_idx = 0;
79 auto subg_grp = ensureGroup(model_grp, std::string("subg_") + std::to_string(subg_idx).c_str());
80 auto op_dset = subg_grp.createDataSet(std::string("op_") + std::to_string(op),
81 H5::PredType::IEEE_F32BE, dspace);
82 op_dset.write(gen(num_run, op).data(), H5::PredType::NATIVE_FLOAT);
83 }
84}
std::vector< int > dims(const std::string &src)
Definition Utils.h:35
H5::Group ensureGroup(H5::Group parent, const std::string &child)
Definition H5Writer.cpp:30
uint32_t to_u32(uint64_t v)
Definition Cast.h:25

References minmax_embedder_test::ensureGroup(), minmax_embedder_test::ModelSpec::n_inputs, minmax_embedder_test::ModelSpec::n_ops, and minmax_embedder_test::to_u32().

Referenced by entry().


The documentation for this class was generated from the following files: