| 22 | namespace singa { |
| 23 | |
| 24 | std::string CSVEncoder::Encode(vector<Tensor>& data) { |
| 25 | CHECK_GE(data.size(), 1u); |
| 26 | size_t size = data[0].Size(); |
| 27 | const float* value = data[0].data<float>(); |
| 28 | std::string des = ""; |
| 29 | if (data.size() == 2) { |
| 30 | const float label = (const float)data[1].data<int>()[0]; |
| 31 | std::ostringstream buff; |
| 32 | buff << label; |
| 33 | des += buff.str() + ','; |
| 34 | } |
| 35 | for (size_t i = 0; i < size; i++) { |
| 36 | std::ostringstream buff; |
| 37 | buff << value[i]; |
| 38 | if (i == size - 1) des += buff.str(); |
| 39 | else des += buff.str() + ','; |
| 40 | } |
| 41 | return des; |
| 42 | } |
| 43 | } // namespace singa |