DeepSurvk部署教程

news2024/11/27 2:49:52

DeepSurvk部署教程

作者:千树、Totoro

  • github项目地址
    https://github.com/arturomoncadatorres/deepsurvk

  • Pypi项目地址
    https://pypi.org/project/deepsurvk/

一、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的过程中遇到了很多问题,后面花了两天时间才解决。于是就打算写一篇博客记录下来帮助后来者减少时间浪费,也总结在安装过程中遇到的经验教训。

二、安装环境

  • python环境

    python3.7.0: https://www.python.org/downloads/release/python-370/

    安装过程中请确保自己可以找到自己的安装目录,我的安装目录 D:\Environment\python\python3.7.0

  • IDE

    pycharm: https://www.jetbrains.com/pycharm/download/

三、新建项目

  • 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

六、部署完成

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

    在这里插入图片描述

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

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

相关文章

某网站指纹反爬处理

一、问题分析 【疑惑】&#xff1a;使用python的requests库发起get或post请求返回403代码错误&#xff0c;使用postman发起请求发现状态码<200>竟然成功了。这是什么原因&#xff1f;首先排除ip问题&#xff0c;ip有问题的话postman也访问不了。难道是headers出现了问题…

VanillaNet实战:使用VanillaNet实现图像分类

文章目录 摘要安装包安装timm安装 grad-cam 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 论文翻译&#xff1a;https://blog.csdn.net/m0_47867638/article/details/131057152 官方源码&#xff1a;https://github.com/huawei-noah/VanillaNet VanillaNet…

【送书福利-第十二期】机工社Python与AI好书来袭!~

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 本文目录 一、前言二、书籍介绍1、认识AI…

SQL Server 数据加密功能解析

数据加密是数据库被破解、物理介质被盗、备份被窃取的最后一道防线&#xff0c;数据加密&#xff0c;一方面解决数据被窃取安全问题&#xff0c;另一方面有关法律要求强制加密数据。SQL Server的数据加密相较于其他数据库&#xff0c;功能相对完善&#xff0c;加密方法较多。通…

技术背后的温度,夸克App升级智能、普惠、公益高考服务

夸克2023高考信息服务进行了全面升级&#xff0c;通过信息查询、填报工具及专家指导等多维度产品及内容&#xff0c;给考生打造个性化、全周期、全链路的智能信息服务&#xff0c;以提升考生和家长志愿决策的效率。 6月14日&#xff0c;夸克App升级智能选志愿、志愿表等高考信息…

【Java基础学习打卡06】编程语言

目录 引言一、计算机语言是什么&#xff1f;二、计算机语言分类三、计算机语言介绍1.C语言2.C语言3.Java语言4.Python语言 总结 引言 本文主要是理解计算机语言是什么&#xff0c;有哪些分类&#xff0c;分类下有哪些编程语言&#xff0c;以及了解主流的编程语言。 一、计算机…

【源码可分享】教你用Python制作自动答题脚本,实现自动答题,100%正确率!

文章目录 前言一、自动答题的原理二、自动答题的步骤三、Python实现自动答题的方法总结 前言 当今社会&#xff0c;人们的生活越来越依赖于计算机技术&#xff0c;而Python作为一种高级编程语言&#xff0c;已经成为了众多程序员的首选语言。Python具有简单易学、代码简洁、可…

【Java基础学习打卡08】Java语言跨平台原理

目录 引言一、Java程序运行机制二、Java虚拟机三、Java跨平台总结 引言 Java语言编程的一大优势便是跨平台&#xff0c;本文将介绍Java语言是如何实现跨平台的。 一、Java程序运行机制 计算机高级语言按照程序的执行方式可以分为编译型语言和解释型语言。 编译型语言&#x…

一、PyTorch基础

一、PyTorch基本操作 1&#xff0c;导包 import torch2&#xff0c;查看版本号 torch.__version__ """ 2.0.1cpu """3&#xff0c;初始化(全零)矩阵 x torch.empty(3,2) x """ tensor([[7.2868e-44, 8.1275e-44],[6.7262e-4…

教你用Fiddler捕获HTTPS请求

安装Fiddler 这里不特别说明了&#xff0c;网上搜索一大把&#xff0c;根据安装引导一步步安装即可。&#xff08;这里采用的是fiddler v4.6&#xff09; 配置Fiddler 1、打开fiddler配置Tools –>Telerik Fiddler Options。 如果你想学习Fiddler抓包工具&#xff0c;我这…

vue基础--重点

&#xff01;1、vue的特性 &#xff01;2、v-model 双向数据绑定指令 &#xff08;data数据源变化&#xff0c;页面变化&#xff1b; 页面变化&#xff0c;data数据源也变化&#xff09; 1、v-model 会感知到 框中数据变化 2、v-model 只有在表单元素中使用&#xff0c;才能…

CSS体验透视效果

CSS体验透视效果 使用css视距属性perspective结合动画效果实现透视效果。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><me…

金融数字化转型将驶向何处?存储如何保驾护航?

文 | 螳螂观察 作者 | 李永华 “XX行业数字化进入深水区”&#xff0c;经常被谈及。 在金融行业&#xff0c;“深水区”说法却很少出现——这里的数字化始终在“深水区”。 作为数字经济的重要组成部分&#xff0c;金融行业一直走在数字化转型的前沿&#xff0c;总是有新的…

11-执行上下文和执行栈

一、执行上下文 &#x1f35f;&#x1f35f;&#x1f35f;是一种对js代码执行环境的抽象概念 只要有js代码运行&#xff0c;一定是运行在执行上下文中 执行上下文的类型分为三种&#xff1a; 全局执行上下文&#xff1a;只有一个&#xff0c;浏览器中的全局对象就是 window对…

汽车电子Autosar之DTC

目录 一、DTC基本介绍 1、DTC基本组成 2、DTC故障类型 3、DTC与event区别与联系 4、 DTC状态位 5. DTC信息存储 6. DTC信息及状态读取 本文将聚焦于大家都耳熟能详的DTC&#xff08;Diagnostic Trouble Code&#xff09;技术点来聊一聊。 一、DTC基本介绍 DTC顾名思义即…

List of MediaTek systems on chips

这里写目录标题 ARMv7Single coreDual-coreQuad-coreHexa-core and octa-core(六核和八核) ARMv8Quad-coreOcta coreHelio X Series (2014–2017)Helio A Series (2018–2020)Helio P Series (2015–2020)Helio G Series (2019–present)Dimensity Series (2020–present)Dimen…

SimpleCG绘图函数(8)--绘制多边形

在这里将展示多边形的绘制&#xff0c;多边形可以绘制从三角形到任意多边形。绘制函数如下所示: //多边形以一组POINT表示的点坐标数组ptPoints为顶点&#xff0c;nNum表示数组中的点数量//画无填充多边形 void polygon( const POINT *ptPoints, int nNum );//画无边框填充多边…

Android进阶 四大组件的工作过程(三):广播的注册,发送和接收过程

Android进阶 四大组件的工作过程&#xff08;三&#xff09;&#xff1a;广播的注册&#xff0c;发送和接收过程 导语 本篇文章是介绍四大组件工作过程的第三篇文章&#xff0c;在前两篇文章里我们已经介绍了Activity和Service的工作流程。而本篇文章&#xff0c;我们将介绍广…

第七十四天学习记录:高等数学:不定积分(宋浩板书)

给定一个函数f(x)&#xff0c;如果存在一个函数F(x)&#xff0c;满足F’(x)f(x)&#xff0c;则称F(x)是f(x)的一个原函数。我们通常用∫f(x)dx表示f(x)的不定积分&#xff0c;它表示的是所有原函数的集合&#xff0c;也就是说&#xff0c;∫f(x)dx就是f(x)的原函数集合。 不定…

Docker安装wordpress并配置数据库(超详细版)

Docker在线拉取安装wordpress并配置数据库 一、拉取wordpress镜像(默认最新)二、启动wordpress容器三、查看容器状态四、安装wordpress博客程序 如果您已经在 Docker 容器中分别安装了 WordPress 和 MySQL&#xff0c;并且想要让它们链接起来&#xff0c;可以按照以下步骤进行操…