Ubuntu下配置GSL运行网络嵌入算法line(测试通过)

? 说明:

  • 最近在做一些网络嵌入方面的disease-miRNA链接预测工作,在配置line算法所需运行环境时,折腾了一些时间,故作此笔记,以备查看。
  • GitHub
  • 测试平台:Ubuntu 16.04 LTS

? 下载line

  • 输入文件:line 需要网络文件作为输入,对应后文代码中提到的?line_needed_links.txt
  • 其中节点的编码应包含字母,形如D-0, mi-268
  • 若只用数字编码,即0, 268,可能会使部分节点向量无法得到

以下是line所用关键库GSL的配置过程 ?

install GSL ❔

  • ?下载GSL
  • 打开上述链接后,往下拉到最后,下载最新的版本gsl-latest.tar.gz,即gsl 2.5版本
tar -zxv -f gsl-latest.tar.gz 
cd gsl-2.5/
clear
mkdir /opt/gsl2.5
sudo mkdir /opt/gsl2.5
./configure --prefix=/opt/gsl2.5
make
sudo make install
nano ~/.bashrc
# add following to the end of .barshrc file
# export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/gsl2.5/include
# export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/gsl2.5/include
# export LIBRARY_PATH=$LIBRARY_PATH:/opt/gsl2.5/lib
source ~/.bashrc

compile line.cpp ?

#首先切换工作目录,即你所下载line的所在位置
cd /media/xk_wang/工作娱乐/2.Project/project-异构网络嵌入/调试代码相关/v2.0/算法对比/LINE/linux
#注意 -gsl -lgslcblas -lm -lpthread参数位置及[顺序] (即需要将库链接放在末尾)
#myline是编译后的可执行文件名字,也可以取其他名字
gcc -I /opt/gsl2.5/include -L /opt/gsl2.5/lib -o myline line.cpp -lgsl -lgslcblas -lm -lpthread
#若上条命令未通过
将/opt/gsl2.5/lib/下的libgslcblas.so  libgslcblas.so.0  libgsl.so  libgsl.so.23拷贝到/usr/local/lib/
#可用以下命令赋予拷贝权限,像windows下拷贝文件(Ctrl+c, Ctrl+v)
sudo nautilus

configure before run myline ?

  • myline是上述编译后的可执行文件名字
#添加环境变量
export PATH=$PATH:/opt/gsl2.5/lib
#使环境变量生效
source /etc/profile
#写入共享库缓存目录
sudo ldconfig

====》如果你只想配置下GSL,那到这里就完成了~
====》若你想了解一下神奇的网络嵌入,请继续浏览~

run myline ?

# 只要切换到你所下载line的路径即可
# 对我而言,这里挂载了我的“工作娱乐[F]”盘(双系统,你懂得)
# emmmmm, 好像这里不用cd了,刚刚已经cd过了
cd /media/xk_wang/工作娱乐/2.Project/project-异构网络嵌入/调试代码相关/v2.0/算法对比/LINE/linux
# 小小测试以下,myline就是刚刚编译后产生的可执行文件
./myline -train ../../2-layers/datasets/line/line_needed_links.txt -output ../../2-layers/datasets/line/output_vectors/test.txt -size 16 -order 1 -negative 5 -samples 100

combine vector ✌️

# 开始训练咯~
./myline -train ../../2-layers/datasets/line/line_needed_links.txt -output ../../2-layers/datasets/line/output_vectors/line_guided_2_layer.vector.w.l.order1.size32.txt  -size 32 -order 1 -samples 10 -threads 32
./myline -train ../../2-layers/datasets/line/line_needed_links.txt -output ../../2-layers/datasets/line/output_vectors/line_guided_2_layer.vector.w.l.order2.size32.txt  -size 32 -order 2 -samples 10 -threads 32
# 将两种32维的向量文件组合为一个64维的向量文件
python ../line_combine.py -i1 ../../2-layers/datasets/line/output_vectors/line_guided_2_layer.vector.w.l.order1.size32.txt -i2 ../../2-layers/datasets/line/output_vectors/line_guided_2_layer.vector.w.l.order2.size32.txt -o ../../2-layers/datasets/line/output_vectors/line_guided_2_layer.vector.w.l.combined.size64.txt

tips ❤️

  • 当输出文件的名称较长时,比如:line_guided_2_layer.vector.w.l.order1.size32.txt
  • 可能会出现这个问题:Segmentation fault (core dumped)
  • 将输出文件名称改短一点即可,如:vector.w.l.order1.size32.txt

well done ! ?

  • 快带上你的向量文件做分类、聚类、预测等任务吧~
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GSL 开源 科学计算库 学习笔记(分享部分译稿) GSL是GNU Scientific Libary的简写,是一组专门为数值科学计算而设计的程序库。该程序库用C语言写就,C程序员提供了API。不过 可以对其使用swig工具进行封装,以便能被更高级的语言使用,比如C#,java等。读者可以在网上找到很多swig的例子。 GSL原码是以GPL协议发布的,获取与使用都非常地方便,这也是我们之所以选取GSL学习的根本原因。 GSL库涵盖了数值计算领域的方方面面,主要包括下面的计算领域,还有一些新的程序代码会不断纳入到GSL中。 Complex Numbers 复数; Roots of Polynomials 多项式求根; Special Functions 特殊函数; Vectors and Matrices 向量与距阵; Permutations 排列; Combinations 组合; Sorting 排序; BLAS Support 基础线性代数程序集(向量间运算,向量距阵运算,距阵间运算); Linear Algebra CBLAS Library 线性代数库; Fast Fourier Transforms 快速傅利叶变换; Eigensystems 特征值; Random Numbers 随机数; Quadrature 积分; Random Distributions 随机分布; Quasi-Random Sequences 近似随机分布序列; Histograms 直方图; Statistics 统计; Monte Carlo Integration Monte Carlo积分; N-Tuples N元组; Differential Equations 微分方程; Simulated Annealing 模拟退火算法; Numerical Differentiation 数值差分; Interpolation 拟合与插值; Series Acceleration; Chebyshev Approximations Chebyshev逼近; Root-Finding 求根; Discrete Hankel Transforms 离散Hankel转换; Least-Squares Fitting 最小二乘算法拟合; Minimization 最小值; IEEE Floating-Point IEEE浮点运输; Physical Constants 物理常量; Basis Splines 基本样条曲线; Wavelets 小波变换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值