![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
normol
先做人,后做事。
展开
-
医学图像分割 unet实现(一)
这次实验用来学习unet网络实现图像分割(keras, backend: tensorflow)。数据集DRIVE:为眼部图像,目的是分割出眼部血管。数据集结构:上面分别是训练的原始图片images、first_manual、mask整体流程:1、前期准备:将所有图片写入h5文件,(为了后期训练网络时减少io时间)2、训练网络2.1、获取训练图片和groundtruth图片...原创 2019-02-27 17:39:35 · 45379 阅读 · 66 评论 -
规范化(normalize)到底是什么,以及哪些算法需要规范化
这是一篇从笔记里摘录的知识点,因为发现在不同的文献或者文章里,对图片数据规范化、归一化的具体方法都不一样,很是困惑。下面这几种,都是广义上的数据规范化Data normalizationData standarizationData streching总体上来说,standarization与streching都是规范化的选择,只不过他们作用到数据上导致的结果有些许不同,所以有了更为细致...原创 2019-04-30 10:44:50 · 7652 阅读 · 0 评论 -
keras中输出的loss不是自己定义的
随手小记:在跑网络的时候,自定义的loss为metric的相反数,都是dice_coef。但出现的loss并非是-dice_coef。之前用最简单的unet跑是对的,换成resnet-unet后就不对了。问了学长,自己开始也有怀疑,是kernel_regularizer=tf.keras.regularizers.l2(0.01)对loss造成了影响。经过测试,验证了猜想。正则化的项会与在最...原创 2019-05-02 10:14:14 · 1269 阅读 · 2 评论 -
医学图像分割 基于深度学习的肝脏肿瘤分割 实战(二)
在医学图像分割 基于深度学习的肝脏肿瘤分割 实战(一)中原创 2019-04-02 13:46:19 · 25669 阅读 · 28 评论 -
FCN 中metric的深入理解与对应代码
首先来看一下原始论文的描述:一开始我对n_ji和n_ij的理解挺绕的。后来理清楚了之后发现很简单:∑inii\sum_{i}n_{ii}∑inii 即class i 被正确分成了class i。 True Positive∑jnij=ti\sum_{j}n_{ij}=t_i∑jnij=ti 即class i 被正确分成了class j,然后对class j求和。这就是ground...原创 2019-04-06 11:12:56 · 818 阅读 · 1 评论 -
神经网络 高维空间的理解
首先,先看一下在分割问题中,最常见的one-hot编码直观上是如何进行的,以及是怎样进行preds的下图(图一),是常见的ground-truth分割图,一共有两个类别(背景可以作为0,不单独作为一个类别)如果想进行cross-entropy计算损失函数等,就需要对图一的label进行one-hot编码,直观上会变成下图所示(图二)然后,我们的图片经过神经网络,训练好之后,输出的预测值就...原创 2019-04-04 20:07:56 · 3987 阅读 · 0 评论 -
激活函数与对应的损失函数选择(binary与multi-class如何选择损失函数)
之前一段时间,对激活函数和损失函数一直是懵懂的状态,只知道最后一层常用的激活函数是sigmoid或者softmax,而损失函数一般用的是cross-entropy或者dice loss(我看的都是分割方向的)。但是有几个点一直弄不清为什么:1、为什么有时候二值分割问题还进行了one-hot编码?2、sigmoid和softmax是可以任意切换的吗?下面是我理解的东西,但不一定正确,仅供参考。...原创 2019-03-24 13:09:43 · 2590 阅读 · 5 评论 -
医学图像分割 基于深度学习的肝脏肿瘤分割 实战(一)
在之前的一篇博客里:医学图像分割 unet实现(一),是学习并复现别人的实验。这篇将记录下自己毕设第一阶段的实验。毕设题目为:基于深度学习的肝脏肿瘤分割。经过几番调整,最终确定:第一阶段分割出腹部图像中的肝脏,作为第二阶段的ROI(region of interest),第二阶段利用ROI对腹部图像进行裁剪,裁剪后的非ROI区域变成黑色,作为该阶段输入,分割出肝脏中的肿瘤。第三阶段用随机场的后处...原创 2019-03-24 22:14:55 · 56777 阅读 · 265 评论 -
tensorflow "ValueError: None values not supported."
在学习的过程中遇到了这个问题,在github上看到别人的回答有了灵感原先的代码:"""即需要计算参数的移动平均"""def inference(input_tensor,avg_class,weights1,biases1,weights2,biases2): layer1 = tf.nn.relu(tf.matmul(input_tensor, avg_class.average(...原创 2019-03-10 16:49:07 · 8929 阅读 · 2 评论 -
关于python 高维数组transpose的实现原理以及pytorch view等的思考
很多时候需要给高维数组变形,以达到需要的格式,但很多时候,可能变形后的结果并不是你所预想的那样,我是在看一段pytorch的代码时引发的思考:prediction = prediction.view(batch_size, bbox_attrs*num_anchors, grid_size*grid_size)prediction = prediction.transpose(1,2).con...原创 2019-03-14 16:33:08 · 3917 阅读 · 0 评论 -
keras pytorch 构建模型对比
使用CIFAR10数据集,用三种框架构建Residual_Network作为例子,比较框架间的异同。文章目录数据集格式pytorch的数据集格式keras的数据格式输入网络的数据格式不同整体流程keras 流程pytorch 流程对比流程构建网络对比网络pytorch 构建Residual-networkkeras 对应的网络构建部分pytorch model summarykeras mode...原创 2019-03-03 19:37:23 · 7462 阅读 · 0 评论 -
U-net实现(keras)
毕设老师给的题目是基于深度学习的肝脏肿瘤分割,而unet则是深度网络实现图像分割的benchmark。本人小白一名,没有机器学习与深度学习的基础,但因为毕设紧迫。来不及系统学习,博客里记录学习过程,可能有很多地方理解并不正确,但会一边学习一边更正之前的内容。unet结构说明其实unet就是encoder-decoder,encoder部分是重复conv-conv-maxpooling的过程,用...原创 2019-02-27 13:08:38 · 9039 阅读 · 14 评论 -
计算机视觉,深度学习, tensorflow 知识杂记,经验教训(持续更新)
以前随手的记录本子上的内容,在这篇文章里做一个汇总,方便以后查看。2019-1-22 ~ 2019-1-241、resnet每经过一个降采样过程,都会使它的channel数目翻倍,这样可以避免因为降采样带来的信息损失。2、vggnet带来的启发:2.1、网络更深;2.2、多使用33的卷积核:2个33的卷积核可以看做一层55的卷积核(同等的receptive field),同时参数更少。3...原创 2019-03-05 21:11:01 · 612 阅读 · 0 评论 -
Ubuntu 启动 tensorboard 报错 locale.Error: unsupported locale setting
网上的一些办法试了并不能解决问题,最后是论坛里找到解决办法的。即,我是用macos的terminal终端ssh连接,其会有自动编码的默认选项,需要去掉勾选论坛上找到的可行方案:去掉勾选后在服务器重新运行tensorboard的命令,成功启动。...原创 2019-05-13 15:22:04 · 331 阅读 · 0 评论