服务器内存爆炸

news2024/11/20 8:33:11

我在122服务器上测试了FullMouseBrain的数据集,发现内存爆炸

print("................................................import package ....................................")
import os
import sys
#########################################################################################################################
#########################################################################################################################
#########################################################################################################################
##########Attention1: Because I want to classify my result to different folder,so I set this ############################
#os.chdir("/Users/xiaokangyu/Desktop/tDCA_project/tDCA/")
cur_dir=os.getcwd()
sys.path.append("/DATA2/zhangjingxiao/yxk/tDCA_multi_sample/tDCA/") # you should change this path to fit your own system
#########################################################################################################################
#########################################################################################################################
#########################################################################################################################
import pandas as pd
import scanpy as sc
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import argparse
from scipy.sparse import issparse
from IPython import get_ipython
if("ipykernel" in sys.modules):
    get_ipython().run_line_magic('matplotlib', 'inline')
else:
    matplotlib.use('Agg')
    os.system("clear")# clean screen in vscode,not os.system("clean")
from sklearn.metrics.cluster import adjusted_rand_score,normalized_mutual_info_score
from sklearn.metrics import silhouette_score

import torch
from torch.autograd import Variable
from time import time # calculate running time 
##################
from preprocess import read_dataset,normalize
from tDCA import tDCA## use DCA  autoencoder model
from tAE  import tAE ## use normal Autoencoder model
from utils import *
from loss import *
from train import train_model
from time import time # record time

#from torchsummary import summary
# run pip install torchsummary---->print number of parameters and model like model.summary() in keras
##########################################################################################################################

if __name__ == "__main__":
    ##########################################set parameters in command line##################################################
    parser = argparse.ArgumentParser(description="set parameters for tDCA", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument("--dataset", default = "dataset", type = str,help="dataset name")
    parser.add_argument("--datatype",default="single",type=str,choices=["single","multi"],help="type of dataset(single or multi)")
    parser.add_argument("--highly_genes", default = 1000, type=int,help="number of highly variable genes")
    parser.add_argument("--pretrain_epochs", default = 50, type=int,help="maximum epochs in pretrain stage")
    parser.add_argument("--batch_size",default=256,type=int,help="batch size for tDEC training")
    parser.add_argument("--save_raw",default=0,type=int,help="visulize raw dataset")  ## use integter
    parser.add_argument("--resolution",default=0.5,type=float,help="default resolution selected in louvain algorithm")
    parser.add_argument("--n_cluster",default=4,type=int,help="n cluster set for louvain algorithm in DEC clustering stage")
    parser.add_argument("--K",default=20,type=int,help="K nearest neighghour choosen in calulating KNN and MNN")
    parser.add_argument("--save_corrected",default=1,type=int,help="whether to save final embedding to file")
    parser.add_argument("--plot_MNN",default=0,type=int,help="whether to plot MNN pair")
    parser.add_argument("--batch_name",default="BATCH",type=str,help="string indicate batch information in dataset")
    parser.add_argument("--interval",default=100,type=int,help="interval to visulize the embedding in pratrain stage")
    parser.add_argument("--Lambda_tri",default=1.0,type=float,help="weight of Adaptived triplet loss")
    parser.add_argument("--Lambda_recon",default=0.1,type=float,help="weight of reconstruction loss")
    parser.add_argument("--Gamma",default=2.0,type=float,help="weight of AP(anchor positive) and AL(anchor limit) in Adapted Triplet Loss")
    parser.add_argument("--do_tsne",default=1,type=int,help="Do TSNE plot in final embedding")
    parser.add_argument("--do_umap",default=1,type=int,help="Do UMAP plot in final embedding")
    parser.add_argument("--reproduce",default=1,type=int,help="whether to reproduce the result")
    parser.add_argument("--seed",default=1,type=int,help="random seed to reproduce result")
    parser.add_argument("--dec_clustering",default=0,type=int,help="whether to apply dec clustering after triplet learning")
    args = parser.parse_args("")

    dataset=args.dataset
    datatype=args.datatype
    n_hvg=args.highly_genes
    num_epochs = args.pretrain_epochs
    batch_size = args.batch_size #
    save_raw=args.save_raw
    reso=args.resolution
    n_cluster=args.n_cluster
    k=args.K
    save_corrected=args.save_corrected
    plot_MNN=args.plot_MNN
    batch_name=args.batch_name
    interval = args.interval
    lamb_tri=args.Lambda_tri
    gamma=args.Gamma
    lamb_recon=args.Lambda_recon
    do_tsne=args.do_tsne
    do_umap=args.do_tsne
    reproduce=args.reproduce
    seed=args.seed
    dec_clustering=args.dec_clustering

    ############################################################################################################################################
    ############################################################################################################################################
    ############################################################################################################################################
    ############################################################################################################################################
    ###############################################different setting for different dataset######################################################
    print("...................................................................................................")
    print(".........................................read data.................................................")
    adata = sc.read("/DATA2/zhangjingxiao/yxk/dataset/FullMouseBrain/FullMouseBrain_raw.h5ad") 
    print(adata)
    dataset="FullMouseBrain"
    datatype="single" #
    n_cluster= 13
    ############################################################################################################################################
    ############################################################################################################################################
    ############################################################################################################################################
    ############################################################################################################################################
    ############################################################################################################################################

    if(issparse(adata.X)):
        adata.X=adata.X.toarray()
        adata.raw=adata ## speed is slowly when training sparse matrix withn DCA model

    if(datatype=="single"):
        batch_name=None
        adata.obs["BATCH"]="1" #  convenient for plot
    else:
        batch_name="BATCH"# BATCH in your adata.obs
        
    print("..................................read data done...................................................")
    print("...................................................................................................")
    ######################################################################################################
    print(".......................Basic information about parameter setting...................................")
    print("dataset={}".format(dataset))
    print("datatype={}".format(datatype))
    print("number of hvg={}".format(n_hvg))
    print("total training epochs={}".format(num_epochs))
    print("batch_size={}".format(batch_size))
    print("resolution={}".format(reso))
    print("wheather to plot and save visulization of raw data:{flag}".format(flag="True" if save_raw else "False"))
    print("final number of cluster={}".format(n_cluster))
    print("K nearest neighour={} (knn,mnn)".format(k))
    print("wheather to save corrected embedding by tDEC:{flag}".format(flag="True" if save_corrected else "False"))
    print("wheather to plot MNN pair of dataset:{flag}".format(flag="True" if plot_MNN else "False"))
    print("{} indicate the batch id in dataset".format(batch_name))
    print("interval={}".format(interval))
    print("weight of triplet loss:{}".format(lamb_tri))
    print("weight of reconstruciton loss:{}".format(lamb_recon))
    print("weight of AP(anchor positive) and AL(anchor limit) in Adapted Triplet Loss:{}".format(gamma))
    print("do tsne after final training:{flag}".format(flag="True" if do_tsne else "False"))
    print("do umap after final training:{flag}".format(flag="True" if do_umap else "False"))
    print("reproduce with training:{flag}".format(flag="True" if reproduce else "False")) ####
    print("Do dec clustering after training:{flag}".format(flag="True" if dec_clustering else "False")) ######

    ##########################initialization for addtional setting###############################
    print("...............................initialization for addtional setting................................")
    method="tDCA"
    print("method={}".format(method))
    ae_weight_file='AE_weights.pth.tar'  ## not implemented now
    ae_weights=None ## not implemented now
    save_dir=cur_dir+"/output/"+dataset
    sc.settings.figdir=save_dir
    seed_torch(1)# for reproduce
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print("device={}".format(device))
    if not os.path.exists(save_dir):
        os.makedirs(save_dir)
    filelist = [ f for f in os.listdir(os.path.join(os.getcwd(),save_dir))]
    for f in filelist:
        os.remove(os.path.join(os.getcwd(),save_dir, f))
    ###############################################################################################

    #########################data preprocessing ###################################################
    time_start=time()
    print("...................................................................................................")
    print("....................................data preprocessing.............................................")
    adata = read_dataset(adata,
                            transpose=False,
                            test_split=False,
                            copy=True)
    adata = normalize(adata,
                            size_factors=True,
                            normalize_input=True,
                            logtrans_input=True,
                            select_hvg=True,
                            n_hvg=n_hvg,
                            subset=True,max_value=10.0)

结果这里就出现了问题
在这里插入图片描述

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

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

相关文章

Objective-C 父元素和子元素的点击事件

场景: (需求1)pageA一开始是【默认模式】,点击父元素view(包括【搜索】文字),进入【搜索模式】; (需求2)在pageA中,点击【取消】文字时&#xff…

YUM搭建LNMP

配置在线源 安装Nginx 检查安装版本 开启服务设置开机自启 安装MySQL 连接MySQL 开启服务设置开机自启 在日志中查看MySQL用户原始密码 登录MySQL 关闭自动更新 安装 php7.2 开启服务设置开机自启查看版本号 配置 nginx 支持 PHP 解析 测试MySQL是否能成功登录

IDEA下Logback.xml自动提示功能配置

首先打开logback的配置文件&#xff0c;在configuration标签中加入xsd的配置 <configuration xmlns"http://ch.qos.logback/xml/ns/logback"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ch.qos.logback/xml…

python 视频转字符视频 bate

只需要在最后一行括号填入视频路径即可 import os from PIL import Image, ImageDraw, ImageFont import cv2 import time from tqdm import tqdm import threading if __name__ __main__:# path rimg\sportball\0.jpgdef cv2_pit_imgchar(path,save_path):def create_i…

Flutter系列(十)实现个人中心页

基础工程&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 一、前言 本文用flutter实现个人中心页布局&#xff0c;效果如下图&#xff1a; 二、使用的组件 1.颜色渐变&#xff1a;LinearGradient 线性渐变组…

ChatGLM-6B第二代模型开源,拿下LLM模型中文能力评估榜单第一名

ChatGLM-6B 自3月14日发布以来&#xff0c;深受广大开发者喜爱。截至 6 月24日&#xff0c;来自 Huggingface 上的下载量已经超过 300w。 为了更进一步促进大模型开源社区的发展&#xff0c;我们再次升级 ChatGLM-6B&#xff0c;发布 ChatGLM2-6B 。在主要评估LLM模型中文能力…

【SWAT水文模型】ArcSWAT各种报错总结

1 Error Number :-2147467259&#xff1b; 对 COM 组件的调用返回了错误 HRESULT E_FAIL 1.1 报错内容 Error Number :-2147467259 Eror Message: Eror HRESULTE FAIL has been retuned froma alltoa a COM component. Module:mAnalysis Function:dissolve Procedurure:1 随后…

DDR5这么快,为啥还能那么稳?

高速先生成员--姜杰 大家都在关注DDR5跑的有多快&#xff0c;高速先生却在关心它为什么能够跑的稳…… 内存的稳定性&#xff0c;离不开RAS功能。提起RAS&#xff0c;熟悉DDR的小伙伴们一定记得行地址选通信号&#xff08;Row Address Strobe, RAS&#xff09;&#xff0c;不…

Vuforia专题:设置AR摄像头自动对焦

Vuforia专题&#xff1a;设置AR摄像头自动对焦 一&#xff0c;前言 在之前使用的时候&#xff0c;如果没有设置自动对焦可以发现&#xff0c;摄像头画面极其模糊。并导致识别的结果不是很理想 加上自动对焦后的效果如下&#xff1a; 二、具体步骤 1、ARCamera添加脚本Cam…

Axure教程——自动获取时间

本文介绍用Axure制作的自动获取时间 效果预览 预览地址&#xff1a;https://y0pdhk.axshare.com 原型制作 1、需要的元件 六个矩形 一个动态面板 2、制作 年月日 拖入一个矩形元件&#xff0c;命名为“年月日”&#xff0c;文本设置为“年月日”&#xff0c;如图&#xff1a…

基于FFMPEG的视频拉流并传给OPENCV显示

基于FFMPEG的视频拉流并传给OPENCV显示 依赖文件解压代码编写依赖配置编译运行 依赖文件解压 将ffmpeg-master-latest-win64-gpl-shared解压&#xff0c;得到如下所示文件夹&#xff1a; 将其中的bin目录下的.dll文件复制到C:\Windows\System32目录下。 代码编写 基于FFMPE…

vscode 的终端不识别npm 命令

1.问题描述 在vscode终端输入npm指令无法识别 但是在cmd就可以 在PowerShell输入npm同样无法识别 2.解决办法 点击火狐浏览器可以看到有一个路径 没有火狐浏览器点击vscode同样可以看到路径 注&#xff1a;箭头指向的就是 然后在我的电脑找到该路径 下的npm文件 删除该…

SaaS架构方案

四大架构体系&#xff08;业务架构&#xff08;省略&#xff09;、系统架构、技术架构、布署架构&#xff09; 1.业务架构&#xff08;省略&#xff09; 2.系统架构 3.技术架构图 4.布署架构

Kubernetes核心概念汇总—Kubernetes 架构

一、概述 此页面是 Kubernetes 的概述。 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态&#xff0c;其服务、支持和工具的使用范围相当广泛。 Kub…

杂记 | Linux服务器使用docker安装keycloak(docker-compose)

文章目录 01 关于keycloak02 准备工作2.1 安装docker2.2 安装docekr-compose2.3 获取https证书 03 编写docker-compose.yml04 访问keycloak 01 关于keycloak Keycloak是一个开源的身份和访问管理解决方案&#xff0c;由RedHat公司开发和维护。它提供了一套全面的工具和功能&am…

centos 安装 nginx

1.下载nginx安装包 wget -c https://nginx.org/download/nginx-1.24.0.tar.gz 下载到了当前目录下 2.解压安装包 解压后的结果 3.安装依赖 yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 4. ./configure --prefix/usr/lo…

雷达侦察系统

文章目录 前言 一、系统组成 二、数字信道化侦察接收机 三、信号处理器 总结 前言 本人主要从事电子侦察中辐射源目标定位的研究工作&#xff0c;下面简单介绍传统雷达侦察系统的简单系统组成&#xff0c;希望有研究相同方向的同行可以私信交流。 一、系统组成 典型雷达侦察…

python机器学习—— 数据预处理 算法初步

目录 数据预处理1.获取数据2.处理缺失值3.划分数据集4.数据预处理和PCA降维5.算法实现&#xff1a;估计器 数据预处理 1.获取数据 from sklearn.datasets import load_iris liload_iris() print("获取特征值") print(li.data) print("目标值",li.target)#…

千万级规模微服务稳定性技术揭秘:隔离策略

随着当今云原生的发展&#xff0c;无状态微服务系统通过其良好的设计理念和相关技术栈的成熟&#xff0c;成为越来越多企业建设系统的首选&#xff0c;但不可避免的是随着微服务拆分系统增多&#xff0c;稳定性慢慢会被重视&#xff0c;如何保证服务7*24小时不间断服务&#xf…

数据结构---循环链表

数据结构—循环链表 循环单链表 typedef struct LNode {ElemType data;struct LNode* next; }LNode, *LinkList;循环单链表初始化 bool InitList(LinkList &L) {L (LNode*)malloc(sizeof(LNode));if (L NULL) return false;L->next L; //头结点next指向头结点retur…