Got different value when use from_blob

Test_R is two dimensional float image data loaded from a file
and Tensor_R is the expected torch tensor converted from Test_R using from_blob.
Values is different between Test_R and Tensor_R making me so confused
for (int i=0; i<h; i++) {
for (int j = 0; j < w; j++) {
inputR>>Test_R[i][j] ;
inputG>>Test_G[i][j] ;
inputB>>Test_B[i][j] ;
}
}

auto Tensor_R = torch::from_blob(Test_R,{h,w},torch::kFloat).clone();
torch::Tensor Tensor_R_CUDA = Tensor_R.to(torch::kFloat).to(device);
std::cout<<Test_R[0][4]<<std::endl;
std::cout<<Tensor_R[0][4].item().to()<<std::endl;
std::cout<<Tensor_R_CUDA[0][4]<<std::endl;

the output results:
0.0588
-4.18158e-22
-4.18158e-22
[ CUDAFloatType{} ]

Could someone help?