Program Listing for File format.h

Return to documentation for file (include/converter/include/mindapi/base/format.h)

#ifndef MINDSPORE_CORE_MINDAPI_BASE_FORMAT_H_
#define MINDSPORE_CORE_MINDAPI_BASE_FORMAT_H_

#include <cstdint>
#include <map>
#include <vector>
#include <string>

namespace mindspore {
enum class Format : int64_t {
  DEFAULT_FORMAT = -1,
  NCHW = 0,
  NHWC = 1,
  NHWC4 = 2,
  HWKC = 3,
  HWCK = 4,
  KCHW = 5,
  CKHW = 6,
  KHWC = 7,
  CHWK = 8,
  HW = 9,
  HW4 = 10,
  NC = 11,
  NC4 = 12,
  NC4HW4 = 13,
  NUM_OF_FORMAT = 14,
  NCDHW = 15,
  NWC = 16,
  NCW = 17,
  NDHWC = 18,
  NC8HW8 = 19
};

inline std::string FormatEnumToString(mindspore::Format format) {
  static std::vector<std::string> names = {
    "NCHW", "NHWC", "NHWC4", "HWKC", "HWCK",   "KCHW",          "CKHW",  "KHWC", "CHWK",
    "HW",   "HW4",  "NC",    "NC4",  "NC4HW4", "NUM_OF_FORMAT", "NCDHW", "NWC",  "NCW",
  };
  if (format == mindspore::Format::DEFAULT_FORMAT) {
    return "DefaultFormat";
  }
  if (format < mindspore::NCHW || format > mindspore::NCW) {
    return "";
  }
  return names[format];
}
}  // namespace mindspore
#endif  // MINDSPORE_CORE_MINDAPI_BASE_FORMAT_H_