自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 【图像分割】使用np.where()实现多类别图像分割可视化

目录背景方法背景相比采用表格化数据定量分析,可视化是分割任务定性分析的主要手段。在多类别图像分割任务中,往往会涉及两种及以上的颜色,一种常用的方法就是使用RGB色彩填充分割target。最简单的实现方法就是两次for循环遍历图像,逐个像素进行填充,但这种方式耗时较长,采用np.where()等numpy高级函数可以有效加速,缩短程序运行时间。方法以腹部器官数据集Synapse为例,其中包含除去背景一类的8类器官(aorta、gallbladder、liver……),这种情

2021-12-18 15:43:56 5768 8

原创 【深度学习】torch消除模型训练的随机性,使结果可复现

目录背景方法1、设置随机种子2、消除Python与Numpy的随机性3、消除torch的随机性4、消除DataLoader的随机性背景现有的深度学习框架存在一定的随机性,在复现论文、验证模块有效性,SOTA实验时有很大的干扰,在之前的实验中,我所遇到的因随机性产生的模型准确率的差距可达10%。因此,消除随机性很有必要。方法1、设置随机种子随机种子的设置可以使随机函数在当前种子下产生相同的随机数:SEED=1234SEED可以设置为任意值:0、666、12

2021-07-21 10:49:42 3057 2

原创 【图像处理】python实现图像锐化边缘检测算子(Robert、Sobel、Prewitt、Laplacian算子)

一、Robert算子罗伯特梯度法(Robert Gradient), 是一种交叉差分方法。其数学表达式可近似为:G[f(x, y)] ≈|f(i, j)-f(i+1, j+1) |+|f(i+1, j)-f(i, j+1)|################################################# Robert算子#########...

2020-03-29 22:14:19 8340 1

原创 【ubuntu】 显卡训练模型错误 已放弃 (核心已转储) 正确解决方法

在Ubuntu系统下用显卡训练深度学习模型时,总会遇到以下问题:已放弃(核心已转储)此时说明GPU的显存已满,一种解决办法是重启命令行或重启电脑,另一种方法是手动清理显存,步骤如下:首先在命令行输入指令nvidia-smi查看显卡使用情况,可以发现最右下角名为python的进程占用显存最多,但实际已将程序关闭,这时就需要手动清理可以观察到,python进...

2019-10-29 09:59:40 16564 5

原创 【深度学习】神经网络调参实战经验

一、关于超参数1、学习率训练经过几个批次 (batch or step) 模型的目标函数损失值就急剧上升,这说明模型训练的学习率过大,此时应该减小学习率,从头训练。学习率减缓机制1. 轮数减缓(step decay)2. 指数减缓(exponential decay)3. 分数减缓(1/t decay)应用最多的为轮数减缓不同学习率下loss随轮数的变化2、ba...

2019-10-24 15:12:49 700

转载 OSError: `pydot` failed to call GraphViz.Please install GraphViz

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-15 19:17:37 342

转载 【深度学习】神经网络训练loss不下降或一直上升

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-19 18:26:59 24389 11

转载 【目标检测】目标检测模型比较

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-06 23:32:47 4155

原创 【深度学习入门】在cifar10上用Keras搭建简单的深度学习模型(数据处理、数据增强、各种loss)

How to Build a Deep Learning Project——With KerasStep One: Data readingFor cifar10, this step is very easy, Keras has already packaged it and split it into training data and testing data.from keras...

2019-08-10 22:42:17 468

原创 【Markdown】Markdown基本语法学习

Markdown Learning NotesⅠ. headlineMarkdown supports 6 kinds of headlinesh1h2h3h4h5h6Ⅱ. paragraph high lightHigh light a sentenceHigh this sentenceⅢ. insert links and picturesfor li...

2019-08-08 18:21:56 191

原创 【图像分割】图像分割论文集合

...

2019-07-12 23:52:15 5145

转载 【图像分割】FCN全卷积神经网络

转自:https://blog.csdn.net/qq_36269513/article/details/80420363 论文Fully Convolutional Networks for Semantic Segmentation 是图像分割的milestone论文。理清...

2019-05-14 22:27:10 1362

原创 【图像分割】U-net——基于FCN的强大分割网络

在网络结构方面,U-net已经在皮肤癌分割、肺结节分割等方面证明了其强大的优越性。本文解读其论文:U-Net: Convolutional Networks for Biomedical Image Segmentation(论文地址:http://www.arxiv.org/pdf/1505.04597.pdf)并与FCN对比。核心思想U-net基于FCN,对原有网络进行了调...

2019-05-13 22:46:31 1323

转载 【图像分割】DeepMedic —— 医学图像分割的3D CNN框架

转自https://blog.csdn.net/JYZhang_CVML/article/details/79519748 医学图像分割领域的最经典的分割网络之一,可能有些读者读完之后会有所抱怨:大部分和FCN网络或者DeepLab V1网络非常类似。但是在针对于文章的目标:脑部损伤分割,传统的图像分割算法效果不佳,然后作者提出...

2019-05-12 18:18:09 3563 1

原创 【深度学习】关于深度学习的基本知识(面试常见问题)

转自:https://blog.csdn.net/weixin_41421485/article/details/81254563 ResNet(残差网络),DenseNet(密集连接卷积网络) 激活函数是用来加入非线性因素的,因为线性模型的表达力不够。RELU函数构建稀疏矩阵...

2019-05-11 10:39:16 359

原创 【ubuntu】安装ubuntu+win10双系统后找不到win10启动项

最近在学习深度学习的内容,由于tensorflow不支持window,所以打算安装个ubuntu试试,结果安装完后总是直接从ubuntu启动,而且找不到win10启动项!着急!紧张!网上搜了下解决方案。找到一条有用的解决方案:sudo chmod 777 /boot/grub/grub.cfgsudo grub-mkconfig > /boot/grub/grub.cfg在ubun...

2019-04-15 21:04:59 5113 1

转载 共基、共射、共集三种放大电路的总结及比较

说明:分析基本放大电路要遵循“先静态,后动态”的原则,只有  Q点合适,动态分析才有意义。直接耦合共射放大电路(B极输入,C极输出)直流工作点:阻容耦合共射放大电路(B极输入,C极输出)直流工作点:基本共射放大电路及交流小信号模型、计算  B – E间动态电阻rbe:电压放大倍数:(注意是负数,输出电阻比输入电阻乘以β,可以按反相放大器的公式来...

2019-03-31 20:28:35 68135 6

原创 【LeetCode】712. Minimum ASCII Delete Sum for Two Strings 最长公共子序列

基于最长公共子序列(不连续)问题,若当前相等,dp[i][j] = dp[i-1][j-1]+s1[i]+s2[j]否则,dp[i][j] = max(dp[i-1][j], dp[i][j-1])考虑边界,加一圈0以sea eat为例: 0 1 2 3 0 0 0 0 0 1 0 0 e e ...

2019-03-24 21:50:20 124

原创 【LeetCode】413. Arithmetic Slices

以dp[i] 表示以A[i]结尾的arithmetic slices 个数,可列出状态转移方程:dp[i] = dp[i-1] - 1不满足条件的地方dp[i] = 0 ,最后将dp数组加和代码如下:class Solution {public: int numberOfArithmeticSlices(vector<int>& A) {...

2019-03-19 22:53:34 176

原创 【LeetCode】647. Palindromic Substrings 动态规划

对于这道DP题,自己并没有找到合适的状态划分 ,于是在讨论区寻找题解对于一个 i 到 j(i&lt;j) 的字符串,它是回文串,当且仅当 i 与 j 处值相等并且 i+1 到 j-1 的子串也满足条件,于是,状态转移方程为dp[i][j] = s[i] == s[j] &amp;&amp; (j - i &lt; 3 || dp[i + 1][j - 1]);代码如下:...

2019-03-14 19:01:03 235

原创 【LeetCode】931. Minimum Falling Path Sum 动态规划、取容器最值

一到简单的DP,一遍AC当前行状态受上一行的状态约束,很容易写出状态转移方程dp[i][j]=min(min(dp[i-1][j-1], dp[i-1][j+1]), dp[i-1][j])+A[i][j];需要处理的是首尾两列,完整代码如下:class Solution {public: int minFallingPathSum(vector&lt;vect...

2019-03-11 21:40:37 172

原创 【LeetCode】983. Minimum Cost For Tickets

代码如下:class Solution {public: int mincostTickets(vector&lt;int&gt;&amp; days, vector&lt;int&gt;&amp; costs) { int dp[366]; int flag[366]={0}; dp[0] = 0; ...

2019-03-09 17:02:25 176

原创 【LeetCode】338. Counting Bits 位运算DP

给定一数字,分别统计从零到该数字之间所有数字二进制中 1 的个数从hint中可以看出此题可用DP解,进一步观察可发现只要是2的幂,1的个数均为1,而两个相邻幂之间的数字与前一个幂数有关判断一个数是否为2的幂可用位运算:if((n &amp; (n-1)) == 0) //该数是2的幂代码如下:class Solution {public: vecto...

2019-03-06 19:25:21 131

原创 【LeetCode】198. House Robber动态规划

假设有n个房子,走到n+1位置时的前一个状态可能是第n个房子或第n-1个房子,但中间可能会有两所连续的房子不被抢,例如:Input:[2, 1, 1, 2]抢劫房子1和房子4:2 + 2 = 4故而,每一个状态i只能由第i-2或第i-3个状态得到(若由第i-4个状态得到,加上第i-2个一定会更大)前面的状态只需预处理一下就好了代码如下:class Solu...

2019-03-05 20:20:04 138

原创 【LeetCode】53. Maximum Subarray 动态规划、最大子段和

题为求数列的最大子串和,分析后采用动态规划策略最初的想法是用 f[i] 表示 0 到 i 区间的最大子串和,但这样并不能很好的用当前状态表示下一状态,因为最优的子串可能与下一个数字不连续进而想到以 f[i] 表示 0 到 i 区间且以nums[i]结尾的最大子串的和,这样固定了尾部的元素,使子问题灵活性降低,方便求解class Solution {public: int...

2019-03-04 21:50:05 317

原创 【LeetCode】746. Min Cost Climbing Stairs 动态规划

一道简单的DP题思路就是看当前状态受前面的哪些状态影响,在本题中,一次可以走1或2步,所以DP方程为:dp[i] = cost[i] + min(dp[i-2], dp[i-1]); 还有一个需要注意的地方就是return的时候返回min(dp[n-1], dp[n-2])代码如下:class Solution {public: int minCostClim...

2019-01-24 11:07:25 117

原创 【LeetCode】743. Network Delay Time 图最短路问题

题目是一道求图的最短路问题,此类问题主要有三种经典算法:① Floyd② Bellman Ford③ Dijkstra 代码如下://Floydint networkDelayTime(vector&lt;vector&lt;int&gt;&gt;&amp; times, int N, int K) { /* Initialization begin*/ ...

2019-01-22 21:27:53 372

原创 【LeetCode】951. Flip Equivalent Binary Trees

题目大意:给定两棵树,判断经过一系列旋转操作后是否相等。刚开始写就想设一个旋转操作,遇到不等的节点就旋转再判断,代码又臭又长。看了一下讨论区,恍然大悟,原来并不需要真正的旋转,将遍历的顺序改变一下其实就相当于做了旋转: /** * Definition for a binary tree node. * struct TreeNode { * int val; ...

2019-01-22 10:41:24 241

原创 【LeetCode】872. Leaf-Similar Trees

很简单的一道题,题目本身没什么好说的, 只是在提交的时候发现一个问题,判断两个vector相等的两种方法速度不一样方法一:class Solution {public: vector&lt;int&gt; lvs1; vector&lt;int&gt; lvs2; void dfs(TreeNode* root, vector&lt;int&gt; &amp...

2019-01-21 15:36:46 164

原创 【LeetCode】589 & 590 N-ary Tree Preorder(Postorder) Traversal

 这两道题没什么特别之处但是从题解中学到了,遍历vector的新方法/*// Definition for a Node.class Node {public: int val; vector&lt;Node*&gt; children; Node() {} Node(int _val, vector&lt;Node*&gt; _chil...

2019-01-21 10:13:09 186

原创 【C/C++】C++11 for循环新用法

原文链接:https://blog.csdn.net/hackmind/article/details/24271949 &nbsp;前言&nbsp;&nbsp; &nbsp;C++11这次的更新带来了令很多C++程序员期待已久的for range循环,每次看到javascript, lua里的for range,心想要是C++能有多好,心...

2019-01-21 10:02:05 738

原创 【LeetCode】117. Populating Next Right Pointers in Each Node II

题目描述:方法一:首先想到层级遍历,既然是层级遍历,心想没准之前102的函数可以拿来用于【斜眼笑】,于是写了这么个不伦不类的算法:/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *ne...

2019-01-20 14:28:56 136

原创 【LeetCode】101. Symmetric Tree

题目描述:最开始的想法是中序遍历存到vector里,然后前后同时扫面判断vector是否对称。代码如下:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode...

2019-01-18 17:30:18 104

原创 【LeetCode】814. Binary Tree Pruning

一道树的剪枝,起初的想法是设一个函数,判断当前节点的子树是否含1,后来发现,后序遍历删除值为0的叶子节点就可以了。代码如下:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ...

2019-01-18 13:07:43 115

原创 【LeetCode】107. Binary Tree Level Order Traversal II

 题目是102的变形,这里的处理就是改变了一下输出形式  /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef...

2019-01-17 20:07:41 107

原创 【TensorFlow】tf.add_to_collection()、tf.get_collection()与tf.add_n()

tf.add_to_collection()向一个集合中添加变量值,把变量变成一个列表官方文档中定义如下: tf.get_collection()从一个结合中取出全部变量,是一个列表 tf.add_n()把一个列表的张量依次加起来 ...

2019-01-15 17:04:51 324

原创 【TensorFlow】tf.nn.bias_add()

  将bias矩阵加到value矩阵中

2019-01-14 16:15:33 429

原创 【TensorFlow】tf.nn.relu()

 线性整流函数(修正线性单元)图像如下: tensorflow官方文档定义如下: 

2019-01-14 13:50:51 758

原创 C语言fgets函数

C 库函数 - fgets()描述C 库函数 char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。声明下面是 fgets() 函数的声明。char *fgets(char...

2018-12-08 22:57:52 3044

原创 【LeetCode】102. Binary Tree Level Order Traversal(二叉树的层级遍历 完整代码)

题目如下:这道题是求二叉树的层次遍历,也即宽度优先遍历,并将结果以二维数组形式输出。因为树的每一层节点数可能不同,所以采用二维不定长的vector向量储存采用递归方式求解,找完一层找下一层输入在下面的程序前需要处理一下,采用先序建树,遇到叶子节点时将左右孩子置零,例如题目中的树,输入时输入:3 9 0 0 20 15 0 0 7 0 0完整代码如下: #incl...

2018-12-06 19:12:52 261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除