10 #include <boost/numeric/conversion/cast.hpp> 22 const std::string& layerName,
23 unsigned int slotIndex)
29 std::vector<unsigned int> strides(numDims, 0);
30 strides[numDims - 1] = inputShape[numDims - 1];
32 for (
unsigned int i = 2; i <= numDims; i++)
34 strides[numDims - i] = strides[numDims - i + 1] * inputShape[numDims - i];
38 std::cout <<
"\"layerGuid\": " << guid <<
", ";
39 std::cout <<
"\"layerName\": \"" << layerName <<
"\", ";
40 std::cout <<
"\"outputSlot\": " << slotIndex <<
", ";
41 std::cout <<
"\"shape\": ";
44 for (
unsigned int i = 0; i < numDims; i++)
46 std::cout << inputShape[i];
54 std::cout <<
"\"min\": " 55 << boost::numeric_cast<
float>(*std::min_element(inputData, inputData + numElements)) <<
", ";
57 std::cout <<
"\"max\": " 58 << boost::numeric_cast<
float>(*std::max_element(inputData, inputData + numElements)) <<
", ";
60 std::cout <<
"\"data\": ";
62 for (
unsigned int i = 0; i < numElements; i++)
64 for (
unsigned int j = 0; j < numDims; j++)
66 if (i % strides[j] == 0)
72 std::cout << boost::numeric_cast<float>(inputData[i]);
74 for (
unsigned int j = 0; j < numDims; j++)
76 if ((i+1) % strides[j] == 0)
82 if (i != numElements - 1)
88 std::cout <<
" }" << std::endl;
92 const Half* inputData,
94 const std::string& layerName,
95 unsigned int slotIndex);
98 const float* inputData,
100 const std::string& layerName,
101 unsigned int slotIndex);
104 const uint8_t* inputData,
106 const std::string& layerName,
107 unsigned int slotIndex);
110 const int8_t* inputData,
112 const std::string& layerName,
113 unsigned int slotIndex);
116 const int16_t* inputData,
118 const std::string& layerName,
119 unsigned int slotIndex);
122 const int32_t* inputData,
124 const std::string& layerName,
125 unsigned int slotIndex);
void Debug(const TensorInfo &inputInfo, const T *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
unsigned int GetNumDimensions() const
template void Debug< int16_t >(const TensorInfo &inputInfo, const int16_t *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
template void Debug< int32_t >(const TensorInfo &inputInfo, const int32_t *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
template void Debug< float >(const TensorInfo &inputInfo, const float *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
unsigned int GetNumElements() const
template void Debug< uint8_t >(const TensorInfo &inputInfo, const uint8_t *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
template void Debug< Half >(const TensorInfo &inputInfo, const Half *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)
const TensorShape & GetShape() const
template void Debug< int8_t >(const TensorInfo &inputInfo, const int8_t *inputData, LayerGuid guid, const std::string &layerName, unsigned int slotIndex)