| 108 | } // tensorflow namespace |
| 109 | |
| 110 | int main (int argc, char** argv) { |
| 111 | if (2 != argc) { |
| 112 | LOG(ERROR) << "Usage: ./ev_ckpt_transformer config.json"; |
| 113 | return -2; |
| 114 | } |
| 115 | std::ifstream f(argv[1]); |
| 116 | Json::Value config; |
| 117 | f >> config; |
| 118 | std::map<std::string, std::string> rename_map; |
| 119 | for (const auto& key : config[kTensorRenameMap].getMemberNames()) { |
| 120 | Json::Value value = config[kTensorRenameMap][key]; |
| 121 | rename_map[key] = value.asString(); |
| 122 | } |
| 123 | tensorflow::EVCkptTransformer transformer(rename_map); |
| 124 | std::string src = config[kCheckpointPathPrefix].asString(); |
| 125 | std::string dst = config[kOutputFile].asString(); |
| 126 | LOG(INFO) << "transforming checkpoint from " << src << " to " << dst << " ..."; |
| 127 | tensorflow::Status s = transformer.Transform(src, dst); |
| 128 | LOG(INFO) << "transform done. " << s.ToString(); |
| 129 | return 0; |
| 130 | } |