- 博客(34)
- 问答 (1)
- 收藏
- 关注
原创 ssm-maven依赖笔记
配置ssm项目依赖于静态资源导出(maven)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
2021-05-08 09:42:54
136
原创 使用飞桨PaddlePaddle高层API完成分类网络
基于飞桨[PaddlePaddle]高层API完成分类网络PeleeNet深度学习万能公式数据处理组网和网络配置训练和评估预测数据集导入相关库数据准备模型搭建模型训练与调优最近参加飞桨的公开课,快速上手深度学习https://aistudio.baidu.com/aistudio/course/introduce/6771PaddlePaddle开发文档深度学习万能公式数据处理paddle.io.Datasetpaddle.io.DataLoader组网和网络配置paddle.prepa
2021-02-09 15:40:44
668
1
原创 生成训练路径 .txt 地址文件
生成训练地址路径 .txt 文件读取两个文件目录下的地址,然后合并输出到txt文件中def create_txt(in_image,in_label,out_txt): # 查看in_image,in_label目录下的图片 images = os.listdir(in_image) labels = os.listdir(in_label) # 位置匹配 images = sorted(images) labels = sorted(label
2020-12-11 14:40:49
497
1
原创 [语义分割]基于PaddlePaddle(飞浆)的图像分割7天训练营
本次课程基于百度AI studio,主要是语义分割方面的快速入门了解。这是课程的链接: https://aistudio.baidu.com/aistudio/course/introduce/1767.,全部免费,白嫖(手动狗头)!聊一下参加本次课程的一些体会,因为本人之前对于FCN、PSPNet、DepLab系列等经典的分割网络仅仅停留在理论阶段,并不会编码复现,当我正苦苦纠结于如何复现时,碰巧看到了这个课程,哇,真的是美滋滋,解决了我第一次复现网络的大难题。通过“手敲代码的神”朱老师的现场codi
2020-10-25 10:09:32
793
4
原创 卷积网络常见问题
常见问题1.如何降低过拟合?过拟合:对数据拟合过度,模型对于所提供的数据进行一致性假设而使模型变得过度复杂称为过拟合。危害:在训练集上的效果非常好,但是在测试集上的效果很差,即泛化能力很弱。方法:(1)获取和使用更多的数据集。让模型在更多的数据上进行观察和拟合,不断修正自己。(2)采用合适的模型。(3)使用dropout(随机失活)。在模型的训练过程中按一定的几率关闭或忽略某些层的节点。(4)权重衰减(正则化)。L1和L2正则化。(5)Early Stopping。在每个循环结束一次后,计
2020-09-15 20:17:58
464
1
翻译 基于全卷积自适应网络的图像语义分割
Fully Convolutional Adaptation Networks for Semantic Segmentation基于全卷积自适应网络的图像语义分割摘要Appearance Adaptation Networks (AAN)Representation Adaptation Networks (RAN)结论Yiheng Zhang †, Zhaofan Qiu †, Ting Yao ‡, Dong Liu †, and Tao Mei ‡ † University of Science
2020-07-25 11:31:57
879
原创 AttributeError: module ‘scipy.ndimage‘ has no attribute ‘imread‘
AttributeError: module 'scipy.ndimage' has no attribute 'imread'
2020-07-10 20:05:02
2531
3
原创 拓扑排序
拓扑排序"""拓扑排序:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序
2020-07-05 21:54:01
204
原创 Shell排序
希尔排序希尔排序:是一种对于插入排序的改进,将待排序数组按一定的步长进行分组,分别对每一个分组进行插入排序,到达部分有序;然后,缩小步长,重新分组,进行插入排序,直到步长为1,对基本有序的数组进行插入排序。对每一个分组进行插入排序时,不是对第一个组全部完成后,再对第二个组进行;而是先将第一个组的第二个元素插入第一个组然后,将第二个组的自二个元素插入第二组中。先插入1b,然后是2b,3b。。。然后是1c,2c,3cdef ShellSort(arr): # 首先初始步长选择为数组长度的一半 l =
2020-07-05 17:08:12
1387
1
原创 计数排序(真实排序,相同元素位置不变)
计数排序(真实排序,相同元素位置不变)"""对计数数组进行变形,新元素的值是前面元素累加之和的值,相当于进行排序即计算原始数组中的每个数字在结果数组中处于的位置。逆序遍历原始数组,可以使相同元素的相对位置不改变"""def NumSort1(arr, low, high): # low可以最为数组的偏移量,用于将数据对号入座 size = high - low + 1 # 临时数组的长度 temp = [0] * size for i in range(l
2020-07-05 13:03:23
483
1
原创 计数排序
计数排序"""计数排序:计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。这种排序算法不是基于元素比较,而是利用数组下标来确定元素的正确位置。"""def NumSort1(arr, low, high): # low可以最为数组的偏移量,用于将数据对号入座 size = high - low + 1 # 临时数组的长度 temp = [0] * size
2020-07-05 11:03:05
131
原创 堆排序(只调整变化的子树)
堆排序(只调整变化的子树)"""堆排序:从后向前找第一个非叶子节点,构造初始的大根堆将堆顶元素进行交换后,重新从堆顶开始进行重构大根堆"""# 构造大根堆的函数def ConsHeap(arr,n,i): # 递归对变换了根位置的子树进行调整 large = i # 将当前索引当作最大索引 # 计算左右子树 left = 2 * i + 1 right = 2 * i + 2 # 如果左孩子存在,并且左孩子比父节点大,移动最大索引
2020-07-04 22:01:44
207
原创 堆排序
堆排序"""堆排序:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2] 根节点大于两个子节点的值小顶堆:arr[i] <= arr[2i+1] && arr[i] <= ar
2020-07-04 19:50:50
102
原创 归并排序
"""再来一遍"""def merge(arr,l,m,r): # 首先创建两个列表存储数据 n1 = m - l + 1 # 包含中间m元素 n2 = r - m # 不包含中间m元素 L = [0] * n1 R = [0] * n2 # 然后将数据拷贝进来新的临时列表 for i in range(0,n1): L[i] = arr[l + i] # 注意m元素的包含 for j
2020-07-04 12:23:39
106
原创 选择排序
"""选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置, 然后,再从剩余未排序元素中继续寻找最小(大)元素, 然后放到已排序序列的末尾。 以此类推,直到所有元素均排序完毕。"""def selectSort(Arr): # 首先在未排序的数组中找最小的一个,需要把最小值的索引位置记录下来j for i in range(len(Arr)):
2020-07-03 20:33:39
101
原创 快速排序
快速排序# 获取基准值的最终索引位置def getIndex(arr,low,high): # 使用第一个元素作为基准值 key = arr[low] while low < high: # 当数组长度不为空时 # 从尾部开始与基准值进行比较 while low < high and key <= arr[high]: # 元素值比基准值大,不需要进行移动 high = high
2020-07-03 16:38:45
74
原创 插入排序
插入排序将一个待排序的无序元素,在有序数组中寻找合适的位置,进行插入。初始时,将数组的第一个元素当作有序数组,其余的元素为无序数组,将无序元素不断插入到合适的位置。def InsertSort(Arr): # 首先对无序数组进行遍历 for i in range(1,len(Arr)): # 默认第一个元素为有序数组 key = arr[i] # 用key存储待插入的元素 j = i - 1 # j为有序数组的最后一个索引 while j >= 0 and key <
2020-07-03 11:44:35
83
原创 二分查找
二分查找"""二分查找二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。"""def BinarySearch(ls,n): # 有序数组,首先进行排序 ls = sorted(ls) # 初
2020-07-03 10:04:33
101
原创 时间转换
"""计算几天前并转换为指定格式。"""import datetimeimport time# 先获得时间数组格式的日期 三天前的时间数组threeDayAgo = datetime.datetime.now() - datetime.timedelta(days=3)print(threeDayAgo)# 时间数组转换为任意指定格式otherStyle = threeDayAgo.strftime('%Y--%m--%d %H::%M::%S')print(otherStyle)
2020-07-02 21:43:10
211
原创 解压缩参数列表
解压缩参数列表当参数已经在列表或元组中,但需要用于单独的位置参数的函数调用需要解压时,就会发生相反的情况。例如,内置range()函数需要单独的 开始和停止参数。如果不能单独使用它们,请使用*-operator 编写函数调用, 以将参数从列表或元组中解包:>>> list(range(3, 6)) # normal call with separate arguments[3, 4, 5]>>> args = [3, 6]>>&
2020-07-02 20:57:56
147
原创 判断字符串是否存在子字符串
判断字符串是否存在子字符串"""判断字符串是否存在子字符串给定一个字符串,然后判断指定的子字符串是否存在于该字符串中。"""def panduan1(string, substring): if len(substring) > len(string): print('子串太长了') return else: for s in range(len(string)): # 首先匹配大串和子串的首字符
2020-07-02 15:53:47
1712
转载 五人分鱼
五人分????"""A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。C、D、E依次醒来,也按同样的方法拿鱼。问他们合伙至少捕了多少条鱼?"""def fun1(): """fish数目从1开始向上增加,直到满足5个人都可以分到????""" fish = 1 while Tr
2020-07-01 21:47:33
479
原创 约瑟夫生死小游戏
约瑟夫生者死者小游戏30 个人在一条船上,超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。报数,从 1 开始,数到 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?# 首先来一个超载的小船30人people = list(range(1,31)) # 这个编号是1~30# 人数大于15就继续踢人while len(people) > 15: i = 1 # 将前八个人移动到末尾,将第九个踢出 while i <
2020-07-01 16:46:52
394
翻译 从局部到全局的多模式电影场景分割
从局部到全局的多模式电影场景分割个人总结1.研究现状:2.研究的意义:3.提出的解决方案(局部到全局的场景分割模型):4.电影场景数据集:5.结论:全文翻译从局部到全局的多模式电影场景分割方法摘要1.介绍2.相关工作3.电影场景数据集3.1场景定义3.2注释工具和步骤3.3批注统计4.局部到全局的场景分割4.1带有语义元素的镜头表示4.2clip级别的镜头边界表示4.3segment级别的粗略预测4.4movie级别的全局最佳分组实验5.1实验建立5.2定量结果5.3消融研究5.4定性结果5.5跨数据集传输
2020-07-01 10:40:08
4256
4
原创 十进制转换为二进制(短除法)
十进制转换为二进制(短除法)存储每一步短除后的商和余数,商为1时为止"""用于实现十进制转二进制、八进制、十六进制:"""def DchangB(num): """短除法将十进制转换为二进制""" # 商为1则停止,要存储每一步的余数 if num == 1: return 1 # 把每一次得到的余数存起来 N = [] s = num while s != 1: y = s % 2 # 余数
2020-06-30 15:20:47
7013
1
转载 python yield生成器学习
yield生成器在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。什么情况下需要使用yield?一个函数 f,f 返回一个 list,这个 list 是动态计算出来的(不管是数学上的计算还是逻辑上的读取格式化),并且这个 list 会很大(无论是固定很大还是随着输入参数的增大而增大),这个时候,我们希望每次调用这个函数并使用迭代器进行循环的时候一个一个的得到每个 list 元素而不是直
2020-06-27 11:00:18
151
原创 区域生长法分割
区域分割区域生长法区域生长法区域生长法的基本思想就是将具有相似性的像素集合起来形成一个区域。具体做法就是,首先选择一个种子点,通过比较种子点邻域的相似性,将邻域中满足相似性准则的像素归入种子点所在的区域,然后将这新的像素点定为种子点,重复上述过程,直到没有满足相似性准则的新的邻域像素点产生为止。通过区域生长,一个区域就形成了。有三个关键性的问题:1.种子点的选择问题,如何选择代表所需区域的种子点?借助具体问题的特点来进行选择。2.生长过程中停止生长的条件是什么?一般是再没有满足生长准则的像素
2020-06-24 10:48:10
2609
原创 小波包在边缘检测的应用
小波包用于边缘检测小波包分解后得到的图像序列由近似部分和细节部分组成,近似部分去除了高频分量,因此可以检测到原图像中检测不到的边缘。clear all;load bust; %装载并显示原始图像%加入含噪init=2055615866;% 用来控制随机数生成状态的。init代表随机数生成机所处的状态。% 指定特定的init,则之后生成的随机数序列就是固定的。randn('seed',init);X1=X+20*randn(size(X));subplot(2,2,1
2020-06-23 20:20:11
595
原创 参数独立法进行图像融合
参数独立法进行图像融合1.设置图像融合的方法:Fusmeth = struct(‘name’,nameMETH,‘param’,paramMETH):nameMETH:UD_fusion(上下融合)、DU_fusion(下上融合)、LR_fusion(左右融合)、RL_fusion(右左融合)、UserDFF(用户自定义融合)。paramMETH:自定义函数名称。2.利用wfusmat函数调用设置的融合方法进行融合。C = wfusmat(A,B,METHOD);返回矩阵A和B按照METHOD
2020-06-23 17:28:16
379
原创 wfusing函数进行图像融合
wfusing函数进行图像融合XFUS = wfusing(X1,X2,WNAME,LEVEL,AFUSMETH,DFUSMETH):X1和X2:两个大小相等的源图像;WNAME:表示分解的小波函数;LEVEL:对X1和X2进行小波分解的层数;AFUSMETH和DFUSMETH:表示对源图像低频分量和高频分量进行融合的方法;融合规则可以是:max、min、mean、img1、img2和rand。clear all; %清除空间变量load mask; X1 = X;load
2020-06-23 16:52:44
1309
原创 小波在图像融合中的应用
小波应用于图像融合图像融合是综合两幅或者多幅图像的信息,以获得对同一场景更为准确、更为全面、更为可靠的图像描述。1.在融合前对图像进行预处理,去除噪声。2.对ImageA和ImageB进行DWT变换,得到低频和高频分量。3.对低频和高频分别进行处理进行分别融合。4.对得到的高频和低频分量进行重构得到ImageF。clear all;load woman;X1=X; %复制map1=map;
2020-06-23 16:30:28
692
原创 小波在图像增强中的应用
小波在图像增强中的应用通过对一幅图像进行小波变换,可以将图像分解成分辨率、位置、大小不同的各个分量的图像,包括近似图像分量、水平细节分量、垂直细节分量、对角细节分量。所以,在做逆变换重构之前,我们可以根据需要对不同位置、不同方向的某些分量系数进行调整,从而使得感兴趣区域进行增强,对于不感兴趣的区域进行消减。分解后的图像,低频部分代表了图像的近似部分,我们可以将其系数进行增强,高频部分对应细节部分,我们可以对其系数进行弱化,从而达到增强图像的目的。A:近似低频分量;H:水平高频分量;V:垂直高频分
2020-06-23 15:28:02
3041
原创 应用Matlab小波变换工具箱进行图像压缩
应用Matlab小波变换工具箱进行图像压缩图像压缩的原理使用函数dwt2进行小波分解三级目录图像压缩的原理从数学的角度看,信号与图像处理可以统一看作信号处理(图像可以看作二维信号)。图像压缩是将原来较大的图像尽可能的以较少的字节表示和传输,并要求图像有较好的质量。图像数据之所以可以压缩,数学原理主要有两点:(1)原始图像数据存在信息冗余(如空间冗余、视觉冗余和结构冗余等),数据之间存在相关性,领域像素的灰度往往是高度相关的。(2)人眼对亮度信息敏感,而对颜色分辨率比较弱,所以在高压缩比的情况下,压
2020-06-23 13:59:36
2718
3
翻译 尺度自适应网络的语义图像分割
尺度自适应网络的语义图像分割Semantic Image Segmentation by Scale-Adaptive Networks摘要索引词一.引言二.相关工作A.尺度变化的方法B.融合方法三.可缩放的网络A.问题表述B.网络架构共享网络D.尺度自适应分支E.尺度估算器F.损失设置四. 实验内容A.PASCAL-人-部分五,结论与未来工作Semantic Image Segmentation by Scale-Adaptive NetworksZilong Huang , Chunyu Wang
2020-06-21 20:08:29
2080
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人