umap 速度测试

news2024/9/28 13:23:54

今天终于把umap的速度给测了一下,结果如下

预处理文件(83万的数据量)

# import scanpy as sc 
# adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_raw.h5ad")
# print(adata)
# sc.pp.normalize_total(adata,target_sum=10000)
# sc.pp.log1p(adata)
# sc.pp.highly_variable_genes(adata, n_top_genes=2000, subset = True)
# sc.pp.scale(adata)
# sc.tl.pca(adata,svd_solver='arpack')

# #write to PCA h5ad 
# adata.write("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")

sample=10000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=10000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=20000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=20000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=50000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=50000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=100000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=100000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=200000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=200000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=400000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=400000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=600000

import scanpy as sc 
#import hnswlib
import scanpy as sc
import pandas as pd
from time import time 
# 怎么关闭warning
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
############################
n_sample=600000
############################

adata=sc.read("/DATA1/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_pca.h5ad")
adata=sc.pp.subsample(adata,n_obs=n_sample,copy=True)
print(adata.obsm["X_pca"].shape)
t0=time()
sc.pp.neighbors(adata)
sc.tl.umap(adata)
t1=time()
print("*"*50)
print("*"*50)
print("umap sample={},fit cost {}s".format(n_sample,t1-t0))
print("*"*50)
print("*"*50)
sc.pl.umap(adata,color = ["BATCH", "celltype"])

在这里插入图片描述

sample=800000

这个发生错误,因为计算sc.pp.neighbors()太耗内存了,内存直接炸掉了,所以出不来结果,不过这个时间应该在一个小时左右

环境如下

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP协议---详细讲解

目录 一、HTTP协议 1.http 2.url url的组成: url的保留字符: 3.http协议格式​编辑 ①http request ②http response 4.对request做出响应 5.GET与POST方法 ①GET ②POST 7.HTTP常见Header ①Content-Type:: 数据类型(text/html等)在上文…

H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程...

前言 目前,即时通讯在线咨询在网站、APP、小程序中已经是不可获取的功能,尤其是专注于线上营销的商家,迫切需要一套可以随时与访客交流的即时通讯工具。 如果使用市面上的SaaS客服系统,会在功能上受限制,需要开通高级V…

AWS Control Tower

Hello大家好,在本课时我们将讨论AWS Control Tower。 **AWS Control Tower是AWS organizations的一个功能延伸,**它是设置在organizations的上层,并为您提供一些额外的控制。 通过Control Tower可以创建一个Landing zone,Landing…

linux安装jenkins

1. 官网寻找安装方式 进入到jenkins官网,找到对应的下载页面:https://www.jenkins.io/download/ 根据自己系统还有想要使用的版本,进行选择即可。这里我们使用CentOS作为示例,版本选择长期支持版(LTS) 2.…

DaVinci:色彩扭曲器

调色页面:色彩扭曲器 Color:Color Warper色彩扭曲器 Color Warper是一个非常强大的调色工具,它基于网格的形式,能将控制点从一个位置“扭曲”到另一位置,从而可同时调整两个颜色属性:“色相 - 饱和度”&…

最简单的物体识别例子

第一步下载百度EASYDL工具。 网址EasyDL 图像 然后下载本地训练工具包: 本地下载,运行。 首先创建数据集, 完成,创建目标任务。 选择物体检测创建任务 选择训练,将数据集引入 通用型小型设备SDK 选择这个可以本地直…

Lesson 7.2 Mini Batch K-Means与DBSCAN密度聚类

文章目录一、Mini Batch K-Means 算法原理与实现二、DBSCAN 密度聚类基本原理与实践1. K-Means 聚类算法的算法特性2. DBSCAN 密度聚类基本原理3. DBSCAN 密度聚类的 sklearn 实现除了 K-Means 快速聚类意外,还有两种常用的聚类算法。(1) 是能…

在国内优雅地使用Rancher部署k8s集群

Background 作为一款开源的企业级Kubernetes管理平台,Rancher进入中国已经5年了,在国内使用会有从Github上下载资源慢、拉镜像十分耗时、无法使用library和system-library等问题。通过配置也是可以解决的,即使用阿里云镜像仓库搭建Rancher。记…

2022浙江省“信息安全管理与评估“--应急响应日志分析解析(高职组)

2022浙江省“信息安全管理与评估”(高职组)任务书2022浙江省“信息安全管理与评估”任务书第一阶段竞赛项目试题第二阶段竞赛项目试题任务1:应急响应第三阶段竞赛项目试题2022浙江省“信息安全管理与评估”任务书 第一阶段竞赛项目试题 先略…

21岁,华科博士在读,我的赛事Top经验

Datawhale干货 作者:vaew,华中科技大学,博士二年级在读简介笔者vaew,21岁,现为华中科技大学机械科学与工程学院陶波教授课题组博士二年级学生。主要研究方向是基于视触融合的机器人灵巧操作。学业之余的研究兴趣包括图…

ChatGPT怎么样?

一、先说几个注意的地方1、chat.openai.com发现是中国网络的用户也会访问不了,或提示你此网站在此国家访问不了。2、短信接码平台要先充值,才能加购物车。3、印度、马来西亚、印尼的号不行可以换美国的很快就能收到(找个便宜的)。…

刷题25-重排链表

重排链表 解题思路:通过观察链表可以发现,把链表一分为二,后半段链表反转,然后两个链表穿插连接,当链表的节点总数是奇数时,要保证链表的前半段比后半段多一个节点。 关于把链表一分为二,可以…

CSS中的BFC详细讲解(易懂)

带你用最简单的方式理解最全面的BFC~~~1.先了解最常见定位方案普通流元素按照其在 HTML 中的先后位置至上而下布局行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行所有元素默认都是普通流定位浮动元素首先按照普通流的位置…

通过中断控制KUKA机器人暂停与再启动的具体方法示例

通过中断控制KUKA机器人暂停与再启动的具体方法示例 中断程序的基本介绍:  当出现例如输入信号变化等事先定义的事件时,机器人控制器中断当前程序,并处理一个已定义好的子程序  由中断而调用的子程序称为中断程序  最多允许同时声明32个中断  同一时间最多允许有16个…

Linux网络技术学习(六)—— 网络设备初始化(II)

文章目录初始化选项模块选项设备处理层初始化:net_dev_init用户空间辅助程序kmod解析热插拔虚拟设备虚拟设备范例通过/proc文件系统调整初始化选项 内核内建的组件以及模块加载的组件都能输入参数,使用户调整组件所实现的功能、重写默认值等 模块选项&…

Java微服务安全丨雪崩问题及解决方案

1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时&…

微信小程序 之 原生开发

目录 一、前期预备 1. 预备知识 ​2. 注册账号 - 申请AppID 3. 下载小程序开发工具 4. 小程序项目结构 ​5. 小程序的MVVM架构 二、创建小程序项目 1. 查看注册的appId ​2. 创建项目 ​3. 新建页面 01 - 创建text页面文件夹 ​02 - 新建text的page ​03 - 在app.json中配置 ​…

从未想过制作数据可视化展示竟可以如此简单

还在跟着网络上一节课好几个小时的付费课程学习如何制作数据可视化大屏嘛?还在为不知道怎么设计数据展示排版而苦恼?今天教大家用最简单的方式制作一个数据可视化大屏,首先让我们看一下参考大屏样式:接下来我们将制作数据可视化大…

【Kubernetes】【九】Label,Deployment,Service

Label Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。 Label的特点: 一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等一个资源对象可以定义任意数量的L…

Python正则表达式中group与groups的用法详解

本文主要介绍了Python正则表达式中group与groups的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧目录在Python中,正则表达式的group和groups方…