自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 资源 (1)
  • 收藏
  • 关注

原创 caffe 学习

caffe 教程:https://www.cnblogs.com/denny402/p/5067265.htmlcaffe 编译安装:https://www.cnblogs.com/denny402/p/5067265.htmlcaffe conda 安装:https://blog.csdn.net/weixin_39916966/article/details/93221564问题解决caffe 报错:https://blog.csdn.net/weixin_38883095/ar

2020-11-06 15:22:22 183

原创 siamase -network

siamase 是 一种神经网络的框架,而不是具体的某种网络,就像seq2seq 一样,具体实现上可以使用RNN 也可以使用CNN,两个子网络共享权值。网络将输入映射到新的空间,形成输入在新的空间中的表示。正向传递:1 不再使用softmax 多分类,把图片encoding 一个长vector2 图片相似性:不同vector 的相似性对比。3 相似方程由两部分构成: similarity function=encoding f0 + vector 之间的distanceref:http.

2020-10-22 19:55:48 441

原创 层次贝叶斯模型

1 概念:层次贝叶斯模型是具有结构化层次的统计模型,它可以用来为复杂的统计问题建立层次模型从而避免参数过多导致的过拟合问题。通过贝叶斯方法来估计后验分布的参数。2 推断过程:我们对层次贝叶斯推断的策略与一般的多参数问题一样,但由于在实际中层次模型的参数很多,所以比较困难,在实际中我们很难画出联合后联合概率分布的图形。但是可以使用近似的基于仿真的方法.运用层次贝叶斯模型主要需要计算所有参赛在已知观察量下的条件后验概率,其推导过程主要包含三个步骤:1)写出联合后验密度,p(θ, φ|y),.

2020-10-22 16:41:48 7641

原创 Vision Transformer 论文

https://openreview.net/pdf?id=YicbFdNTTyAN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALEAbstract:Transformer 架构早已在自然语言处理任务中得到广泛应用,但在计算机视觉领域中仍然受到限制。在计算机视觉领域,注意力要么与卷积网络结合使用,要么用来代替卷积网络的某些组件,同时保持其整体架构不变。该研究表明,对 CNN 的依赖不是必需的,当直

2020-10-08 19:13:19 35654 9

原创 MobileNetV2 论文

https://arxiv.org/abs/1801.04381Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and SegmentationAbstract本文提出了一种新的移动架构MobileNetv2,改善了多个任务和基准的State-of-the-art水平。同时我们介绍了一种基于此框架的面向目标检测任务的有效应用模型SSDLite。此外,我们介绍了简化移动

2020-10-08 11:20:36 2013

原创 MobileNet v1 论文

https://arxiv.org/pdf/1704.04861.pdfSummary:总的来说,MobileNet相对于标准卷积过程有以下几点不同:1) 将标准的卷积操作分为两步:depthwise convolution和pointwise convolution。即先分解卷积滤波,再用1x1的卷积连接起来。通过文中的计算复杂度可以看出MobileNet的计算量降低了很多。2) 引入了两个超参数:width multiplier和resolution multiplier。这两个超参数的

2020-10-06 21:42:38 415

原创 驱动重装

https://zhuanlan.zhihu.com/p/82521884

2020-09-17 15:01:12 116

原创 sklearn 中指标计算公式

TP:正例预测正确的个数FP:负例预测错误的个数TN:负例预测正确的个数FN:正例预测错误的个数1. accuracy_score(y_true,y_pred)准确率(accuracy)是所有预测对的right/all例子:>>>y_pred = [0, 2, 1, 3]>>>y_true = [0, 1, 2, 3]>>>accuracy_score(y_true, y_pred)0.52.prec...

2020-08-13 17:13:22 1686

原创 pytorch-固定某些层参数不训练

ref:https://blog.csdn.net/Arthur_Holmes/article/details/103493886

2020-08-07 11:42:53 3206

原创 nn.Module -使用Module 类来自定义网络

1 前言: 如何自定义一个模型-通过继承nn.Module 类来实现,在__init__ 构造函数中申明各个层的定义,在forward 中实现层直接的连接关系,实际上就是前向传播的过程。实际上,在pytorch 里面自定义层也是通过继承nn.Module 类来实现,pytorch 里面一般没有层的概念,层也是当成一个模型来处理的。2 torch 里面实现神经网络有两种方法:(1) 高层API 方式: 高层API 是使用类的形式来包装的,类可以存储参数,例如全连接层的权重值矩阵,偏置矩阵等都可以作

2020-08-06 16:16:57 600 2

原创 @property 装饰器

https://www.liaoxuefeng.com/wiki/897692888725344/923030547069856

2020-08-06 14:59:35 110

原创 Mobilenet 网络结构-Depthwise Separable Convoltion

1)常规卷积运算假设输入层为一个大小为64×64 像素,三通道的彩色图片。经过一个包含4个filter 的卷积层,最终输出4个Feature Map,并且尺寸与输入层相同。此时卷积层共4个filter,每个filter 包含3个kernel,每个kernel的大小为3×3,因此卷积层的参数量如下计算:N_std=4×3×3×3×3=1082 Separable Convolution核心思想是将一个完整的卷积运算分解为两步,分别为Depthwise Convolution 与Poi.

2020-08-06 11:01:50 308

原创 CS231N斯坦福计算机视觉公开课笔记

p6 可视化卷积神经网络: 导向反向传播让轮廓更明显,找到识别最大的原始图像p9 : CNN 网络工程的实践技巧,,3*3 卷积,步长为1 ,padding =1 使得feature map 维度不变。两个3*3 替换一个5*5 ,感受野相同,可以减少参数,非线性变换的次数增多。输入H*W*C,C是通道数,要C个卷积核,卷积核大小是7*7,参数是7*7*C*C,3个3*3 来代替,参数是3*3*C*C乘法运算量: feature map 元素数* 每次卷积感受野数量: (H*W*C)*(7.

2020-08-02 16:20:45 232

原创 目标检测-评估标准

常用: 平均精度均值 mAP,交并比 IoU,非极大值抑制 NMS, 每秒帧频FPS(每秒处理的图片数量)1 AP:代表平均精度,是PR 曲线下的面积,分类器分类效果越好,AP 越大。mAP:多类别的AP 的平均值,mean 代表对每个类别下得到的AP 再求平均。mAP 的取值范围为[0,1],值越大越好。mAP 涉及到的相关概念: 混淆矩阵:TP,FP,FN,TN,Precision,Recall。F1-score 是precision和recall 的调和均值:即 2/F1=1/Pr

2020-07-28 09:58:37 669

原创 SSD 原理-1

ref:https://blog.csdn.net/qianqing13579/article/details/82106664预测阶段有两种滑动窗口的策略:1 策略1: 使用不同大小的滑动窗口,对每个滑动窗口提取特征并分类判断是否是人脸,最后经过NMS 得到最后的检测结果,本文的SSD 本质上就是这种策略,不同检测层的anchor 就类似于不同大小的滑动窗口。2 策略2:构造图像金字塔,只使用一种大小的滑动窗口在所有的金字塔图像上滑动,对每个滑动窗口提取特征并判断是否是人脸,最后经过NMS 得

2020-07-24 18:29:25 264

原创 kaggle:iMet Collection 2019 - FGVC6

1 评估指标f2 score=2 训练集与109237 张,测试集分为两个阶段,第一个阶段7443 张,第二阶段是unseen的,大小5.2 倍于test1.3 数据分析3.1 类别总数:1103 类,其中culture 有398 类,tag 有705 类3.2 每张图像所含类别个数:1~11 ,大多数图像含有2-3个标签,但是有张图像含有11个。3.3 前20的label 中的culture 和tag 分别占了整个数据集的0.72%和1.83% ,这说明大多数label 是所出现次

2020-06-29 17:45:18 325

原创 比赛总结

1https://cloud.tencent.com/developer/article/1505687

2020-06-26 17:09:23 255

原创 LSTM 时间序列预测

1 LSTM客流量预测:https://zhuanlan.zhihu.com/p/94757947

2020-06-24 10:13:08 348

原创 基于VAE 利用重建概率的异常检测

1 VAE和AE的区别AE 将输入变量直接编码成隐藏层变量,再解码成输出变量,VAE 也有编码和解码过程,但VAE将输入变量"编码" 成隐变量的分布,再从隐变量分布采样,将隐变量分布解压成输出变量的分布。网络学习目标变成使变量的分布函数逼近真实的分布函数,这个问题的求解需要采用变分方法,因此取名变分自编码器。2 VAE 的loss摘要: 本文提出了一种利用变分自动编码器重构概率的异常检测方法,https://www.cnblogs.com/asawang/p/10407551.html..

2020-06-23 21:54:13 1982

原创 Hadoop 编程

处理1 select: 直接分析输入数据,取出需要的字段数据即可2.where :也是对输入数据处理的过程进行处理,判断是否需要该数据3. aggregation :min,max,sum4.group by : 通过Reducer 实现5.sort6.join:map join ,reduce join...

2020-05-24 20:14:33 145

原创 hadoop Shuffle

对Map的结果进行排序并传输到Reduce 进行处理,Map的结果并不是直接存放到硬盘,而是利用缓存做一些预排序处理Map 会调用Combiner ,压缩,按key 进行分区,排序等,尽量减少结果的大小,每个Map 完成后都会通知Task,然后Reduce 就可以进行排序。Map 端当Map 程序开始产生结果的时候,并不是直接写到文件的,而是·利用缓存做一些排序方面的预处理每个Map 任务都有一个循环内存缓冲区(默认100MB),当缓存的内容达到80%时,后台线程开始将内容写到文件,此时Ma

2020-05-24 19:36:35 125

原创 hadoop Mapper

主要是读取InputSplit 的每一个<Key,Value> 对并进行处理。

2020-05-24 18:12:23 213

原创 hadoop 读取数据

MapReduce -读取数据通过InputFormat 决定读取的数据的类型,然后拆分成一个个InputSplit ,每个inputSplit 对应一个Map 处理,RecordReader 读取InputSplit 的内容给Map 。InputFormat决定读取数据的格式,可以是文件或数据库等。功能:1) 验证作业输入的正确性,如格式等。2). 将输入文件切割成逻辑分片(InputSplit) ,一个InputSplit 将会被分配给一个独立的Map 任务3).提供Re..

2020-05-24 17:57:22 473

原创 hadoop MapReduce

简介:一种分布式的计算方式指定一个Map(映#x5C04;) 函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。Patternmap:(K1,V1) ->list(K2,V2) combine:(K2,list(V2))-> list(K2,V2) reduce:(K2,list(V2))-> list(K3,V3).Map 输出格式和Reduce 输入格式一定是相同的。基本流程Map.

2020-05-24 17:16:45 105

原创 YARN-Failover

失败的类型1. 程序问题2.进程崩溃3. 硬件问题失败处理1 任务失败1)运行时异常或者JVM 退出都会报告给ApplicationMaster2)通过心跳来检查挂住的任务(timeout),会检查多次(可配置),才判断改任务是否失效3). 一个作业的任务失败率超过配置,则任务改作业失败4).失败的任务或作业都会有ApplicationMaster 重新运行2. ApplicationMaster 失败1). ApplicationMaster 定时发送心跳信号到

2020-05-24 16:18:34 219

原创 Hadoop Container

YARN-Container1 基本的资源单位(CPU,内存等)2. Container 可以加载任意程序,而且不限于java3. 一个Node 可以包含多个·Container,也可以是一个大的Container4. ApplicationMaster 可以根据需要,动态申请和释放...

2020-05-24 15:33:44 307 1

原创 Hadoop ApplicationMaster

YARN-ApplicationMaster单个作业的资源管理和任务监控具体功能描述:1. 计算应用的资源需求,资源可以是静态或动态计算的,静态的一般是Client 申请时就指定了,动态则需要ApplicationMaster 根据应用的运行状态来决定2. 根据数据来申请对应位置的资源(Data Locality)3. 向ResourceManager申请资源,与NodeManager 交互运行程序的运行和监控,监控申请的资源的使用情况,监控作业进度。4.跟踪任务状态和进度,定时向R

2020-05-24 15:12:10 595

原创 Hadoop NodeManager

Node 节点下的Container 管理1)启动时向ResourceManager 注册并定时发送心跳消息,等待ResourceManager 的指令2)监控Conta 的运行,维护Container 的生命周期,监控Container 的资源使用情况3) 启动或停止Container,管理任务运行时的依赖包(根据ApplicationMaster 的需要,启动Container 之前将需要的程序及其依赖包,配置文件等到本地)内部结构...

2020-05-24 14:48:51 736

原创 Hadoop ResourceManager

YARN-ResourceManager负责全局的资源管理金额任务调度,把整个集群当成计算资源池,只关注分配,不管应用,且不负责容错。资源管理1)以前资源是每个节点分成一个个的Map slot和Reduce slot ,现在施一个个Container,每个Container 可以根据需要运行ApplicationMaster, Map, Reduce 或者任意的程序。2)以前的资源分配是静态的,目前是动态的,资源利用率更高。3)Container 是资源申请的单位,一个资源申请格式:&l

2020-05-20 18:07:32 1369

原创 Hadoop YARN

1.旧的MapReduceJobTracker: 负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错)TaskTrader: 加载或关闭任务,定时报告任务状态此架构会有以下问题:(1) JobTracker 是MapReduce 的集中处理点,存在单点故障(2) JobTracker 完成了太多的任务,造成了过多的资源消耗,当MapReduce job 非常多的时候,会造成很大的内存开销,这也是业界普遍总结出老Hadoop 的MapReduc

2020-05-20 11:07:03 145

原创 Hadoop 命令工具

HDFS-命令工具fsck: 检查文件的完整性start-balancer.sh: 重新平衡HDFShdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS。

2020-05-20 09:20:58 105

原创 hadoop 可靠性

HDFS-可靠性1. DataNode 可以失效DataNode 会定时发送心跳到NameNode,如果一段时间内NameNode没有收到DataNOde的心跳消息,则认为其失效,此时NameNode 就会将该节点的数据(从该节点的复制节点中获取)复制到另外的DataNode 中。2. 数据可以毁坏无论是写入时还是硬盘本身的问题,只要数据有问题(读取时通过校验码来检测),都可以通过其他的复制节点读取,同时还会再复制一份到健康的节点中3.NameNode 不可靠。...

2020-05-20 09:15:26 343

原创 Hadoop-读文件

HDFS-读文件

2020-05-20 09:09:29 141

原创 Hadoop 写文件

1.客户端将文件写入本地磁盘的HDFS Client 文件中2. 当临时文件大小达到一个block 大小时,HDFS client 通知NameNode,申请写入文件3. NameNode 在HDFS 的文件系统中创建一个文件,并把该block id和要写入·的DataNode的列表返回给客户端4 客户端收到这些信息后,将临时文件写入DataNodes4.1 客户端将文件内容写入第一个DataNode(一般以4kb 为单位进行传输)4.2 第一个DataNode接收后,将数据写入本地..

2020-05-19 23:52:36 351

原创 Hadoop -HDFS

全称:分布式文件系统‘’Block数据块:1基本存储单元,一般大小为64M(配置大的主要是因为:1) 减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;2)减少管理块的数据开销,每个块都需要在NameNode 上有对用的记录;3) 对数据块进行读写,减少建立网络的连接成本。2. 一个大文件会被拆分成一个个的块,然后存储于不同的机器,如果一个文件少于Block 大小,那么实际占用的空间为其文件的大小。3.基本的读写单位,类似于磁盘的页,每次都是读写一个块。4. ..

2020-05-19 18:25:07 146

原创 Hadoop-简介

Hadoop 简介: hadoop 可运行于一般的商用服务器上,具有高容错,高可靠性,高扩展性等特点适合写一次,读多次的场景。适合:大规模数据,流式数据(写一次,读多次),商用硬件(一般硬件)不适合:低延时的数据访问,大量的小文件,频繁修改文件(基本就是写1次)Hadoop 架构:HDFS:分布式文件存储YARN: 分布式资源管理MapReduce: 分布式计算Others:利用YARN 的资源管理功能实现其他的数据处理方式内部各个节点基本都是采用Master-Wor

2020-05-19 16:56:42 140

原创 KNN-kd 树

高维查找结果:B 树: 是查找等于一个点或者一个区间之间有哪些元素KD 树:查找块中二维的点,应用:基于位置的查找kd -树构造: 使用垂直/水平线 把点集递归分割成两部分,在偶数层使用水平线,奇数层使用垂直线,每个叶子为一个点相当于两个二叉树的交叠kd- 树查询: 递归的访问交叉查询的区域报告在树/结点中且在查询中完全包含的点...

2020-03-29 17:57:02 297

原创 算法笔记(40)

1 斐波拉契数列,递归,复杂度2的n次方e二分查找:O(logn)二叉树的遍历:O(n) 每个节点遍历仅遍历一次排序的二维矩阵的查找:O(n)快排:O(nlogn)2 优先队列正常入,按优先级出。实现机制:1) 堆(二叉堆,多项式堆,斐波拉契堆),二叉搜索树。小顶堆:最小的在最上面3 Hashmap:平均时间复杂度:查找,删除,插入复杂度O(1)。最差的时间复...

2019-12-28 16:23:38 104

原创 深度学习-GRU

ref:https://blog.csdn.net/vivian_ll/article/details/88780661只有两个门:重置门和更新门。把细胞状态和隐藏状态进行了合并,2014年提出,与LSTM 相似,但是更易于计算。其中,rt表示重置门,Zt 表示更新门。重置门决定是否将之间的状态忘记。当rt 趋近于0的时候,前一个时刻的状态信息ht-1会被忘掉,隐藏状态ht会被重置为当...

2019-11-27 14:49:36 612

原创 深度学习-变分自编码器

ref:https://zhuanlan.zhihu.com/p/88750084http://www.atyun.com/17976.htmlhttps://www.spaces.ac.cn/archives/52531 为每个潜在属性表示为可能值的范围。VAE 会生成一个隐空间,从中对点进行采样。VAE的结构:任何自编码器的目标都是重建原始输入。通常,自编码器首先将输入...

2019-11-24 11:17:55 510

R-3.2.2.tar.gz linux 版本

2)安装: 解压: cd /software tar -zxvf R-3.3.2.tar.gz mkdir -p /home/liyg/software/R cd R-3.3.2 ./configure --prefix=/home/liyg/software/R --enable-R-shlib 3) 报错和解决方法:./configure --prefix=/home/liyg/software/R --enable-R-shlib a) 报错如下: configure:5783: result: no configure:5846: checking for cc configure:5893: result: no configure:5949: checking for cl.exe configure:5979: result: no configure:6003: error: in `/software/R-3.3.2': configure:6005: error: no acceptable C compiler found in $PATH See `config.log' for more details 解决方法:yum install gcc b) 报错如下: checking for fc... no configure: error: No F77 compiler found 解决方法:yum install gcc-gfortran c)报错如下: checking how to run the C++ preprocessor... /lib/cpp configure: error: in `/software/R-3.3.2': configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details 解决方法:yum install gcc gcc-c++ d)报错如下: --with-readline=yes (default) and headers/libs are not available 解决方法:yum install readline-devel e)报错如下: –with-x=yes (default) and X11 headers/libs are not available 解决方法:yum install libXt-devel f)报错如下: checking for rpc/xdr.h... yes checking for XDR support... yes checking for inflateInit2_ in -lz... no checking whether zlib support suffices... configure: error: zlib library and headers are required 解决方法:yum install zlib-devel yum -y install bzip2-devel g)报错如下:zlib版本太低! checking if zlib version >= 1.2.5... no checking whether zlib support suffices... configure: error: zlib library and headers are required 解决方法:下载:http://zlib.NET/zlib-1.2.8.tar.gz tar xzvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=$HOME/packages 设置环境变量: export PATH=/software/packages/bin:$PATH export LD_LIBRARY_PATH=/software/packages/lib:$LD_LIBRARY_PATH export CFLAGS="-fPIC -I/software/packages/include" export LDFLAGS="-fPIC -L/software/packages/lib" h) 报错如下:bzip2 版本太低 checking bzlib.h presence... yes checking for bzlib.h... yes checking if bzip2 version >= 1.0.6... no checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required 解决方法:下载:http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz tar -zxvf bzip2-1.0.6.tar.gz cd bzip2-1.0.6 make make install PREFIX=/software/packages make -f Makefile-libbz2_so //建立共享library,可能会报错!后面有解决方法! i) 报错如下: checking for lzma_version_number in -llzma... no configure: error: "liblzma library and headers are required" 解决方法:yum -y install xz-devel.x86_64 j)报错如下:版本太低 checking if lzma version >= 5.0.3... no configure: error: "liblzma library and headers are required" 解决方法:下载:http://tukaani.org/xz/xz-5.2.2.tar.gz tar xzvf xz-5.2.2.tar.gz cd xz-5.2.2 ./configure --prefix=/software/packages make -j3 make install k)报错如下:版本太低 checking if PCRE version >= 8.10, < 10.0 and has UTF-8 support... no checking whether PCRE support suffices... configure: error: pcre >= 8.10 library and headers are required 解决方法:下载:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz tar xzvf pcre-8.38.tar.gz cd pcre-8.38 ./configure --prefix=/software/packages make -j3 make install l)报错如下:编码不对 checking if PCRE version >= 8.10, < 10.0 and has UTF-8 support... no checking whether PCRE support suffices... configure: error: pcre >= 8.10 library and headers are required 解决方法: cd pcre-8.38 ./configure --enable-utf8 --prefix=/software/packages make make install m)错误如下: checking for curl-config... no checking curl/curl.h usability... no checking curl/curl.h presence... no checking for curl/curl.h... no configure: error: libcurl >= 7.28.0 library and headers are required with support for https 解决办法:下载: https://curl.haxx.se/download/curl-7.47.1.tar.gz ./configure --prefix=/software/packages make -j3 make install n)错误如下:https是安全的需要安装:openssl checking if libcurl is version 7 and >= 7.28.0... yes checking if libcurl supports https... no configure: error: libcurl >= 7.28.0 library and headers are required with support for https 解决方法:下载:openssl-1.0.1u.tar.gz tar -xzvf openssl-1.0.1u.tar.gz cd openssl-1.0.1u ./config -fPIC --prefix=/usr/local/openssl enable-shared ./config -t make && make install 设置环境变量: export OPENSSL=/usr/local/openssl/bin export PATH=$OPENSSL:$PATH:$HOME/bin 重新安装curl:指定openssl ./configure --prefix=/software/packages --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib make -j3 make install 4)重新编译: cd R-3.3.2 ./configure --prefix=/home/liyg/software/R --enable-R-shlib 编译成功:结果如下: Source directory: . Installation directory: /home/liyg/software/R C compiler: gcc -std=gnu99 -I/software/packages/include Fortran 77 compiler: gfortran -g -O2 C++ compiler: g++ -g -O2 C++11 compiler: g++ -std=c++0x -g -O2 Fortran 90/95 compiler: gfortran -g -O2 Obj-C compiler: Interfaces supported: X11 External libraries: readline, curl Additional capabilities: NLS Options enabled: shared R library, shared BLAS, R profiling Capabilities skipped: PNG, JPEG, TIFF, cairo, ICU Options not enabled: memory profiling Recommended packages: yes configure: WARNING: you cannot build info or HTML versions of the R manuals configure: WARNING: you cannot build PDF versions of the R manuals configure: WARNING: you cannot build PDF versions of vignettes and help pages 5)执行编译: make 报错如下: gcc -std=gnu99 -shared -fopenmp -L/software/packages/lib -o libR.so CommandLineArgs.o Rdynload.o Renviron.o RNG.o agrep.o apply.o arithmetic.o array.o attrib.o bind.o builtin.o character.o coerce.o colors.o complex.o connections.o context.o cum.o dcf.o datetime.o debug.o deparse.o devices.o dotcode.o dounzip.o dstruct.o duplicate.o edit.o engine.o envir.o errors.o eval.o format.o gevents.o gram.o gram-ex.o graphics.o grep.o identical.o inlined.o inspect.o internet.o iosupport.o lapack.o list.o localecharset.o logic.o main.o mapply.o match.o memory.o names.o objects.o options.o paste.o platform.o plot.o plot3d.o plotmath.o print.o printarray.o printvector.o printutils.o qsort.o radixsort.o random.o raw.o registration.o relop.o rlocale.o saveload.o scan.o seq.o serialize.o sort.o source.o split.o sprintf.o startup.o subassign.o subscript.o subset.o summary.o sysutils.o times.o unique.o util.o version.o g_alab_her.o g_cntrlify.o g_fontdb.o g_her_glyph.o xxxpr.o `ls ../unix/*.o ../appl/*.o ../nmath/*.o` ../extra/tre/libtre.a -L../../lib -lRblas -lgfortran -lm -lreadline -lpcre -llzma -lbz2 -lz -lrt -ldl -lm /usr/bin/ld: /software/packages/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC /software/packages/lib/libbz2.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[3]: *** [libR.so] Error 1 make[3]: Leaving directory `/software/R-3.3.2/src/main' make[2]: *** [R] Error 2 make[2]: Leaving directory `/software/R-3.3.2/src/main' make[1]: *** [R] Error 1 make[1]: Leaving directory `/software/R-3.3.2/src' make: *** [R] Error 1 -fPIC --prefix=/usr/local/openssl enable-shared 解决方法:重新编译安装libbz2!并指定 -fPIC!!!共享library 步骤: 第一:设置环境变量:注意:CFLAGS和LDFLAGS 加上 -fPIC 如下: export PATH=/software/packages/bin:$PATH export LD_LIBRARY_PATH=/software/packages/lib:$LD_LIBRARY_PATH export CFLAGS="-fPIC -I/software/packages/include" export LDFLAGS="-fPIC -L/software/packages/lib" 第二:指定-fPIC编译:重新编译步骤:h) cd bzip2-1.0.6 make CC='gcc -fPIC' make install PREFIX=/software/packages make -f Makefile-libbz2_so //建立共享library,不会报错说明正确 第三:重新编译R: cd /software/R-3.3.2 ./configure --prefix=/home/liyg/software/R --enable-R-shlib make //需要等比较长时间 结果:终于编译成功!!!!!太不容易了!! 结果信息如下: trying to compile and link a JNI program detected JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/Linux detected JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm make[2]: Entering directory `/tmp/Rjavareconf.BzLkuk' gcc -std=gnu99 -I/software/R-3.3.2/include -DNDEBUG -I/usr/Java/jdk1.7.0_67-cloudera/include -I/usr/java/jdk1.7.0_67-cloudera/include/linux -I/usr/local/include -fpic -fPIC -I/software/packages/include -c conftest.c -o conftest.o gcc -std=gnu99 -shared -L/software/R-3.3.2/lib -fPIC -L/software/packages/lib -o conftest.so conftest.o -L/usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64/server -ljvm -L/software/R-3.3.2/lib -lR make[2]: Leaving directory `/tmp/Rjavareconf.BzLkuk' JAVA_HOME : /usr/java/jdk1.7.0_67-cloudera Java library path: $(JAVA_HOME)/jre/lib/amd64/server JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm Updating java configuration in /software/R-3.3.2 Done. make[1]: Leaving directory `/software/R-3.3.2' 6) 执行make install 即可: 结果如下: make[3]: Leaving directory `/software/R-3.3.2/src/modules/internet' make[3]: Entering directory `/software/R-3.3.2/src/modules/lapack' make[3]: Leaving directory `/software/R-3.3.2/src/modules/lapack' make[3]: Entering directory `/software/R-3.3.2/src/modules/X11' make[3]: Leaving directory `/software/R-3.3.2/src/modules/X11' make[2]: Leaving directory `/software/R-3.3.2/src/modules' make[2]: Entering directory `/software/R-3.3.2/src/library' mkdir -p -- /home/liyg/software/R/lib64/R/library installing packages ... building HTML index ... make[2]: Leaving directory `/software/R-3.3.2/src/library' make[1]: Leaving directory `/software/R-3.3.2/src' make[1]: Entering directory `/software/R-3.3.2/tests' make[1]: Nothing to be done for `install'. make[1]: Leaving directory `/software/R-3.3.2/tests' 此时:终于在redhat6上安装成功!R语言编译安装太不容易了! 建议:如果是redhat6的系统,为了避免版本问题:可以安装低一点版本的R,可能不会有这么多问题吧! 谢谢大家!

2017-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除