cudnn批处理中取出训练成绩

📅 发布时间:2026/7/9 16:32:47 👁️ 浏览次数:
cudnn批处理中取出训练成绩
平时batch1时我们都会cpu训练一次更新一次或测试时情形// Perform classificationstd::vectorfloat class_vec(10);// Copy back resulterror_handling(cudaMemcpy(class_vec[0], d_fc2smax, sizeof(float) * 10, cudaMemcpyDeviceToHost));// Determine classification according to maximal responseint chosen 0;for (int id 1; id 10; id){if (class_vec[chosen] class_vec[id]) chosen id;}// if (chosen ! test_labels[i])// (float) Datasets.labels[i]if (chosen ! DatasetsTest.labels[i])num_errors;batch很大时特别是用cudnn训练我们希望跑一轮看一次成绩std::vectorfloat class_vec(10 * m_batchSize);error_handling(cudaMemcpy(class_vec[0], d_fc2smax, sizeof(float) * 10 * m_batchSize, cudaMemcpyDeviceToHost));for (int b 0; b m_batchSize; b){int chosen 0;for (int id 1; id 10; id){if (class_vec[chosen b * 10] class_vec[id b * 10]) chosen id;}if (chosen ! Datasets.labels[iter* m_batchSize b])num_errorsTRain;}这都是小经验做个记录