小编Ham*_*m82的帖子

要求在Rcpp包中使用OpenMP可用性

我通过使用RcppArmadilloOpenMP库以及以下命令在R中准备了一个包:

RcppArmadillo.package.skeleton("mypackage")
compileAttributes(verbose=TRUE)
Run Code Online (Sandbox Code Playgroud)

另外,在DESCRIPTION我添加的文件中:

Imports: Rcpp (>= 0.12.8), RcppArmadillo
LinkingTo:Rcpp, RcppArmadillo
Depends: RcppArmadillo
Run Code Online (Sandbox Code Playgroud)

NAMESPACE我添加的文件中:

import(RcppArmadillo)
importFrom(Rcpp, evalCpp)
Run Code Online (Sandbox Code Playgroud)

然后我运行以下代码cmd:

R CMD build mypackage
R CMD INSTALL mypackage.tar.gz
Run Code Online (Sandbox Code Playgroud)

我在我的计算机中构建并安装软件包,现在就使用它.但我的学院和朋友无法安装该软件包.错误消息是关于RcppArmadilloOpenMP库.

例如:

致命错误:找不到'omp.h'文件

有没有人在这种情况下有过经验?我必须在我的包中进行哪种类型的设置来解决这个问题?

r openmp armadillo rcpp r-package

5
推荐指数
1
解决办法
740
查看次数

没有名为“tensorflow_probability”的模块

我需要使用 Tensorflow 和 Tensorflow_Probability。通过以下命令安装后:conda install tensorflow-probabilityor pip install --upgrade tensorflow-probability,我在笔记本中运行它:

import tensorflow_probability as tfp
Run Code Online (Sandbox Code Playgroud)

但它返回此错误:

    ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-8-41494c8c96ff> in <module>
----> 1 import tensorflow_probability as tfp

ModuleNotFoundError: No module named 'tensorflow_probability'.
Run Code Online (Sandbox Code Playgroud)

结果

pip list
Run Code Online (Sandbox Code Playgroud)

如下(相关部分):

tblib                              1.3.2
tensorboard                        1.13.1
tensorflow                         1.13.1
tensorflow-estimator               1.13.0
tensorflow-probability             0.7.0
termcolor                          1.1.0
terminado                          0.8.1
testpath                           0.4.2
tfp-nightly                        0.8.0.dev20190708
Theano                             1.0.4
toolz                              0.9.0
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决这个问题(我使用的是 Win 10)?

python tensorflow tensorflow-probability

5
推荐指数
2
解决办法
9694
查看次数

在c ++中返回多个矩阵(Armadillo库)

我正在使用C++中的Armadillo库.首先,我计算一个特殊的矩阵(在我的代码中:P),然后我计算QR分解(在我的代码中:Q).最后,我需要将P和Q以及另一个矩阵T返回到我的主函数.

#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
double phi(int n, int q){
...
  mat P(n,n);
  P=...
   mat Q,R;
   qr(Q,R,P);
return P:
return Q;
return Q;
...
 }

int main() {
    ...
    int n,q;
    cout<<"Enter the value of parameters n and q respectively:"<<endl;
    cin>> n>>q;
    phi(n,q);
...
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种在犰狳中使用指针和参考来返回这些矩阵的方法.这里我的矩阵很大,通常是500*500或1000*1000.有没有人有解决方案?先谢谢

c++ matrix linear-algebra armadillo

4
推荐指数
1
解决办法
673
查看次数

当我在R中运行我的Rcpp cde时,"不是矩阵"错误

我试图nearPD在我的Rcpp代码中使用函数.虽然看起来微不足道,但我找不到为什么它不起作用.它是我的代码的简化版本:

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

using namespace arma;
using namespace Rcpp;
// [[Rcpp::export]]
mat eBsc(mat R){
  Rcpp::Environment Matrix("package:Matrix"); 
    Rcpp::Function nearPD = Matrix["nearPD"];
    Rcpp::List PD=nearPD(R);
    mat P = PD["mat"];
return P;   
  }
Run Code Online (Sandbox Code Playgroud)

但是当我想测试它时,例如如下R:

A <- matrix(1, 3,3); A[1,3] <- A[3,1] <- 0
d<-eBsc(A)
Run Code Online (Sandbox Code Playgroud)

我看到这个错误信息:"Error in eBsc(A) : not a matrix".我必须提到nearPD返回一个输出列表,第一个是矩阵.

r matrix armadillo rcpp

1
推荐指数
1
解决办法
483
查看次数