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

网站建设后百度找不到企业培训课程价格

网站建设后百度找不到,企业培训课程价格,佛山响应式网站建设,体验做愛网站1 先说效果 18个样本,抽平到8500条序列,4344个OTUs,计算beta-NTI共花费时间如下。如果更好的显卡,更大的数据量,节约的时间应该更加可观。 GPU(GTX1050):1分20秒 iCAMP包 的bNTIn.p(…

1 先说效果

  18个样本,抽平到8500条序列,4344个OTUs,计算beta-NTI共花费时间如下。如果更好的显卡,更大的数据量,节约的时间应该更加可观。

GPU(GTX1050):1分20秒
iCAMP包 的bNTIn.p() 函数4核并行:约16分钟

2 计算beta-NTI提速的努力

  1. Stegen等最初在2011年发表论文,利用beta-NTI推断群落构建,但其原始代码过多的使用for循环,效率很低。
  2. 尝试利用并行的方法加速beta-NTI的计算过程,取得一定的效果,但picante包的comdistnt函数计算beta-MNTD的效率也同样很低,所以速度还是偏慢(但比之前Stegen的原始代码好很多了,取决于使用的线程数)
  3. iCAMP包对beta-MNTD的函数的算法进行了优化,极大提高了计算的速度,同样也支持使用多线程。尽管如此,计算的速度和普通的beta多样性计算相比还是慢了很多(毕竟要进行1000次零模型的模拟)。
  4. 本文尝试利用pyhon基于cudacupy包调用GPU计算beta-NTI(总体的运行依然是在R中运行的)
  5. 下一步可尝试编写自定义的核函数,更高效地调用GPU的计算能力,将时间降到更低。

3 计算beta-NTI的代码

  用python写了计算的beta-NTI的函数,但对OTU table的处理、读取遗传发育树、计算OTUs间的遗传距离等依然是在R环境中进行的,然后在R中调用如下的python函数进行计算即可。

3.1 导入需要的python包
import pandas as pd
import numpy as np
import cupy as cp
3.2 基于cupy的计算beta-MNTDpython代码
def bmntd_gpu(otu,phydist):otu_p = otu/(otu.sum(1).reshape(otu.shape[0],1))otu2 = (otu_p != 0)+0comt = cp.zeros(otu2.shape)min_d = cp.zeros(otu2.shape[1])for i in range(0,otu2.shape[0]):id1 = cp.arange(otu2.shape[1])[otu2[i,:] == 1]id2 = cp.arange(otu2.shape[1])[otu2[i,:] == 0]min_d[id1] = 0min_d[id2] = phydist[id1,:][:,id2].min(0)comt[i,:] = min_dD = cp.matmul(comt,cp.transpose(otu_p))D = (D+cp.transpose(D))/2return D
3.3 基于cupy的计算beta-NTIpython代码
def bnti_gpu(otu,phydist,N):N=Notu_cp = cp.array(otu)phydist_cp = cp.array(phydist)row = otu_cp.shape[0]col = phydist_cp.shape[1]bmntd_rand_cp = cp.zeros([row,row,N])for i in cp.arange(N):id = cp.arange(col)cp.random.shuffle(id)phydist2_cp = phydist_cp[id,:][:,id]bmntd_rand_cp[:,:,i]=bmntd_gpu(otu_cp,phydist2_cp)bmntd_obs_cp = bmntd_gpu(otu_cp,phydist_cp)nti = (bmntd_obs_cp - bmntd_rand_cp.mean(2))/bmntd_rand_cp.std(2)return nti.get()

4 与iCAMP包进行比较

library(iCAMP)
library(reticulate)
4.1 iCAMP包计算用时
data("example.data")
comm <- example.data$comm
pd <- example.data$pd
system.time(bNTIn.p(comm, pd, nworker = 4))

用户 系统 流逝
0.72 0.11 43.89

4.2 自定义GPU python函数 bnti_gpu() 用时
use_condaenv("C:/ProgramData/anaconda3/envs/bnti_gpu/")
source_python("./bnti_gpu.py")
system.time(bnti_gpu(comm,pd,as.integer(1000)))

用户 系统 流逝
12.36 3.67 16.67

4.3 iCAMP随机模拟2000遍
system.time(bNTIn.p(comm, pd, nworker = 4,rand = 2000))

用户 系统 流逝
0.69 0.06 87.03

4.4 bnti_gpu() 随机模拟2000遍
system.time(bnti_gpu(comm,pd,as.integer(2000)))

用户 系统 流逝
24.71 6.66 31.65

5 实战操作

  1. 必要的硬件:具有navidia的显卡
  2. 推荐安装anaconda,miniconda也可以。
  3. 导入conda环境的依赖文件bnti_gpu.yaml
    推荐图形界面导入:
    在这里插入图片描述

或者命令行导入

conda env create -n bnti_gpu -f bnti_gpu.yaml
  1. 查看自己显卡对应的cuda版本,目前环境安装的是cuda 9.2GTX1050以上显卡应该都支持。可以在anaconda中进行相应的升级或降级,如果不报错不建议修改。
  2. 参考该博文:如何有效查看电脑显卡对应的CUDA版本 http://t.csdn.cn/GapaH
    在这里插入图片描述

  3. 启动Jupyter Lab,加载beta_nti_gpu_r.ipynb,运行即可。
    在这里插入图片描述
6 测试数据内容与链接

OTU表:otu table.txt
遗传发育树:tree
conda的依赖文件:bnti_gpu.yaml
调用GPU的python函数:bnti_gpu.py
R脚本的jupyter-notebook文件:beta_nti_gpu_r.ipynb

下载链接: 点击这里进行查看

http://www.zhongyajixie.com/news/25018.html

相关文章:

  • 怎样防止别人利用自己电脑做网站石狮seo
  • 八旬老太做直播 什么网站学生没钱怎么开网店
  • 开淘宝店和自己做购物网站哪个好百度投诉中心24人工客服电话
  • 我要浏览国外网站怎么做百度推广四川成都地区服务中心
  • 广州网站设计服务商免费推广网站
  • 免费下载素材的设计网站百度广告竞价
  • 有哪些tp5做的网站定制网站开发
  • 内蒙古网上办事大厅官网windows7系统优化工具
  • 培训行业网站建设的重要性百搜科技
  • 大德通网站建设百度高级搜索怎么用
  • 网站开发一般用广告联盟有哪些
  • 网站整体地图怎么做最好的推广平台排名
  • 青岛企业网站制作公司代写文章接单平台
  • 成都注册网站公司专业的google推广公司
  • 素材解析网站搭建南京关键词优化软件
  • 湖南做网站公司有哪些网站开发报价方案
  • b站推广网站2024已更新企业网络推广计划书
  • 网站seo案例优化推广网站seo
  • 政府网站制作公司千万别手贱在百度上搜这些词
  • 淮南集团网站建设百度推广账户登录首页
  • 平台推广引流怎么做seo建站优化
  • 中英文企业网站制作如何提升网站搜索排名
  • 如何做虚拟币交易网站晨阳seo顾问
  • 建设局网站投诉开发商网络推广费用一般多少
  • 深圳东莞的网站建设公司浙江网站建设制作
  • 怎么怎么做网站系统优化大师下载
  • asp.net窗体网站优化排名
  • 北京手机网站设计公司现在做推广的新渠道有哪些
  • 小程序制作 相册seo怎么优化武汉厂商
  • 怎么判断一个网站是否使用帝国做的哪里有竞价推广托管