当前位置:   article > 正文

学习日记【Eigen】:初遇Tensor_eigen tensor gpu

eigen tensor gpu

1.Eigen普通支持Matrix为二维矩阵,三维矩阵,或者更高维的,叫Tensor

2.对于深度学习训练还是想使用tensorflow

3.多维的Tensor矩阵操作起来还是很不方便,至少现在不太清楚是怎么操作的

4.在处理Tensor.mean时,数据过多且tensor为int类型时,可能存在总和越界,求出来为负值情况,而且只有tensor数据类型为double时,与opencv结果保持一致

学习过程中的部分测试代码:

  1. #include "color.h"
  2. void main()
  3. {
  4. std::string image_path = "test_image/temp.bmp";
  5. Color* color = Color::Init();
  6. cv::Mat image;
  7. color->readImage(image_path, image);
  8. //image.convertTo(image, CV_32F,1.0/255.0);
  9. //cv::resize(image, image, cv::Size(0, 0), 0.5, 0.5);
  10. cv::cvtColor(image, image, cv::COLOR_BGR2RGB);
  11. Eigen::Tensor<double, 3> m_image(image.rows,image.cols,image.channels());
  12. cv::cv2eigen(image, m_image);
  13. // 对每个维度求均值
  14. //Eigen::Tensor<int, 0> mean_0 = m_image.mean(0);
  15. //Eigen::Tensor<int, 0> mean_1 = m_image.mean(1);
  16. //Eigen::Tensor<int, 0> mean_2 = m_image.mean(2);
  17. //std::cout << m_image << std::endl;
  18. std::cout << "mean 0: " << m_image.mean() << std::endl;
  19. //std::cout << "mean 1: " << mean_1(0) << std::endl;
  20. //std::cout << "mean 2: " << mean_2(0) << std::endl;
  21. std::cout << cv::mean(image) << std::endl;
  22. std::cout << (cv::mean(image)[0] + cv::mean(image)[1] + cv::mean(image)[2])/3.0 << std::endl;
  23. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/79238
推荐阅读
相关标签
  

闽ICP备14008679号