自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 二叉树的实现及其遍历(Python)

树是一种基本的“非线性”数据结构数据结构树分为:根、枝和叶三个部分节点Node:是组成树的基本部分,每个节点具有名称或“键值”边Edge:边是组成树的另一个基本部分根Root:树中唯一一个没有入边的节点路径Path:由边依次连接在一起的节点的有序列表层级Level:从根节点开始到达一个节点的路径,包含的边的数量称为这个节点的层级高度:树中所有节点的最大层级称为树的高度若树的每个节点最多只能有两个子节点,则该树称为二叉树。二叉树的遍历方式有三种,可通过迭代和循环的方

2021-05-25 17:23:02 210

原创 剑指offer 06 从尾到头打印链表

题目从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例输入:head = [1,3,2]输出:[2,3,1]题解一(栈):解法:遍历链表,将所有遍历到的值压入栈中,再利用栈“后进先出”的特性,从尾到头打印链表时间复杂度O(n),空间复杂度O(n)python3:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# s

2021-05-25 14:41:15 156

原创 无序链表,有序链表的实现(Python)

链表是一种存储结构不连续的动态数据结构,根据数据项有无按照顺序放置分为无序链表和有序链表链表实现的最基本元素是节点Node每个节点至少包含两个信息:数据项本身,以及指向下一个节点的引用信息,其中最为重要的为头节点和尾节点,next为None时的意义是指链表已经指向了尾部python Node类的实现class Node: def __init__(self, initdata): self.data = initdata self.next = None

2021-05-24 16:04:02 603

原创 栈,队列,双端队列的实现(Python)

栈的实现# 栈,先进后出,push/pop 复杂度为O(1)# List的尾端作为栈顶class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return

2021-05-24 10:05:22 169

原创 剑指offer 05 替换空格

题目替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例输入:s = "We are happy."输出:"We%20are%20happy." 题解一(遍历添加):解法:在 Python 和 Java 等语言中,字符串都被设计成「不可变」的类型,即无法直接修改字符串的某一位字符,需要新建一个字符串实现。时间复杂度O(n),空间复杂度O(n)python3:class Solution1: def replaceSpace(self, s: str) -&

2021-05-23 17:20:46 45

原创 Python3 字符串常用操作

操作符及使用描述x+y连接两个字符串x和yn * x 或 x * n复制n次字符串x in s如果x是s的子串,返回True,否则返回False函数及使用描述len(x)长度,返回字符串x的长度str(x)任意类型x转化成字符串形式hex(x) 或 oct(x)整数x的十六进制或八进制小写字符串形式chr(u)u为Unicode编码,返回其对应的字符ord(x)x为字符,返回其对应的Unicode编码...

2021-05-23 16:09:06 92

原创 剑指offer 04 二维数组中的查找

题目二维数组中的查找。在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 ta

2021-05-23 11:53:35 55

原创 剑指offer 03 数组中重复的数字

题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 题解一(哈希表,集合):时间复杂度O(n),空间复杂度O(n)python3:class Solution: def findRepeatNumber(self, nums: List[int]) -

2021-05-21 21:30:29 117

原创 填充与步幅对卷积层形状的作用

填充和步幅一般来说,假设输入形状是nh×nwn_h\times n_wnh​×nw​,卷积核窗口形状是kh×kwk_h\times k_wkh​×kw​,那么输出形状将会是(nh−kh+1)×(nw−kw+1).(n_h-k_h+1) \times (n_w-k_w+1).(nh​−kh​+1)×(nw​−kw​+1).所以卷积层的输出形状由输入形状和卷积核窗口形状决定。填充和步幅。它们可以对给定形状的输入和卷积核改变输出形状。填充填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素

2021-04-09 17:48:26 706

原创 更改视频播放速度 Python/Opencv

功能根据更改原始视频的播放速度并保存更改视频可指定fps,也可指定播放倍速,两者同时指定时,以fps为主依赖库python3,cv2代码实现#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/04/08# @Author : Devil_Xiao# Purpose: This script is used to change the video_speed# You can choose to specify t

2021-04-08 14:05:31 2930 5

原创 python如何读入二维csv格式的表格(以元组/列表形式表示)

如何去读取一个没有表头的二维csv文件(如下图所示)?并以元组的形式表现数据:((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, 1.0, 180.0), (4.0, 0.0, 0.0, 180.0), (5.0, 0.0, 3.0, 178.0))方法一,使用python内建的数据处理库:#python自带的库ro...

2020-04-22 18:11:12 2223

原创 机器学习系列思维导图

本文整理了周志华老师的《机器学习》一书的相关章节的脑图。1.机器学习-集成学习-思维导图2.机器学习-聚类-思维导图3.机器学习-降维与度量学习-思维导图4.机器学习-特征选择与稀疏学习-思维导图5.机器学习-计算学习理论-思维导图6.机器学习-半监督学习-思维导图7.机器学习-概率图模型-思维导图受限于csdn上传的图像大小限制,所以打包了一份清晰pdf版本供大家参考。百度网盘...

2020-04-22 14:08:24 1573 3

原创 Numpy基础(基于jupyter notebook探索)

Numpy是Numerical Python的简写,是Python数值计算的基石。下面开始numpy的学习吧1.Numpy简介及准备2.Numpy ndarray:多维数组对象(使用jupyter notebook进行探索)3.numpy常用函数(一元通用函数、二元通用函数列表)4.使用数组面向数组编程(np.where,数学统计方法,布尔值数组方法,numpy实现排序)5.numpy...

2020-04-12 22:26:16 403

原创 使用numpy进行伪随机数生成(np.random模块)

numpy.random模块弥补了Python内建的random模块的不足,可以高效地生成多种概率分布下地完整样本值数组。python内建的random模块一次只能生成一个值。使用for循环的python方式比用numpy实现慢了一个数量级:from random import normalvariateN = 1000000%timeit samples = [normalvariate(...

2020-04-12 22:14:06 642

原创 numpy中的线性代数(numpy.linalg库介绍)

线性代数,比如矩阵乘法、分解、行列式、等仿真数学,是所有数组类库中的重要组成部分。numpy的线性代数中不同的是*实现的是逐元素成绩而不是点积。因此numpy数组方法有一个函数叫做np.dot用作矩阵的操作:x = np.array([[1., 2., 3.], [4., 5., 6.]])y = np.array([[6., 23.], [-1, 7], [8, 9]])print(x)...

2020-04-12 21:55:20 1283

原创 使用数组面向数组编程(np.where,数学统计方法,布尔值数组方法,numpy实现排序)

使用Numpy数组可以利用简单的数组表达式完成多种数据操作任务,而无需加入大量循环。这种利用数组表达式来替代显式循环的方法,称为向量化1.将条件逻辑作为数组操作(np.where)numpy.where函数是三元表达式x if condition else y的向量化版本。假设我们有一个布尔值数组和两个数值数组:xarr = np.array([1.1, 1.2, 1.3, 1.4, 1....

2020-04-12 21:35:59 507

原创 numpy常用函数(一元通用函数、二元通用函数列表)

Numpy通用函数,也可以称为ufunc,是一种在ndarray数据中进行逐个元素操作的函数。某些简单函数接受一个或多个标量数值,并产生一个或多个标量结果,而通用函数就是对这样简单函数的向量化封装:1.一元通用函数比如sqrt或exp举例:arr = np.arange(10)print(arr)print(np.sqrt(arr))print(np.exp(arr))out:...

2020-04-12 17:55:13 3719

原创 Numpy ndarray:多维数组对象(使用jupyter notebook进行探索)

Numpy的核心特征之一就是N-维数组对象——ndarray。ndarray是Python中一个快速、灵活的大型数组容器。数组允许使用类似于标量的操作语法在整块数据上进行数学计算。1.生成ndarray生成数组最简单的方式就是array函数,array函数接收任意的序列行对象(也包括其他的数组),生成一个新的包含数据的Numpy数组。例:将python列表转化为数组。或者利用numpy数...

2020-04-12 14:02:11 2977

原创 Numpy简介及准备

Numpy是什么?Numpy是Numerical Python 的简称,是目前Python数值计算中最重要的基础包。大多数计算包都提供了基于Numpy的科学函数功能,将Numpy的数组对象作为数据交换的通用语。Numpy由C语言进行编写,且提供了非常易用的C语言API。为什么要使用Numpy?Numpy之所以如此重要,其中一个重要原因就是它的设计对于安有大量数组的数据非常有效此外:N...

2020-04-12 10:53:43 290

原创 jupyter notebook 快捷键及其使用

Jupyter Notebook(此前被称为 IPython Notebook)是一个交互式笔记本,支持运行 40 多种编程语言。熟练运用其快捷键可以有效提高其使用效率。如下图所示,是jupyter notebook提供的快捷键操作(不区分大小写),需要注意的是,只有在相应模式(命令行模式/编辑模式)下,按相应的键位才可以使用快捷键。什么是命令行模式?什么是编辑模式?简单来说,当所选单元...

2020-03-29 22:10:38 312

原创 CIFAR-10数据集下载

链接:https://pan.baidu.com/s/1LiPZGFttmPBjTNoDAF2dOQ提取码:q8cx

2020-03-28 21:34:51 2036 1

原创 机器学习-概率图模型-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:18:50 468

原创 机器学习-半监督学习-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:17:37 473

原创 机器学习-计算学习理论-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:15:55 349

原创 机器学习-特征选择与稀疏学习-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:14:05 222

原创 机器学习-降维与度量学习-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:12:01 514

原创 机器学习-聚类-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:09:31 916

原创 机器学习-集成学习-思维导图

点击进入:机器学习系列目录其后附有清晰的pdf版本下载链接哦。整理不易,如果您觉得有用的话,请点个赞吧????

2020-03-26 18:05:41 674

原创 R-CNN系列设计思路

区域卷积神经网络(R-CNN)系列区域卷积神经网络(region-based CNN或regions with CNN features,R-CNN)是将深度模型应用于目标检测的开创性工作之一 [1]。在本节中,我们将介绍R-CNN和它的一系列改进方法:快速的R-CNN(Fast R-CNN)[3]、更快的R-CNN(Faster R-CNN)[4] 以及掩码R-CNN(Mask R-CNN)[...

2020-03-26 17:56:37 317

原创 图像增广

常用图像增广方法,主要有:左右翻转(上下翻转对于许多目标并不常用),随即裁剪,变换颜色(亮度,对比度,饱和度和色调)。以mxnet为框架做实验,各大深度学习框架都有类似功能。原图:左右翻转,以一半概率实现将图像左右翻转:随即裁剪,为了降低卷积层对目标位置的敏感度,比如猫不一定在图片的正中心,所以通过图像随机裁剪来让物体以不同比例出现在图像不同位置。其有一些超参数需要设置,如裁剪区域的高宽...

2020-03-21 11:14:45 2982

原创 异步计算(mxnet)

异步计算是分布式计算的一种实现方式。以MXNet框架举例。用户可以使用不同的前端语言编写MXNet程序,如Python、R、Scala和C++。无论使用何种前端编程语言,MXNet程序的执行主要都发生在C++实现的后端。换句话说,用户写好的前端MXNet程序会传给后端执行计算。后端有自己的线程在队列中不断收集任务并执行它们。前端线程无须等待当前指令从后端线程返回结果就继续执行后面的指令。如使用...

2020-03-14 19:16:10 1086

原创 命令式和符号式编程

命令式程序举例:def add(a, b): return a + bdef fancy_func(a, b, c, d): e = add(a, b) f = add(c, d) g = add(e, f) return gfancy_func(1, 2, 3, 4)输出:在运行语句e = add(a, b)时,Python会做加法运算并将结...

2020-03-14 13:44:31 865

原创 优化算法-AdaGrad,RMSProp,AdaDelta.Adam

动量法利用指数加权移动平均是的自变量的更新方向一致,降低了发散的可能,但在各个维度上采用的仍然是统一的学习率,而统一的学习率可能造成难以适应所有维度的问题。本文中的这些算法将会对此做出改进。首先看一下动量法的迭代步骤作为以下各种算法的对比:设时间步ttt的自变量为xt\boldsymbol{x}_txt​,学习率为ηt\eta_tηt​。在时间步000,动量法创建速度变量v0\boldsym...

2020-03-13 22:30:45 1541

原创 优化算法-momentum(动量法)

关于梯度下降的三个算法:梯度下降,随机梯度下降,以及小批量皮杜下降已经在该篇博文中介绍:https://blog.csdn.net/weixin_42109859/article/details/104822335但对梯度下降使用同一固定不变的超参数会引发一些问题。例如当我们的目标函数为f(x)=0.1x12+2x22f(\boldsymbol{x})=0.1x_1^2+2x_2^2f(x)=...

2020-03-13 21:53:38 5148 4

原创 梯度下降,随机梯度下降,小批量梯度下降的联系与区别

在深度学习中,因为我们通常的目标是使模型的损失达到最小。而目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向,因此我们常使用梯度下降系列的优化算法来迭代参数,减小损失。下面介绍一下梯度下降,随机梯度下降,以及小批量梯度下降之间的联系与区别。梯度下降:直接加载所有的样本进行训练,取每个样本对应特征的梯度的累积和,再除以样本个数。作为该次循环整个样本对应特征的迭代梯度。随机梯...

2020-03-12 17:29:55 1692

原创 同一台电脑使用多个版本的cuda方法

最近使用的tf2.1需要cuda10.1版本,而mxnet-cu90的gpu版本需要cuda9.0版本,所以需要在两个cuda版本之间切换。安装新的cuda并不会将原cuda覆盖掉。使用时只需要在系统的环境变量中将相应的cuda版本号重新修改成需要的版本号,再重启电脑即可完成cuda版本的切换。...

2020-03-06 18:47:26 7903 3

原创 tensorflow2.1安装配置

首先pip install tensorflow==2.1.0若太慢的话可在上条语句之前更换下载源,使用清华镜像(pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple)tensorflow默认使用gpu,其基于cuda10.1开发,下载地址https://developer.nvidia.com/cu...

2020-03-06 18:41:53 1032

原创 关于Mxnet-cu版本找不到指定模块或找不到指定库问题

最近在利用动手学-深度学习熟悉mxnet框架,可是gpu版本的mxnet总是使用错误,经排查后是cuda的版本问题,我的显卡是1050ti,原cuda版本是10.2,下载的mxnet-102,但使用不兼容。之后卸载了cuda,重新安装了8.0版本及其对应的cudnn以及mxnet-80,依旧出现问题。最后重新安装了9.0版本的cuda已经对应的四个补丁,cudnn以及mxnet-cu0,终于可以使...

2020-03-01 14:48:36 2469

原创 过拟合现象,原因,以及降低过拟合的方法

一、什么是过拟合,为什么要避免过拟合 图1.1 Overfit&Normal上图是一张使用线性回归拟合二维样本数据的matlab输出图片,其中Normal曲线是使用使用了带参数空间限制的最小二乘法进行求解的模型,Overfit曲线是使用最小二乘法直接求解得到的。可以看到虚线输出的模型可能并不是我们现实生活中所想要的模型,当我们得到Overfit所学的模型后,用于实际回归任务中,可...

2019-11-08 10:38:40 32906

原创 机器学习-吴恩达-第五章,代码及其作业

rand%随机值为0-1randn%平均值为0的高斯分布w = -6 + sqrt(10) * (randn(1,10000))hist(w)%直方图hist(w,50)%直方图五十个条eye(4)%单位矩阵size(A)sz = size(A)size(sz)size(A,1)%返回矩阵的行数size(A,2)%返回矩阵的列数v = [1 2 3 4]length(v)...

2019-08-09 16:56:52 380

find_specific_class_lable.py

find_specific_class_lable.py

2021-07-14

Image reversal augmentation.py

Image reversal augmentation.py

2021-07-14

randomcutting.m

可以在一张分辨率较大的图片上,随机裁剪出特定尺寸的小图片存入指定的文件夹中,可以进行读取文件夹中所有大尺寸的图片批量操作。

2019-08-05

空空如也

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

TA关注的人

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