深度学习
文章平均质量分 52
镜中隐
迷茫时,别停下!行动才是超能力!
展开
-
Ubuntu18.04 LTS 安装nvidia驱动出现Ignoring CC version mismatch
安装nvidia驱动出现Ignoring CC version mismatch问题的解决方法,出现NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running问题的一种可能解决方法。原创 2021-12-16 10:58:08 · 2553 阅读 · 0 评论 -
Ubuntu18.04全命令行在3090显卡上安装pytorch环境
1.3090驱动安装:sudo add-apt-repository ppa:graphics-drivers/ppasudo apt updatesudo apt install nvidia-driver-470sudo apt autoremove xserver-xorgsudo apt autoremove --purge xserver-xorgsudo apt-mark hold nvidia-driver-470 # Freeze NVIDIA Drivers。阻止自动更..原创 2021-10-09 15:31:30 · 1777 阅读 · 4 评论 -
图像分割中dc_loss忽视标签实现
实现:>>> import torch>>> from torch import nn>>> input = torch.randn([3,3], requires_grad=True)>>> target = torch.empty([3,3]).random_(2)>>> mask = torch.Tensor([[0.,0.,1.],[0.,0.,1],[1.,1.,1.]])>>&g原创 2021-09-08 14:50:16 · 290 阅读 · 0 评论 -
Pytorch的BCEWithLogitsLoss函数中忽视标签怎么实现
1.尝试:>>> import torch>>> from torch import nn>>> loss = nn.BCEWithLogitsLoss()>>> loss1 = nn.BCEWithLogitsLoss(reduction='none')>>> input = torch.randn(3, requires_grad=True)>>> inputtensor([0.原创 2021-09-08 14:42:38 · 1525 阅读 · 0 评论 -
关于在阅读nnUNet代码中的一些小细节的记录(三)
1.推理阶段:nnUNet/nnunet/training/model_restore.py的60行的recursive_find_python_class函数的参数current_module。改为当前的network_training目录的位置。如下:current_module="AIseg.core_prepare_result.nnunet.training.network_training"...原创 2021-04-30 17:53:23 · 566 阅读 · 4 评论 -
关于在阅读nnUNet代码中的一些小细节的记录(二)
1.推理阶段:在nnUNet/nnunet/network_architecture/neural_network.py的250行的_get_gaussian函数。 def _get_gaussian(patch_size, sigma_scale=1. / 8) -> np.ndarray: tmp = np.zeros(patch_size) center_coords = [i // 2 for i in patch_size] sig原创 2021-02-22 16:00:03 · 707 阅读 · 0 评论 -
关于在阅读nnUNet代码中的一些小细节的记录(一)
首先,感谢paper桑大佬关于nnUNet项目的解释,我从中获益很多。本片是关于nnUNet代码中我看到的认为可能比较重要的某些细节的记录。1.原创 2020-10-23 16:48:44 · 2517 阅读 · 5 评论 -
关于Resnet50和ResNeXt50的参数量的简单计算(只考虑卷积层和全连接层)
主要是我想知道ResNeXt50按cardinality方式每组是不是共享了参数?参考一张图:https://www.zhihu.com/question/323424817上面已经写了Resnet50和ResNeXt50的参数量Resnet50的参数量:1.conv1: 3(jpg输入三通道)*64(输出64通道)*7*7(卷积核参数)=90482.conv2:(64*...原创 2020-04-20 21:08:18 · 24113 阅读 · 7 评论 -
pytorch加载之前训练模型中的部分参数以及冻结部分参数(实测,自己实际项目代码中的)
我的需求是,由于我在不停的尝试各种模型,导致模型木块一直会变。如果每次重复重新开始训练要花费大把时间。我之前运行的模型ResNet-> 三个ResNet参数共享。 ResNet-> 中间模块-> 结果 ...原创 2020-03-24 17:23:32 · 2405 阅读 · 0 评论 -
pytorch 一些关于模型参数冻结的问题
1.lambda表达式,又称匿名函数作用:函数速写语法:lambda arg : expression,解释:冒号前是参数,冒号后是返回值。例子:>>x=range(10)>>lambda x:x%2==12.filter函数参数:一个函数func和一个列表listfunc的作用:对list的每个元素进行判断,符合条件返回true,否则返回f...原创 2020-03-24 15:48:28 · 3481 阅读 · 4 评论 -
反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)加入自己的思考(pytorch函数)(三)
ps:最近在做分割在github上找代码看模型时老发现尺度从小到大那部分,有的是采用上采样(双线性插值)+卷积,有的用反卷积。为什么不相同能,我查阅相关资料发现这位知乎大神根据外网大佬文章总结原因。知乎地址:https://www.zhihu.com/question/328891283。先放下我之前一二中都会放的图:这次我们重点关注下反卷积和上采样+卷积的结果对比。借用上面知乎大神的示例...原创 2019-11-28 16:12:59 · 1603 阅读 · 0 评论 -
luna16标签数据里的xyz,以及CT的dicom.ImagePositionPatient里的三个值分别代表哪些轴的初始点
在来看看dicom.ImagePositionPatient中三个值代表的是哪个的那些轴注意看第一段代码中的x对应Origin[0],y对应Origin[1],z对应Origin[2].而Origin的获取是以下代码:Ps:这里面的一些道道给了我很大的困扰,这里在我脑袋清晰的时候将理解记录下来防止以后再次弄混.先来看张图看看是怎么照CT:所以先不看Z轴,只看X轴和Y轴这个面,看出X是列...原创 2019-11-05 18:22:50 · 5961 阅读 · 0 评论 -
retinanet网络模型结构
ps:现在忙了好多,没时间更新博客了.现在我就简单直观得讲下retinanet网络模型结构.网上超多的博客的retinanet的结构只是放了如下:这里面的(a)和(b)之间的结构还是比较直观的也能理解(最多实际过程中FPN的输出层数变化会有偏差),但是(b)和(c),(d)之间看起来比较明确,但是对于最开始作为初学者的我存在这样的想法如果一个FPN输出的一个层后面会有W*H*KA和W*...原创 2019-10-24 18:32:37 · 2222 阅读 · 3 评论 -
3Dcnn 降假阳性模型调试(一)
3Dcnn模型网上很多,我是在github上找的,根据自己的理解再改了下.具体就不贴了,下面重点讲讲我输入数据的变化.1.一开始直接根据luna16数据中的candidates_V2.csv中标记的''0"为假阳性,"1"为阳性.然后直接从原raw分辨率下截取(20,36,36)放入模型.结果不是很好(只用subset0的数据('1'的多7次采样)为训练数据.再用subset0的数据('1'的...原创 2019-04-19 20:12:23 · 2097 阅读 · 57 评论 -
3Dcnn 降假阳性模型调试(三)
ps看清了上面问题的本质,我尝试来调整批次大小以及多进程数(也就是torch的DataLoader函数的参数)来看看怎么样可以加快运行速度.(同时会看下cup负载和gpu占用率).先根据自己的回忆大致计算周末约60个小时的192个批次的运行速度(192*512)/(60*60*60)fps,得到0.455fps.(这个进程数忘了是16还是32或者是64了)part1 :batch_siz...原创 2019-04-24 10:52:17 · 696 阅读 · 6 评论 -
3Dcnn 降假阳性模型调试(七)
ps:3Dcnn 降假阳性模型调试的四,五和六我就不公开了.一直都在调试解决cpu数据读入速度慢的问题(现在速度到达了550fps是最慢的时候1000多倍啊!!!,时间差了多少啊!!!).最后还是没有利用所有的数据.但是luna16中的pos全部利用了.neg利用了10%左右(差不多也够了).这里总结一下这段时间的感悟和收获(跟之前可能有部分重复),希望像我一样的新手们能少走弯路:1.最重...原创 2019-04-30 16:26:05 · 483 阅读 · 0 评论 -
3Dcnn 降假阳性模型调试(二)
ps:已经快被逼疯了,太慢了(3dcnn).已经超出我的忍受范围了.上篇博客的第二中方法的数据60多个小时只运行了一个epoch的1/5.,(换算1/50的数据跑一个epoch大概需要6个小时)。1.再简化将第二中方法的输入数据改为更加简单的第一种方法而且只取之前数据的1/50,发现还是很慢.12个小时只跑了1.5个epoch(换算一个enpoch需要8小时,比上面还慢).只能静下心来看看是哪...原创 2019-04-23 15:15:46 · 520 阅读 · 0 评论 -
Deformable ConvNets自己的理解
ps好久没更新博客了,主要之前想把grt团队代码加入fpn,然后多尺度下预测.没成想玩崩了.结果很不正常.调了很多参数都不行(主要改了模型,多尺度标签,多尺度损失函数等等相应问题).后来有点其他事要忙.上周之前刚把降假阳性的3dcnn模型搞定(还要用3dunet降假阳性(联合),没写),趁着训练的时候看下之后可能用到的网络.Deformable ConvNets其实我是先看到了V2,总体明白但...原创 2019-04-17 20:18:52 · 1559 阅读 · 0 评论 -
关于python中自己写的模块之前相互调用函数
PS:之前偷懒直接用了添加系统路径的方法,现在代码越改越多也越杂,而且最近要添加多个配置参数,当我添加完参数发现崩了,服务计算一直失败,还是得用导包的形式,之前稍微用过但是一直模棱两可一知半解,现在知道一旦代码函数多了之后就得用它,希望能比较直观的理解1.先说下偷懒的方式也就是如下代码:import sys, ossys.path.append(os.path.dirname(_...原创 2019-07-16 18:12:58 · 817 阅读 · 0 评论 -
3Dcnn 降假阳性模型调试(八)
Pytorch的训练模式和测试模式切换使用时切记要根据实际情况切换:model.train()model.eval()一般训练时候:net = NoduleNet()net = net.cuda()cudnn.benchmark = Truenet = DataParallel(net)net.train()测试时候:net = NoduleNet()net =...原创 2019-04-30 20:10:38 · 541 阅读 · 4 评论 -
pytorch从ubuntu16.04到win7的迁移(解决)
ps:最近很崩溃,应要求部署要从linux转到win7下。我遇到了关于pytorch两个大问题:windows导致pytorch版本的变换和顺带改变的python版本。先来看先我安装两个pytorch版本代码的不同:(不管cu版本)1).pip install http://download.pytorch.org/whl/cu80/torch-0.3.0-cp27-cp27mu-linu...原创 2019-05-27 11:26:12 · 484 阅读 · 0 评论 -
3Dunet 降假阳性模型预处理
ps前段时间一直在将肺结节检测和3Dcnn降阳性模型封装到一起.输入一个检查输出检测结果插入数据库.同时编写接口供前端和中间件调用.可检测结果的去假阳性这步还是不太令人满意.故再用3Dunet 降假阳性模型联合3Dcnn降阳性模型一起去假阳性. 由于想获取32*32*32的块(分辨率1*1*1mm),故需要重采样.但是luna16中给的candidates_V2.csv有70多万个候选结节....原创 2019-06-05 17:03:25 · 1941 阅读 · 38 评论 -
Focal Loss 分类问题 pytorch实现代码(续2)
ps:咱们继续.先贴一下交叉熵的公式:在贴一下我的尝试:>>> import torch>>> input=torch.randa(4,2)>>> inputtensor([[ 0.0543, 0.5641], [ 1.2221, -0.5496], [-0.7951, -0.1546]...原创 2019-06-12 19:44:14 · 1003 阅读 · 3 评论 -
Focal Loss 分类问题 pytorch实现代码(续3)
ps:虽然无法用NLLLoss函数来实现.但好歹最后实现了自己的想法.现在再来测试下最后和最开始的Focal Loss如下:import torchimport torch.nn as nn #二分类class FocalLoss(nn.Module): def __init__(self, gamma=2,alpha=0.25): super(Focal...原创 2019-06-14 14:19:24 · 2056 阅读 · 12 评论 -
Focal Loss 分类问题 pytorch实现代码(简单实现)
ps:由于降阳性这步正负样本数量在差距巨大.正样本1500多个,而负样本750000多个.要用Focal Loss来解决这个问题.首先感谢Code_Mart的博客把理论汇总了下https://blog.csdn.net/Code_Mart/article/details/89736187.并实现了Focal Loss的二分类和多分类的代码并讲解.同时他与xwmwanjy666的讨论更讲清楚了...原创 2019-06-11 18:19:20 · 15281 阅读 · 31 评论 -
关于大量数据的随机打乱重保存.(少了详细解释,之后会更新)
ps:想要数据随机打乱时遇到由于数据量太大导致电脑卡死:def myshuffle(path,save_path,b,bb): for parent, dirnames, filenames in os.walk(path): l = len(filenames) lst = list(range(l-1)) random.shuffle(lst) ...原创 2019-06-18 18:58:23 · 515 阅读 · 0 评论 -
pytorch 关于显存增长原因以及显存占用优化
ps:师傅希望想tensorflow一样设置GPU占用(tf.GPUOptions),但事实情况是好像pytorch根本就没有相关函数来设置(如8G显存我只用2G,来跑是否可行)1.网上很多攻略关于pytorch 训练时显存持续增长的问题其实这个问题主要出现在0.4之前的版本,在累加loss时用的是loss_sum+=loss,而非loss_sum+=loss.data[0].因...转载 2019-07-16 18:53:37 · 10156 阅读 · 0 评论 -
pytorch 的自动求导机制解释
Ps:在深度理解自动求导机制时,非常幸运一开始看了ronghuaiyang大神翻译的这篇博客https://blog.csdn.net/u011984148/article/details/99670194从而整体思路没有出现偏差,但是由于本人水平不够的原因好多地方都是懵懵懂懂,一知半解的状态。所以我花了一下午找了相关资料整理了下,将博客理解配上代码重新以更直观的角度理解下这个简单,而又不那么简...原创 2019-09-18 10:26:31 · 1096 阅读 · 0 评论 -
LUNA16_Challange数据预处理2
ps 直接上好像有点困难,那么先整理下LUNA16_Challange中平安科技公司的技术说明中预处理部分(还是比较好理解,理解错误欢迎指正)Data PreprocessingAt first, we get the lung area by using traditional methods, and then preprocessing is performed on the lun...原创 2019-01-03 18:12:03 · 6365 阅读 · 14 评论 -
DSB2017第一名代码尝试运行(记录自用)(五)
ps今天居然忘了之前懂的地方,又花时间重新理解了一遍。看来记录还是非常重要的。主要是将代码中构造标签这一块说下细节。之前的博客中说过:制作了一个24*24*24*3*5的标签。一起看你可能理解不了把这拆开看就ok了。首先24*24*24看成一个立方体,这个立方体的每个像素代表这个像素返回输入那个96*96*96中对应4*4*4的中心位置(其实是1.5*1.5*1.5),3代表3个直径尺度,5代...原创 2019-03-26 16:16:01 · 1429 阅读 · 38 评论 -
pytorch框架快速测试你的模型结构是否存在问题并得到输出形状
ps:这两天很郁闷把模型改了之后,代码一跑起来就把电脑卡死了。我就尝试看看我写的模型有没有错。就在模型后面加了如下代码:#测试模型的代码def FPN(): return Net()def test(): from torch.autograd import Variable net = FPN() fms = net(Variable(torch.ran...原创 2019-03-22 19:15:20 · 1030 阅读 · 0 评论 -
deeplung代码实现测试是卡住情况说明
ps:本来今天就要开始将讲解deeplung代码的可惜测试的时候老是出现问题。这个问题是测试的时候老出现测试到一半就卡主不动了。注意没有报错(88个ct,到43个就不动了但是显存还是占着)。下面是尝试:1.首先直接在网上找发现没什么参考资料。2.没办法接着只能尝试下是不是数据问题,把数据等分分成两批测试,发现没有问题。这就排除了数据问题导致的。3.我后来搜索‘torch卡死’发现了...原创 2019-01-25 17:18:18 · 1105 阅读 · 31 评论 -
liunx下pytorch(python2.7)先前几个版本的安装(由于官网点击先前版本进不去)
1版本:pip install http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp27-none-linux_x86_64.whl 2版本:pip install http://download.pytorch.org/whl/cu80/torch-0.2.0-cp27-cp27mu-linux_x86_64.whl3版本:...原创 2019-01-25 14:54:14 · 2795 阅读 · 4 评论 -
LUNA16_Challange数据预处理4
1.导入官方maskMask,origin,spacing,isflip = load_itk_image(os.path.join(luna_segment,name+'.mhd'))2.求取左右肺maskm1 = Mask==3m2 = Mask==4 3.求取膨胀操作去除肺部黑洞后的左右肺maskdm1 = process_mask(m1)dm2 =...原创 2019-01-15 13:58:12 · 2363 阅读 · 4 评论 -
deeplung代码实现主题讲解
ps 想要用3dFPN网络来实现对luna16肺结节的3d检测,但是之前尝试从2dfpn升到3d对我来说几乎不可能的。现在改变思路想从3dfaster-rcnn入手。将其改进为3d fpn 这个方向更简单。但是发现直接搜索3d-faster-rcnn,没有具体的代码资料。只在github上搜索到caffe框架的3d-faster-rcnn(我对这框架不熟啊)。最后在github上无意中搜索到了...原创 2019-01-24 11:19:13 · 3109 阅读 · 69 评论 -
深度学习目标检测网络FPN tensorflow升3d尝试
初始代码在github上。你只要搜索FPN tensorflow 即可,赞最多的那个便是。目标是想要将其该为3d的FPN。https://github.com/DetectionTeamUCAS/FPN_Tensorflow但是遇到了三个问题,有一个无法解决:1.FPN tensorflow代码中集成了很多方法和基础模型,导致整体流程从代码中无法直观得看出流程。模型基础的部件定义过于分散,...原创 2019-01-24 10:43:36 · 1245 阅读 · 0 评论 -
理解R-CNN、SPP-NET、Fast R-CNN、Faster R-CNN、FPN博文整理
1.总体https://www.cnblogs.com/skyfsm/p/6806246.html2.R-CNN,SPP-NET对比https://blog.csdn.net/v1_vivian/article/details/732752593.Fast R-CNN https://blog.csdn.net/wait_ButterFly/article/details/81416145...转载 2018-12-25 19:24:59 · 818 阅读 · 1 评论 -
LUNA16_Challange数据预处理3
Data PreprocessingAt first, we get the lung area by using traditional methods, and then preprocessing is performed on the lung area. Use -600HU as a threshold to get a 0-1 3D map, based on the size ...原创 2019-01-04 14:04:55 · 2662 阅读 · 10 评论 -
deeplearning中卷积后尺寸的变化
ps 之前一直对卷积前后数据的尺寸变化的理解不是很清晰。现在借着肺结节的项目自己重新整理一下。1.二维上的卷积没错还是这篇文章https://buptldy.github.io/2016/10/29/2016-10-29-deconv/ 真是好文。## 卷积层卷积层大家应该都很熟悉了,为了方便说明,定义如下:- 二维的离散卷积(N=2N=2)- 方形的特征输入(i1=i2=ii1...原创 2018-12-24 14:36:13 · 12971 阅读 · 0 评论 -
LUNA16_Challange数据预处理1
ps 搞了一段时间用自己的dcm数据生成LUNA16_Challange提供的数据样式,现在对LUNA16的数据有了更加直观的理解。现在继续搞LUNA16数据的预处理。LUNA16_Challange官网上的检测和降阳性的排行中,前列的科大和健培,平安,对序列的预处理都是先对数据进行三维重采样归一化。那么我也照着这个思路来做东西。参考 https://github.com/new-2017...原创 2018-12-29 11:39:08 · 3136 阅读 · 3 评论