|
|
#include "utils.hpp" |
|
|
#include <iostream> |
|
|
#include <fstream> |
|
|
#include <stdexcept> |
|
|
#include <iomanip> |
|
|
|
|
|
void check_cuda(cudaError_t st, const char* msg) { |
|
|
if (st != cudaSuccess) { |
|
|
std::cerr << "[CUDA ERROR] " << msg << ": " << cudaGetErrorString(st) << "\n"; |
|
|
std::exit(1); |
|
|
} |
|
|
} |
|
|
|
|
|
void write_submission_csv(const std::string& path, |
|
|
const std::vector<std::string>& ids, |
|
|
const std::vector<float>& probabilities) { |
|
|
std::ofstream ofs(path); |
|
|
if (!ofs.is_open()) { |
|
|
throw std::runtime_error("Cannot open submission file: " + path); |
|
|
} |
|
|
ofs << "id,label\n"; |
|
|
ofs << std::fixed << std::setprecision(8); |
|
|
for (size_t i = 0; i < ids.size(); ++i) { |
|
|
ofs << ids[i] << "," << probabilities[i] << "\n"; |
|
|
} |
|
|
ofs.close(); |
|
|
std::cout << "[INFO] Submission saved to: " << path << " (" << ids.size() << " rows)\n"; |
|
|
}
|
|
|
|