[ti-machine-learning/ti-machine-learning.git] / src / app / cnn / scene / appCNNSceneClassifyOpenMP.c
diff --git a/src/app/cnn/scene/appCNNSceneClassifyOpenMP.c b/src/app/cnn/scene/appCNNSceneClassifyOpenMP.c
index cb8923cbffc88bef59ef78ce28c5edcd56f74457..a920b34ab2ec641135021033f0c0a6b0573146e9 100644 (file)
@@ -114,7 +114,7 @@ int appCNNSceneClassifyOpenMP(timlConvNeuralNetwork **cnnTeam, int teamNum, floa
}
}
- #pragma omp parallel num_threads(teamNum) private(threadIndex, m, k, i, j, p)
+ #pragma omp parallel num_threads(teamNum) private(threadIndex, m, k, i, j, p, rowStart, rowEnd, colStart, colEnd)
{
#pragma omp for collapse(2)
@@ -142,10 +142,16 @@ int appCNNSceneClassifyOpenMP(timlConvNeuralNetwork **cnnTeam, int teamNum, floa
}
// cnn Forward Propagation
- err = timlCNNForwardPropagation(cnnTeam[threadIndex], paddedImage + paddedDim*threadIndex, paddedDim);
+ err = timlCNNLoadImage(cnnTeam[threadIndex], paddedImage + paddedDim*threadIndex, paddedRow, paddedCol, channel, 1);
+ err = timlCNNForwardPropagation(cnnTeam[threadIndex]);
// labeling
- appCNNSceneLabelMatrix(cnnTeam[threadIndex]->tail->featureMap, cnnTeam[threadIndex]->tail->row, cnnTeam[threadIndex]->tail->col, cnnTeam[threadIndex]->tail->channel, m, k, labelMatrix, row, col);
+ for (i = 0; i < cnnTeam[threadIndex]->tail->row; i++) {
+ for (j = 0; j < cnnTeam[threadIndex]->tail->col; j++) {
+ labelMatrix[k + resolutionLossCol/2 + j*resolutionLossCol + (m + resolutionLossRow/2 + i*resolutionLossRow)*col] = cnnTeam[threadIndex]->tail->accuracyParams.label[i*cnnTeam[threadIndex]->tail->col + j];
+ }
+ }
+
} // end of k loop
} // end of m loop
} // end of OpenMP