mseGPU function
GPUTensor<Scalar>
mseGPU(
- GPUTensor<
Vector> predictions, - GPUTensor<
Vector> targets, - CommandBuffer tape
Implementation
GPUTensor<Scalar> mseGPU(GPUTensor<Vector> predictions, GPUTensor<Vector> targets, CommandBuffer tape) {
GPUTensor<Scalar> out = GPUTensor<Scalar>(0.0);
tape.putInt(OP_MSE_LOSS_FORWARD);
tape.putString(predictions.id);
tape.putString(targets.id);
tape.putString(out.id);
out.creator = GPUNode(
[predictions, targets],
(CommandBuffer bTape) {
bTape.putInt(OP_MSE_LOSS_BACKWARD);
// CORRECT ORDER:
bTape.putString('${out.id}_grad'); // 1. gradOut
bTape.putString(predictions.id); // 2. namePred
bTape.putString(targets.id); // 3. nameTarget
bTape.putString('${predictions.id}_grad'); // 4. gradIn
},
opName: 'mseGPU',
cost: 3 * predictions.shape[0],
);
return out;
}