首页 > 其他分享 >DeepSurvk部署教程

DeepSurvk部署教程

时间:2023-06-14 22:13:49浏览次数:46  
标签:教程 部署 DeepSurvk deepsurvk dll ## train https 安装

DeepSurvk部署教程

作者:千树、Totoro

一、DeepSurvk简介

  • 项目作者原话(翻译)

    DeepSurv 是一种 Cox 比例风险深度神经网络,用于模拟患者协变量与治疗效果之间的相互作用。它最初是由Katzman等人提出的。al(2018)并在Theano中实现(使用Lasagne)。

    不幸的是,不再支持Theano。已经有一些尝试在其他DL平台上重新创建DeepSurv,例如czifan的DeepSurv.pytorch。然而,鉴于它的受欢迎程度和易用性,我认为TensorFlow 2的Keras是完成这项任务的一个很好的选择。

    Mexchy1000 创建DeepSurv_Keras。然而,它是一个非常原始的原型:它没有被适当的记录或验证。此外,它不再得到积极支持。因此,我将其作为开发DeepSurvK的粗略起点。

    这是我的第一个 Python 包。我相信有很多地方可以改进。随时欢迎反馈!

  • 前言

    写这篇文章的目的是为了记录安装deepsurvk中遇到的种种问题和解决方法,也为将要使用deepsurvk的同学们提供参考。deepsurvk安装过程中,由于库比较多,容易出现版本不兼容问题,一旦装错,就得重新再来。朋友要使用deepsurvk做实验,我在帮她安装deepsurvk的过程中遇到了很多问题,后面花了两天时间才解决。于是就打算写一篇博客记录下来帮助后来者减少时间浪费,也总结在安装过程中遇到的经验教训。

二、安装环境

三、新建项目

  • 1.新建虚拟环境项目

    建虚拟目录的好处是可以和原先的目录隔离,避免包的版本冲突

  • 2.在pycharm的终端(terminal)运行命令 pip install deepsurvk

    要在pycharm的终端中运行命令,cmd中运行命令会安装到默认的库,模拟环境有自己的库

  • 3.使用 pip show deepsurvk 查看是否安装成功

  • 4.由于包比较多,安装会比较费事,不想用命令行安装的同学可以直接下载,放在 E:\ProgramDevelopmentProject\pycharmProject\pythonProject1\deep_survk_project\Lib\site-packages 目录下面

    链接:https://share.weiyun.com/0S28yDMZ 密码:kww9ue

    复制过程中,重复的文件可以直接跳过

四、代码测试

  • 测试代码

    import os
    import pandas as pd
    import deepsurvk
    import tensorflow as tf
    
    pd.read_excel
    
    # 解决gpu报错
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
    
    # 查看
    print(tf.test.is_built_with_cuda())
    print(tf.test.is_gpu_available())
    
    ## 测试数据--与患者有关的变量
    x_train = pd.DataFrame({'tx': [0, 0, 1],
    					  'start2': [1, 1, 0],
    					  'sex': [1, 1, 1],
    					  'receth': [1, 1, 1],
    					  'ivdrug': [1, 1, 1],
    					  'homephil': [0, 0, 0],
    					  'karnof': [100, 90, 70],
    					  'cd4': [169, 49, 0],
    					  'priorzdv': [39, 53, 24],
    					  'age': [3, 4, 5],
    					  })
    ## 存活时间
    t_train = pd.DataFrame({'time_d': [189, 199, 285]})
    ## even indicator: e = 1 表示患者被观测到死亡,e = 0 表示患者未被观测到死亡
    e_train = pd.DataFrame({'x': [0,0,0]})
    
    ## deepsurv模型超参数设置
    params = {'n_layers':1,
    		  'n_nodes':10,
    		  'activation':'selu',
    		  'learning_rate':0.001,
    		  'decay':5.667e-3,
    		  'momentum':0.887,
    		  'l2_reg':6.551,
    		  'dropout':0.661,
    		  'optimizer':'nadam'}
    
    ## 构建deepsurv模型
    dsk = deepsurvk.DeepSurvK(n_features=10, E=e_train, **params);
    
    ## 显示模型结果
    dsk.summary()
    
    ## 计算训练网络的目标函数 loss-function,并画出迭代1000次的loss-function图像
    loss = deepsurvk.negative_log_likelihood(e_train)
    print(loss)
    dsk.compile(loss=loss)
    callbacks=deepsurvk.common_callbacks()
    epochs = 1000
    history = dsk.fit(x_train,
    				  t_train,
    				  batch_size=813,
    				  epochs=epochs,
    				  callbacks=callbacks,
    				  shuffle=False)
    deepsurvk.plot_loss(history)
    

五、DLL缺失

  • 测试过程中,可能会提示dll文件缺失,需要安装CUDA解决

  • CUDA下载地址
    https://developer.nvidia.com/cuda-11-6-0-download-archive

    一般情况下,dll文件都放在 C:\Windows\System32 目录下,安装完成后把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin 目录下的所有文件复制到 C:\Windows\System32 即可。

  • cudnn64_8.dll缺失

    cuda的bin目录已经包含了大量的dll文件,cudnn不在,需要额外下载
    https://www.dll-files.com/cudnn64_8.dll.html

  • 网盘下载(已包含所有缺失的dll文件,如果还有,请用上面的链接自行下载)

    链接:https://share.weiyun.com/uhWrpqyq 密码:skindu

六、部署完成

  • 代码测试通过,运行会显示结果

标签:教程,部署,DeepSurvk,deepsurvk,dll,##,train,https,安装
From: https://www.cnblogs.com/qianshu-homepage/p/17481478.html

相关文章

  • 【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable
    问题描述在VSCode中编写好AzureFunctionApp代码后,通过 funcazurefunctionapppublish部署失败,抛出503ServiceUnavailable错误。Gettingsitepublishinginfo...Creatingarchiveforcurrentdirectory...Performingremotebuildforfunctionsproject.Dele......
  • 写给自己的安装教程
    配置百度云服务器环境初始环境一般都包含   python默认是2.7需要做的事1.安装Anaconda3一般会安装在caffe27下,condalist显示的都是python2.7下的安装包。2.配置conda3环境    #condainfo--envs 查看当前conda环境  #condacreate-npy36python=3.6py36是(自......
  • 论文解读- nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segment
    本篇主要解读论文“nnU-Net:Self-adaptingFrameworkforU-Net-BasedMedicalImageSegmentation”==nnU-Net:基于U-Net的自适应医学图像分割框架。实现见本专栏下其他博文。直达链接......
  • nnU-Net 如何安装--傻瓜式安装教程
    这是nnU-Net系列第二篇–安装教程上一篇:nnU-Net介绍篇nnU-Net只在Linux上测试(ubuntu16、18和20;centOS,RHEL)。它也可以在其他操作系统上工作,但我们不能保证它会工作。因此,最好安装在Linux上文章目录安装nnU-Net的硬件条件快速的创建Ubuntu虚拟环境1安装venv模块2创建虚拟环境......
  • 深度学习图像标签标注软件labelme超详细教程
    文章目录前言一、labelme是什么?二、快速安装使用1.windows安装2.linux安装3.macos安装安装成功的哑子三、界面说明四、为图像创建类标签4.1参数介绍4.1文件夹所有文件创建分类标签4.2为文件夹所有文件创建分割标签5.其他问题5.1如何快速查看分割的json文件5.2json转png前......
  • Python教程-多线程与多进程
    什么是线程,什么是进程?进程是程序(软件,应用)的一个执行实例,每个运行中的程序,可以同时创建多个进程,但至少要有一个。每个进程都提供执行程序所需的所有资源,都有一个虚拟的地址空间、可执行的代码、操作系统的接口、安全的上下文(记录启动该进程的用户和权限等等)、唯一的进程ID、环境变......
  • javascript现代编程系列教程之六——parseInt()整数转换
    在JavaScript中,parseInt()函数会将其参数转换为字符串,然后解析该字符串,并返回一个整数或NaN。如果parseInt()函数的参数是一个非常大的浮点数(如1000000000000000000000.5),那么它首先会被转换为科学记数法的字符串形式(即"1e+21"),然后parseInt()会尝试从这个字符串中解析出......
  • 网站如何部署CDN网络?
    本文将介绍CDN的定义、优势以及如何为网站部署CDN网络。通过阅读本文,您将了解CDN如何提高网站性能、降低延迟并提高用户体验。一、CDN定义CDN(ContentDeliveryNetwork,内容分发网络)是一种分布式网络系统,通过将网站内容缓存在全球范围内的多个服务器上,使用户能够从离他们最近的服......
  • tomcat部署web项目
     把程序的war包放在/usr/local/tomcat/webapps/下自动解压部署[root@centos8webapps]#lsdocsexampleshost-managerapp1app1.warmanagerROOT直接访问http://ip:8080/app1ROOT是根目录直接访问http://ip:8080 TRANSLATEwithxEnglishArabicHe......
  • jenkins 自动化部署 flink job
    JenkinsfiledefdeployIp='192.168.1.53'defremote=[:]remote.name=deployIpremote.host=deployIpremote.user='root'remote.password=LCX_PWD_5sremote.allowAnyHosts=truedefgitUrl='http://192.168.1.43:8600/bigda......