In line 116, it is:
Dtype data = output_grid.mutable_cpu_data();
for(int i=0; i< outputH outputW; ++i) {
data[3 i] = (i / outputW) 1.0 / outputH 2 - 1;
data[3 i + 1] = (i % outputW) 1.0 / outputW 2 - 1;
data[3 i + 2] = 1;
}
But I think it may should be:
Dtype data = output_grid.mutable_cpu_data();
for(int i=0; i< outputH outputW; ++i) {
data[3 i] = (i % outputW) 1.0 / (outputW-1) 2 - 1;
data[3 i + 1] = (i / outputW) 1.0 / (outputH-1) 2 - 1;
data[3 i + 2] = 1;
}
It should be (x, y, 1) instead of (y, x, 1), and -1 makes the (1, 1, 1) possible.
In line 116, it is: Dtype data = output_grid.mutable_cpu_data(); for(int i=0; i< outputH outputW; ++i) { data[3 i] = (i / outputW) 1.0 / outputH 2 - 1; data[3 i + 1] = (i % outputW) 1.0 / outputW 2 - 1; data[3 i + 2] = 1; } But I think it may should be: Dtype data = output_grid.mutable_cpu_data(); for(int i=0; i< outputH outputW; ++i) {
data[3 i] = (i % outputW) 1.0 / (outputW-1) 2 - 1; data[3 i + 1] = (i / outputW) 1.0 / (outputH-1) 2 - 1; data[3 i + 2] = 1; } It should be (x, y, 1) instead of (y, x, 1), and -1 makes the (1, 1, 1) possible.