首页 文章
  • 2 votes
     answers
     views

    特征表达式调试

    我正在调试一个使用Eigen库进行数学运算的函数,并且在不同的平台上得到不同的结果 . 我没有看到任何明显的错误,但我真的不熟悉图书馆 . 我已将局部变量拉出到一个简单的测试应用程序中 . hitRight在Mac和Windows上结束,但在Linux上则不然 . 在调试时我发现将.eval()放在“auto rightDistance”行的末尾可以解决问题,但我真的很想理解为什么 . #inc...
  • 0 votes
     answers
     views

    在tensorflow c api中,如何从张量中保存图片或数组

    我正在尝试使用tf 1.5.0 c api运行已保存的图像分割模型 . 我的模型得到一个大小为1 * 256 * 256 * 3的输入图像,并提供给这样的张量: for (int x = 0; x < 256; x++) { for (int y = 0; y <256; y++) { data_(0, x, y, 0) = (float) im...
  • 1 votes
     answers
     views

    使用特征向量化表达式

    在我的程序中 - 使用特征库 - 我需要在2D矢量上操作 . 在我的内循环中,我有以下功能: static inline double eval(double x, double y, double xi, double yi) { const double invlen2 = 1/(x*x + y*y); const double invlen4 = invlen2*invle...
  • 2 votes
     answers
     views

    在Objective-C(而不是iPhone)中编译Eigen的问题

    我正在尝试在Objective-C XCode项目(对于Mac OSX)中编译Eigen 3库,它输出超过200个错误,就像它是链接器错误一样 . 我在下面放了一张图片来显示第一个错误输出 . 我的项目是使用Objective-C和C(实际上是Bullet Physics实现)所以我 使用.mm扩展名重命名我的所有文件, 检查项目设置中的"Compile as Objective...
  • 1 votes
     answers
     views

    使用具有自定义标量类型的Eigen :: Geometry模块

    我想在我目前正在研究的几何项目中使用Eigen进行线性代数 . 这是一个相对较小且易于使用且非常受欢迎的优秀图书馆 . 但是,我还想使用自定义的“Double”类来比较计算机精度中的两个浮点值(类似于两者之间的差异必须小于给定的精度) . 对于我的自定义类型,我实现了大多数std :: math c 11函数和所有运算符(包括一元 - ,conj,imag,abs2 ......) . 我做了这些...
  • 1 votes
     answers
     views

    如何在Workbench3.0(vxworks 6.6 IDE)下使用Eigen库修复错误的堆栈对齐

    我在 Workbench3.0 (vxworks 6.6) 下使用 Eigen(3.2.0) 库 . 此发行版中的编译器是 GCC version 4.1.2 . 语言: c++ ;操作系统: winXP 问题代码如下: Eigen::Matrix3d mOrigin; /* initial mOrigin */ ... Eigen::Quaterniond qOrigin(mOrigin); ...
  • 2 votes
     answers
     views

    断言失败特征调试模式

    我突然意识到在使用调试模式(-g3 -DDEBUG)编译我的程序(使用Eigen)时,我得到运行时断言错误 Assertion failed: (v == T(Value)), function variable_if_dynamic, file /Users/vlad/eigen_3.2.2/Eigen/src/Core/util/XprHelper.h, line 53 我无法弄清楚这究竟发...
  • -1 votes
     answers
     views

    什么是表达的特征变换及其运算

    我一直在阅读Eigen doc和一些关于Eigen的互联网文章 . 我找到了“表达的特征转换”这个术语 . 我不明白这意味着什么 . 我在doc中找到了几何模块中的空间转换,但我认为空间和表达式转换并不相似 . 如果有人能够根据Eigen指出什么是表达式的变换,那将是很好的 . 他们执行哪种转换,是否有某种明确的转换列表,或者它们是在代表操作数/运算符的类中进行硬编码的?
  • 5 votes
     answers
     views

    写新的特征表达式

    我正在尝试按照最新文档https://eigen.tuxfamily.org/dox-devel/TopicNewExpressionType.html编写新的Eigen表达式 . 基本上,我想要的是重塑功能的一部分,在Eigen中仍然不存在 . 所以chop_expr(这里的特征向量表达式)应该将输入向量重塑为n次矩阵 . 不幸的是,我实现的不适用于在堆上分配的表达式,例如下面的代码不起作用,但...
  • 1 votes
     answers
     views

    特征:用Eigen内在函数简化表达式

    我正在尝试使用向量中的相应值来缩放矩阵中的所有列 . 如果此值为0,我想用一个由常量缩放的其他矩阵中的列替换该列 . 听起来很复杂,但在Matlab中它非常简单(但可能没有完全优化): a(:,b ~= 0) = a(:,b ~= 0)./b(b ~= 0); a(:,b == 0) = c(:,b == 0)*x; 使用C中的 for loop 执行此操作也非常简单: RowVectorXf ...
  • 2 votes
     answers
     views

    来自源的Tensorflow构建不会更快进行再培训?

    我在2015年初的可爱MBP上运行Tensorflow,仅限CPU . 我决定使用Bazel构建一个Tensorflow版本,以加快速度:SSE4.1,SSE4.2,AVX,AVX2和FMA . bazel build --copt=-march=native //tensorflow/tools/pip_package:build_pip_package 但是使用新安装重新启动Inceptio...
  • 0 votes
     answers
     views

    tensorflow源文件夹里面的bazel-tensorflow是什么?

    构建tensorflow后,它会生成一些以bazel- *开头的文件夹 . 这些文件夹只是我Mac上/ private / var / tmp下其他文件夹的软链接 . 现在我想更改Eigen CXX11库中的一些代码,我只能在bazel-tensorflow / external下找到它们 . 我的猜测是这些源文件是在运行时生成的 . 那么在哪里我可以找到Eigen的原始来源并修改它们?
  • 1 votes
     answers
     views

    特征 - 将每个(稀疏)矩阵行除以其对应的对角线元素

    在C中使用特征库,给定稀疏矩阵 A ,计算稀疏矩阵 B 的最有效方法(行方式操作?如何?)是什么 B(i, j) = A(i, j) / A(i, i) ?也就是说,将每一行 i 除以对应的对角元素 A(i, i) . 了解如何在原地(替换 A 中的条目)和不合适(创建新的稀疏矩阵 B )这样做会很有帮助 . 我的稀疏矩阵定义为: typedef double Real; typedef Eig...
  • 1 votes
     answers
     views

    Bazel崩溃编译张量流

    我对张量流和包含的特征库进行了一些自定义 . 编译时,我得到这个(和其他类似的)错误: 错误:/ home / retisexp / tensorflow / tensorflow / python / BUILD:1285:1:执行genrule // tensorflow / python:audio_ops_pygenrule失败(分段错误):bash失败:错误执行命令/ bin / ba...
  • 3 votes
     answers
     views

    在OPENMP中并行化矩阵向量的添加

    我有一个STL Vector包含一些像这样的矩阵 std :: vector foovec; 此向量中有大约3000个条目,我想要将它们相加并形成一个新的Eigen :: Matrix . 这样做的天真C代码是: for(int i = 0; i <foovec.size();i++) { result += foovec[i]; } 但是,我想使用OPENMP并行化此操...
  • 1 votes
     answers
     views

    特征C断言失败

    我有一个名为v的Eigen MatrixXd对象,我在尝试访问此矩阵内容时遇到了一些问题 . 当我只在控制台上打印内容时(如代码中所示),效果一样好 . 当我尝试使用内容时,错误显示: 断言失败:(row> = 0 && row <rows()&& col> = 0 && col <cols()),function oper...
  • 2 votes
     answers
     views

    英特尔MIC卸载 - 它如何与STL一起使用?

    我正在使用在C / OpenMP代码中实现的system,它在整个地方使用STL和Eigen的数据结构 . 从算法上讲,代码似乎是使用新的Intel MIC(Xeon Phi)卡加速的理想选择 . 代码中的典型并行循环如下所示: #pragma omp parallel for private(i) for (i = 0; i < n; ++i) { computeI...
  • 0 votes
     answers
     views

    稀疏矩阵乘法复杂度

    我想表达两种算法的计算复杂性:稀疏矩阵稀疏向量乘法和稀疏矩阵稀疏矩阵乘法,如在Eigen或Cusparse中使用CSR表示实现的 . 我知道它取决于几个参数,尤其是每个元素中非零值的数量 . 但是,我无法找到详细说明此类算法复杂性的出版物,并使用O()表示法表达它 .
  • 2 votes
     answers
     views

    如何用C赋值计算C中稀疏矩阵的差分

    我正在尝试使用Eigen库在C中实现以下MATLAB代码(来自Eilers,2003) . m = length(y); E = speye(m); D = diff(E, d); C = chol(E + lambda * D' * D); z = C\(C'\y); 我可以很容易地创建一个稀疏矩阵: Eigen::SparseMatrix<int> E(m,m); E.setId...
  • 9 votes
     answers
     views

    Boost :: uBLAS vs Eigen

    对于几乎所有我的数学线性代数工作,我都习惯了Eigen . 最近,我发现Boost还提供了一个C模板类库,它提供了Basic Linear Algebra Library(Boost::uBLAS) . 这让我想知道我是否可以仅使用boost来完成我的所有工作,因为它已经是我的代码的主要库 . 仔细看看两者并没有让我更清楚地区分它们: Boost :: uBLAS: uBLAS为密集,单位和...
  • 4 votes
     answers
     views

    小数的特征稀疏矩阵乘法误差

    我正在我的程序中使用C Eigen 3库 . 特别是,我需要将两个特征稀疏矩阵相乘并将结果存储到另一个特征稀疏矩阵中 . 但是,我注意到如果特征稀疏矩阵的一些条目小于1e-13,则结果中的相应条目将是0而不是小数 . 假设我乘以稀疏单位矩阵a和另一个稀疏矩阵b . 如果b的topleft条目,即b(0,0)小于1e-13,例如9e-14,则结果c = a * b的forpleft条目,即c(0,0...
  • 2 votes
     answers
     views

    特征:稀疏矩阵计算一行中所有元素的总和

    我正在使用特征库来处理稀疏矩阵,我需要处理一个矩阵,即: 将稀疏矩阵的每一行除以该行中所有元素的总和 +1 (添加额外 1 以避免除以零) . 我有预感迭代行,然后使用另一次迭代计算每行的元素总和将是非常低效的 . 为了说明我的需要,让我们考虑一下这个天真(密集的例子): input: J = [ 1, 5; 3, 9]; output: Jp = [0.1666, 0.8333; 0.25,...
  • 0 votes
     answers
     views

    特征C稀疏矩阵元素积和除

    我试图将在Eigen C密集矩阵类( MatrixXd ,从 <Eigen/Dense> )中实现的一些方法转换为具有Eigen C稀疏矩阵的方法(如来自 <Eigen/Sparse> 的 SparseMatrix<double> ) . 许多方法可以直接转换为 MatrixXd 至 SparseMatrix<double> . 但是,有些方法不可...
  • 4 votes
     answers
     views

    对角矩阵的特征使用

    使用Eigen,我有一个Matrix3Xd(3行,n列) . 我想得到所有列的平方范数 更清楚,让我说我有 Matrix3Xd a = 1 3 2 1 2 1 1 4 我想得到每列的平方范数 squaredNorms = 5 10 5 17 我想利用矩阵计算而不是通过for循环自己进行计算 . 我的意思是 squaredNorms = (A...
  • 2 votes
     answers
     views

    具有特征库的块稀疏矩阵

    我想加快我正在努力的图书馆 . 大多数矩阵的尺寸相当小(比如高达10x40) . 大多数都是块稀疏的,在运行时已知有稀疏模式 . 我想利用稀疏性来加速线性代数运算 . 除了基本的线性代数运算外,我还使用了SVD分解 . 块稀疏矩阵将有助于检测零和行对角矩阵的列/行,这可以减少分解时间 . 是否存在一个特定的原因,为什么稀疏矩阵只是按系数方式实现而不是按块方式实现? 我的意思是当前的实现对于具有少量...
  • 5 votes
     answers
     views

    如何访问C Eigen稀疏矩阵中的特定(row,col)索引?

    我在C中使用Eigen中的稀疏矩阵 . 我想读取存储在特定行和列索引中的数据,就像我使用常规特征矩阵一样 . std::vector<Eigen::Triplet<double>> tripletList; // TODO: populate triplet list with non-zero entries of matrix Eigen::SparseMatrix...
  • 0 votes
     answers
     views

    OpenACC - 稀疏矩阵库

    我正在使用OpenACC进行C中的稀疏矩阵计算 . 我需要在OpenACC区域内使用矩阵运算 . 是否有与OpenACC兼容的稀疏矩阵库? 我习惯了Eigen,但似乎它与OpenACC不兼容,除非我手动修改源代码,这听起来不是一个好主意......
  • 2 votes
     answers
     views

    MPI接收和发送特征压缩稀疏矩阵

    发送和接收使用特征库定义的稀疏矩阵的最佳(最快)方法是什么? 目前,我正在创建一个值,行和列向量(来自预定义的稀疏矩阵),仅使用非零元素并逐个发送/接收这3个向量 . 这些向量是简单的std :: vector if (0 == myrank) { Sz.insert(0,0) = 0.5; Sz.insert(1,1) = -0.5; //------ prepar...
  • 2 votes
     answers
     views

    在Ubuntu 18.04上的RcppNumerical和RcppEigen中发出警告

    每次当我使用RcppEigen或RcppNumerical时,我都会在控制台中获得一条很长的警告信息 . /home/Haache/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen/include/Eigen/src/Core/util/XprHelper.h:170:83: warning: ignoring attributes on template a...
  • 1 votes
     answers
     views

    如何访问tensorflow :: Tensor C

    我正在使用其C API运行Tensorflow . 我有以下调用返回finalOutput中的四个张量: std::string str1 = "detection_boxes"; std::string str2 = "detection_scores"; std::string str3 = "detection...

热门问题