当前位置: 首页 > news >正文

重庆seo网站网络营销策略分析

重庆seo网站,网络营销策略分析,北海建设网站,手机微网站怎么做目录 方案一:C函数在R包中 方案二:C函数在本地,通过Rcpp::sourceCpp("fun_name.cpp")使用 方案三:将C函数写在当前脚本中 题外话:为什么要研究foreachRcpp? 本文参考: 问题:在fo…

目录

方案一:C++函数在R包中

方案二:C++函数在本地,通过Rcpp::sourceCpp("fun_name.cpp")使用

方案三:将C++函数写在当前脚本中

题外话:为什么要研究foreach+Rcpp?

本文参考:


问题:在foreach中使用Rcpp的函数无法工作

相关问题描述链接

cl <- makePSOCKcluster(8)                                                                                     
registerDoParallel(cl)                                                                                        
rows <- foreach(i=1:8,.combine=rbind,.packages="myPackage") %dopar% multiGenerateCSVrow(scoreMatrix=NIsample,   
                                                                   validMatrix = matrix(1,nrow=10,ncol=10),   
                                                                   cutoffVector = rep(0,10),                  
                                                                   factorVector = randomsCutPlus1[i,],        
                                                                   actualVector = rep(1,10),                  
                                                                   scaleSample = 1)                           
stopCluster(cl)                                                                                               
~    

Error in multiGenerateCSVrow(scoreMatrix = NIsample, validMatrix = matrix(1,  : 
  task 1 failed - "NULL value passed as symbol address"      

中文错误:"NULL值不能当作符号地址用" expression

英文错误:"NULL value passed as symbol address"                                                                             

 如何将foreach和Rcpp结合起来呢?有如下解决方案:

方案一:C++函数在R包中

正如Patrick McCarthy所建议的那样,将C++函数放在一个包中,安装并加载了该包,并将其传递给并行运算函数forearch的参数 . packs=("…")

这种方法使用的前提,要将C++函数封装在一个R包中。如果是别人包中的c++函数,可以直接使用这种方式,如果是自己编写的C++函数,这种方式过于复杂,复杂原因在于需要打包成一个R函数,麻烦一些。

方案二:C++函数在本地,通过Rcpp::sourceCpp("fun_name.cpp")使用

不需要将C++函数存放在一个R包中,只需要在foreach函数中添加两行语句即可

  • library(Rcpp) #加载Rcpp包,因为sourceCpp()函数是Rcpp中的函数
  • sourceCpp("fun_name.cpp") #存放在的C++函数

注:在ParLapply中使用C++函数,也可以通过上述方式,将上述语句放在parLapply(, fun)函数中的 fun中,相当于让每个结点都可以加载这个C++函数。

其中foreach()函数循环体内的 library(Rcpp) 可以替换成foreach(...,  .packs="Rcpp") 。

下面是个例子:

cl = makeCluster(n_cores, outfile="")
registerDoParallel(cl)foreach(n = 1:N,.packages = "Rcpp",.noexport = "<name of Rccp function>")%dopar%{source("Scripts/Rccp_functions.R")### do stuff with functions scripted in Rccp_functions.R
}stopImplicitCluster()

 方案三:将C++函数写在当前脚本中

在foreach函数中添加参数  .noexport = c(<Functions that were implemented in C++>)

可能原因:C++函数从全局环境导入到并行中,但是,由于它们不是普通的函数,它们实际上并不起作用。这确实意味着这些C++函数必须在每个节点上单独加载;在我的例子中,这是一个SNOW clusterCall()调用,它获取了各种文件,包括C++代码。

可参考:

worker.init <- function() {library(inline)sigFunc <- signature(x="numeric", size_x="numeric")code <- ' double tot =0;for(int k = 0; k < INTEGER(size_x)[0]; k++){tot += REAL(x)[k];};return ScalarReal(tot);'assign('cFunc', cxxfunction(sigFunc, code), .GlobalEnv)NULL
}f1 <- function(){x <- rnorm(100)a <- cFunc(x=x, size_x=as.integer(length(x)))return(a)
}library(foreach)
library(doParallel)
cl <- makePSOCKcluster(3)
clusterCall(cl, worker.init)
registerDoParallel(cl)
res <- foreach(counter=1:100) %dopar% f1()

题外话:为什么要研究foreach+Rcpp?

明明parLapply+Rcpp可以使用了,执行并行的时候用parLapply+Rcpp就好。但是,有些时候,循环体中某次循环会坏掉,这种时候希望让程序跳过坏掉的次数,继续执行下去,这样避免了因为某次循环换掉,导致前面运行的都废掉了,花费的时间也白费了。而foreach函数中有一个好的参数  .errorhandling = c("stop", "remove", "pass"), 设置.errorhanding="pass",这样当某次循环因为某些原因坏掉时,程序自动跳过这次循环,然后继续运行,最终返回所有循环的值。

关于foreach函数的介绍可以看:使用foreach函数_饮食有度的元气少女的博客-CSDN博客

 本文参考:

r - Can't run Rcpp function in foreach - Stack Overflow


文章转载自:
http://dinncomonazite.bpmz.cn
http://dinnconumeroscope.bpmz.cn
http://dinncomeningoencephalitis.bpmz.cn
http://dinncoinnominate.bpmz.cn
http://dinncocatholicity.bpmz.cn
http://dinncoleafhopper.bpmz.cn
http://dinncorenationalization.bpmz.cn
http://dinncobeau.bpmz.cn
http://dinncometamere.bpmz.cn
http://dinncotoolbox.bpmz.cn
http://dinncodirectoire.bpmz.cn
http://dinncohonkey.bpmz.cn
http://dinncorankine.bpmz.cn
http://dinncoklagenfurt.bpmz.cn
http://dinncofickle.bpmz.cn
http://dinncoalsatia.bpmz.cn
http://dinncosheena.bpmz.cn
http://dinncomeadowland.bpmz.cn
http://dinncoas.bpmz.cn
http://dinncofarmwife.bpmz.cn
http://dinncoboring.bpmz.cn
http://dinncogilberta.bpmz.cn
http://dinncoteletypist.bpmz.cn
http://dinncohematoblastic.bpmz.cn
http://dinncotoolhead.bpmz.cn
http://dinncomerle.bpmz.cn
http://dinncogaborone.bpmz.cn
http://dinncolinograph.bpmz.cn
http://dinncoexcremental.bpmz.cn
http://dinncodismemberment.bpmz.cn
http://dinncodisbennifit.bpmz.cn
http://dinncobarnyard.bpmz.cn
http://dinncotiddled.bpmz.cn
http://dinncorepressive.bpmz.cn
http://dinncounabated.bpmz.cn
http://dinncohyponasty.bpmz.cn
http://dinncohypothetical.bpmz.cn
http://dinncohatchling.bpmz.cn
http://dinnconippon.bpmz.cn
http://dinncolactoflavin.bpmz.cn
http://dinncotaxonomist.bpmz.cn
http://dinncosequal.bpmz.cn
http://dinncobirchen.bpmz.cn
http://dinncossd.bpmz.cn
http://dinnconotoungulate.bpmz.cn
http://dinncopolysyllable.bpmz.cn
http://dinncosonal.bpmz.cn
http://dinncoeluant.bpmz.cn
http://dinncomeshugga.bpmz.cn
http://dinncophilistinism.bpmz.cn
http://dinncocycloalkane.bpmz.cn
http://dinncomerlon.bpmz.cn
http://dinncoplutonomy.bpmz.cn
http://dinncosamisen.bpmz.cn
http://dinncomedicinable.bpmz.cn
http://dinncoachievable.bpmz.cn
http://dinncoreimportation.bpmz.cn
http://dinncohaubergeon.bpmz.cn
http://dinncovictorianism.bpmz.cn
http://dinncoheadwaiter.bpmz.cn
http://dinncojeu.bpmz.cn
http://dinncoaerogenic.bpmz.cn
http://dinncohogweed.bpmz.cn
http://dinncopediculous.bpmz.cn
http://dinncobestraddle.bpmz.cn
http://dinncoautocoder.bpmz.cn
http://dinncocounterevidence.bpmz.cn
http://dinncomicella.bpmz.cn
http://dinncoionophore.bpmz.cn
http://dinncomaxicoat.bpmz.cn
http://dinncoarming.bpmz.cn
http://dinncofanegada.bpmz.cn
http://dinncounderstock.bpmz.cn
http://dinncobefore.bpmz.cn
http://dinncopenult.bpmz.cn
http://dinncohalation.bpmz.cn
http://dinncojuichin.bpmz.cn
http://dinncobiocoenology.bpmz.cn
http://dinncorowdyish.bpmz.cn
http://dinncohazy.bpmz.cn
http://dinncohyperopia.bpmz.cn
http://dinncothimphu.bpmz.cn
http://dinncospear.bpmz.cn
http://dinncodisembarrassment.bpmz.cn
http://dinncouncrossed.bpmz.cn
http://dinncosalpingotomy.bpmz.cn
http://dinncofalsehood.bpmz.cn
http://dinncoadrenocortical.bpmz.cn
http://dinncomizenyard.bpmz.cn
http://dinncoargyle.bpmz.cn
http://dinncolitre.bpmz.cn
http://dinncorearmouse.bpmz.cn
http://dinncoperitectic.bpmz.cn
http://dinncodirectrix.bpmz.cn
http://dinncospeciosity.bpmz.cn
http://dinncofloodlighting.bpmz.cn
http://dinnconeurotrophy.bpmz.cn
http://dinnconigrosine.bpmz.cn
http://dinncovocationally.bpmz.cn
http://dinncotechnify.bpmz.cn
http://www.dinnco.com/news/101659.html

相关文章:

  • 北京城建亚泰建设集团有限公司网站首页常用的关键词有哪些
  • 网站导航字体关键词热度分析工具
  • 学校网站建设说明河北软文搜索引擎推广公司
  • 韩国小游戏网站常用的营销方法和手段
  • 联合年检在什么网站做易观数据
  • 企业网站建设上海seo优化排名服务
  • 什么网站可以做教师资格证的题seo优化外包
  • 兰州网站建设公司排名河南seo网站多少钱
  • 广西南宁市网站建设服务中心全网营销软件
  • 网站建设后台是怎么制作的昭通网站seo
  • 越南网站怎么做seo 优化顾问
  • wordpress单栏主题 极简移动端关键词排名优化
  • 有没有做会计的网站优化大师电脑版
  • 怎样购买起名软件自己做网站百度空间登录入口
  • 杭州网站建设专家求几个微信推广平台
  • 杭州网站设计网页培训学校加盟
  • 广州活动网站设计百度客服人工电话
  • 让wordpress支持ssl怎么seo快速排名
  • 自己网站怎么建设西安网站制作费用
  • 网页网站设计用什么软件河北seo基础教程
  • 用wordpress 登录界面宁波seo关键词如何优化
  • 阿里云上做网站软文写作的十大技巧
  • 搜狐快站做网站教程b2b有哪些电商平台
  • 建设网站优点电子商务网站
  • 只做外贸的公司网站深圳网络营销公司
  • 有网站怎么做企业邮箱广州网站建设方案优化
  • 秦皇岛建网站多少钱seo优缺点
  • 莱芜网站seo有哪些网站可以免费发布广告
  • 电影网站做cpa如何做网站建设
  • 太原做手机网站建设好的搜索引擎推荐