自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 RNNoise原理部分(1)

​​论文:https://arxiv.org/pdf/1709.08243.pdf官方博客链接:https://people.xiph.org/~jm/demo/rnnoise/?__s=sgkgganpatrhthvch4jsgithub:https://github.com/xiph/rnnoise改进github:https://github.com/GregorR/rnno...

2019-09-06 16:53:17 7594 3

原创 字典序算法(换位数)

给定一个顺序的数 一般是 逆序最大 顺序最小。比如 给定一个12354 我们找到离它最近的换位数。为了更接近原数,我们需要保持高位不变,低位在最小范围内变换顺序。那么究竟需要变换多少位呢? 这取决于当前数的逆序区域。12354的逆序区域是最后两位,对于这两位来说,此时已经是最大的组合。所以我们要想最接近原数,又比原数大,就必须从倒数第三位开始改变。比如此时 我们...

2019-08-15 11:49:07 455

原创 大数相加以及大数相乘

首先看大数相加:leetcode415,代码:接下来再看大数相乘,其实可以使用大数相加的思路做大数相乘,时间复杂度为o(m * n)例题、代码如下:...

2019-08-15 11:46:48 326

原创 NMS的一种实现方法(带详细注释)

# -*- coding:utf-8 -*-import numpy as npdef py_cpu_nms(dets, thresh): """ :param dets:N*M 二维数组, N是BBOX的个数, M的前四位对应的是(x1, y1, x2, y2) 第5位是对应的分数 x y为坐标 :param thresh:0.3 0.5.... :re...

2019-08-15 11:38:11 707

原创 CV方向面试经验技术路线总结

CV方向:(object detection, semantic segmentation,人脸,姿态,视觉重建,图像恢复生成(gan),识别分类等)面试经验总结:对自己项目的每个细节都了解清楚,多总结面试对基本知识点的掌握要清晰,不能模棱两可对算法公式的掌握要细致,防止推公式。需要准备的:论文,实习经历,项目(硬实力) 。软实力就不说了,问啥都得会是最好...

2019-08-15 11:35:46 1160

原创 二叉树的三种遍历(递归+非递归)+层序遍历笔记+leetcode遍历题解

写在前头:本文内容部分转载自:https://www.jianshu.com/p/49c8cfd07410,本文为笔记整理首先注意树的层序遍历和非层序遍历区别: 1.二叉树的前中后序遍历是递归遍历,需要用栈。(深度优先) 2.二叉树的层序遍历使用队列。(广度优先)首先来看二叉树的三种遍历递归写法: 三种递归遍历对遍历的描述,思路非常简洁,最重要的...

2019-07-24 17:22:58 746

原创 opencv读取图像时图像数组的存储方式,以及如何访问每一个点的像素

使用opencv读取图像时图像的排列方式是一个三维数组,但并非是三维数组按照[r:[[]] g:[[]] b:[[]]] 然后组合的方式存储。图片的存储方式可以理解成有个长 * 宽 的矩阵 矩阵的每一个点包括[b, g, r]三个点的数据 是按照[b, g, r][b, g, r] 的方式存储#include <iostream>#include <opencv...

2019-07-11 11:40:39 4350

原创 超分辨率网络ESPCN中的pixel shuffle--几种代码思路(基于TF, Pytorch)

方法一:源码来自github:https://github.com/JuheonYi/VESPCN-tensorflow中 ESPCN部分首先简单的来看ESPCN的网络结构搭建 conv--conv--conv--ps def network(self, LR): feature_tmp = tf.layers.conv2d(LR, 64, 5, stri...

2019-07-10 11:46:32 4427 1

原创 剑指offer 树的子结构 + 剑指offer 树的镜像

首先看 树的子结构:题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)要查找树A中是否函数树B结构,我们可以分为两步:第一步 找到树A中和树B的根节点的值一样的节点R(其实就是树的遍历)第二步 判断树A中以R为根节点的子树是否和B具有相同结构本题注意几种情况 A B树任一为空。当B遍历结束后A未必结束。 B结...

2019-07-09 15:13:49 96

原创 TensorFlow模型冻结(ckpt转为pb)笔记

# -*- coding:utf-8 -*-""" This file used to freeze tensorflow .ckpt to .pb"""import tensorflow as tf#两种方式 方法1:函数方法,传入sessiondef freeze_session(session, keep_var_name=None, output_names=None...

2019-07-06 16:13:20 2072

原创 C++使用fread读取yuv一帧并写入新的yuv

#include<iostream>#include <stdio.h>#include <stdlib.h>#include "math.h"#include "memory.h"using namespace std;int main(){ FILE *in, *out; //char data[100000]; ...

2019-07-05 15:37:26 5644 5

原创 Leetcode46 47 permutations1 2 + 60 permutation sequence + 70Combinations

46:回溯法:为了避免结果集重复,采用回溯法。构造一个新数组tmp,将nums中元素改变位置后,首先放入一个tmp中,再将tmp插入结果集中。在完成当前顺序插入,退回上一步时,需要将上一步的结果回溯掉,将nums复原。如上1 2 3,首先应该将1, 2, 3插入结果集,然后交换2, 3的位置。每一层都是一个递归。那么就需要一个位置指针pos,这个指针表示,需要从当前元素开...

2019-07-05 10:56:20 174

原创 递归回溯模板(回溯概念)

通用算法:用回溯法解体的一个显著特征是在搜索过程中动态产生问题的解空间。在任何时刻,算法只保存从根节点到当前扩展节点的路径。如果解空间树中从根结点到叶节点的最长路径的长度为h(n),则回溯法所需的计算空间通常为O(h(n))递归回溯模板:回溯法对解空间做深度优先搜索,因此在一般情况下可用递归函数来实现回溯法: vo...

2019-07-05 10:53:06 968

原创 剑指offer 最小的K个数 + Leetcode215 Kth Largest Element

剑指offer 最小的K个数:基于partition函数、基于数组的第k个数来调整,使得小于第k个数字的所有数字都位于数组的左边。同理,大于第k个数字的所有数字都位于数组的右边。Partition函数具体思路就是基于坑(基准)的快拍思想:时间复杂度o(n)(思想见快排概念)题目具体做法:题目中要注意对k的处理Leet...

2019-07-05 10:51:38 305

原创 堆排序记录

笔记来源:程序员小灰(微信公众号)二叉堆本质上是一种完全二叉树:分为最大堆和最小堆。但堆在内存中是顺序存储而非链式存储。那么,如何构建一个堆呢?需要用到堆的自我调整。关于二叉堆,有以下几个操作:插入节点 删除节点 构建二叉堆。1.插入节点二叉堆的上浮调整二叉堆下沉调整构建...

2019-07-05 10:47:57 227

原创 Leetcode74 Search a 2D Matrix + 剑指offer 二维数组查找 + Leetcode240 Search a 2D Matrix2

本题共2三种思路 第一种 分别对行和列使用两次二分查找:第二种  将二维数组看做一个大的一维数组使用二分,即right = row × col 需要注意的是如何处理将一位数组转换为二维数组中元素 具体见代码第三种 与右上角元素做比较 如果右上角元素大于target 则本列不参与比较。若右上角元素小于target则本行不参与比较...

2019-06-06 20:21:29 117

原创 leetcode96 Unique Binary Search Trees + leetcode95 Unique Binary Search Trees 2

96:二叉搜索树:学过数据结构我们都知道可以用构成不同结构的所有二叉树的个数是卡特兰数。卡特兰数的递推公式为:但是,抛开卡特兰数,我们来用动态规划的思路看本题:python:95:本题是Unique Binary Search Trees的另一种形式,直接输出各种独立的二叉搜索树的结构,难点在如何递...

2019-06-06 20:19:50 193

原创 Leetcode62 Unique Paths + 63 Unique Paths 2

因为递归会超时,所以采用DP方法,DP的关键在于找出地推公式。此题的递推公式为:每一个格子的路径数等于它左边格子的路径数加上边上边的格子的路径数,据此可建立一个数组数组中元素为每一行中格子的路径数。python:本题为path1的延续,只是多了障碍,需特殊判断条件详见代码python:...

2019-06-06 20:17:53 133

原创 剑指offer:连续子数组的最大和(动态规划)

其实就是个动态规划问题,找出递推关系即可。如果我们用函数f(i)表示以第i个数字结尾的子数组的最大和,那么我们需要求出max(f(i))可以有以下公式:F(i) = array[i] if i == 0 or f(i - 1) < 0F(i) =F(i- 1) + array(i) if i > 0 and F(i-1) >0a...

2019-06-06 20:13:48 1038 2

原创 Inception v1 - v4 简单总结以及比较(笔记性质)

Inception概念结构借鉴了NIN的设计思路,用于增加网络的深度和宽度,提高神经网络性能。Inception v1Inception的提出主要考虑了多个不同size的卷积核能够增强网络的适应能力。但这种结构存在问题,每一层inception module的filters参数量为所有分支上的总和,多层inception后参数量会非常大,对计算资源有很大依赖。...

2019-05-14 14:11:58 1718 3

原创 RCNN、Fast-RCNN Faster-RCNN大致区别总结

RCNN大致步骤:先提取proposal,然后将proposal输入CNN提取特征,使用SVM分类,最后做bbox reg。缺点:速度。提取proposal的时候计算机进行大量重复计算Fast改进:ROI pooling在fast中,作者将输入变为一整张图片,通过ROI再进行特征选择。并且将bbox reg和区域分类都加入网络变成了multi...

2019-05-09 09:21:25 7015 1

原创 yolo + yolov2 + yolov3 随笔总结(差异、相同、改进)

博客为随笔笔记类,便于加深理解以及比较各模型不同。若想要系统学习yolo系列,建议阅读论文或详解博客PS:!!!!yolo的bounding box和ssd的anchor box不一样!!!他不是在图中每一个坐标点生成了一系列的盒子,这个盒子我们把它叫做Anchor,也就是先验盒子!!yolo,没有先验的概念,而是将图片分成了一系列的格子!! 而这个格子直接预测到的目标的定位的框就...

2019-05-07 09:33:14 5564 2

原创 基于深度学习的OCR大致过程总结(基于吴恩达机器学习课程笔记)

OCR(optical character recognizer)一个简单的ocr系统可大致分为三步:1.Text detection 2.Character segmentation 3.Character classification如:复杂一些的ocr系统带有第四步 即spelling correct system如当第三步将clean...

2019-05-06 13:33:31 1905

原创 caffe:debug之test(最终篇)

现在我们来看test过程将此处命令参数改为test并且内容改为下图样式时即可运行test同train函数一样,现在我我们进入test函数,看看test(caffe.cpp)中究竟干了些什么test函数简单粗暴其介绍为没错 score a model,接下来进入正题:test同样先检测是使用cpu还是gpu进行测试。随后...

2019-04-17 14:17:31 653

原创 caffe:debug之参数更新过程(接上篇反向传播)

随后便要根据后向传播中得到得diff更新权重和偏置ApplyUpdate(位于sgd_solver.cpp)上图便为update函数,可见,参数学习得步骤为:得到学习率,正则化梯度后归一化,正则化,然后更新数据。首先来看GetLearningRate() (sgd_solver.cpp)函数封装了各种样式的学习率衰减方式...

2019-04-17 14:16:36 268

原创 caffe:debug之反向传播(以Lenet为例,接上篇前向传播)

本文接第一次处理TestAll,在退出TestAll后,即开始正式迭代训练网络。step中继续执行其他过程然后进入ForwardBackward()函数上述函数定义在net.hpp中其中Forward函数即在testAll中提到的net.cpp的Forward函数Forward详细说明以及步骤都在TestAll中讲解完毕。其一...

2019-04-17 14:15:08 356

原创 caffe:debug初次训练之TestAll前向传播(以Lenet为例,接debug总分析)

在testAll(位于solver.cpp)函数中进入---->test()其中test()进行对权重初始化后的LOSS检测并返回其中包含函数即将配置文件中的写好的net复制分享给程序创建网络,具体实现见函数然后进入test()中调用的Forward(net.cpp)---> Forw...

2019-04-17 14:11:01 377

原创 caffe:debug之数据预取流程

在caffe中我们经常会看到数据读取,但对其入口函数却无从下手。其实训练和预取数据在caffe中是使用了不同的线程,所以在网络训练流程中找不到数据读取的源码。现在我们来分析一下caffe的另一个线程,perfetchingData。读取数据在搭建网络,第一次测试所给权重损失(TestAll),和整个网路训练测试时候的前向传播(Forward(layer.cpp))中都频繁出现。具体如下:...

2019-04-17 08:42:56 248

原创 caffe:debug流程之代码网络搭建过程(train)

接上一篇:caffe之debug总流程分析https://blog.csdn.net/qq249356520/article/details/89305510在执行完caffe.cpp中solver函数createSolver后,原型如下:即读取train_test.proto文件搭建网络。进入CreateSolver(solver_factory.hpp)...

2019-04-16 13:11:00 910

原创 Caffe debug总流程分析(train)

caffe源码(带详细中文注释---windows版本):https://github.com/qq249356520/caffe_comment_chinese如下展示的是以minst手写字符检测为例,数据集为cifar-10网络数据库中图片,图片大小为24*24。所使用的网络是经典的LeNet网络,接下来便以LeNet网络为例执行caffe代码debug,以明确caffe运行流程。...

2019-04-15 09:00:33 269

原创 贪心算法+实例:删掉K个数后最小的数字+leetcode402

图片来自:程序员小灰(微信公众号)在求解最优化问题时通常在每个步骤都要面临多种选择。对于某些情况,使用动态规划算法来求最优解十分浪费时间空间复杂度,可以使用更简单高效的贪心算法。贪心算法在每一步看起来都是当时最佳的选择。意思是,它总是做出局部最优的选择,希望该选择能导致全局最优。虽然贪心算法并不一定能求得最优解。贪心算法建议通过一系列的步骤来构造问题的解,每一步对目前构...

2019-04-14 10:27:42 1238

原创 二分查找以及其变种总结

图片、原文来自:https://www.cnblogs.com/luoxn28/p/5767571.html以下图片中源码手写板来自:https://github.com/qq249356520/AlgorithmNotes Search文件夹上图分别解释了二分查找成功和失败的两种情况。当left > right时二分查找失败(所给数组中没有待查找元素)。基...

2019-04-13 15:57:07 643

原创 tensorflow中的thread(queue以及Coordinator)的使用与控制

import tensorflow as tfimport numpy as npimport threadingimport time# def MyLoop(coord, worker_id):# while not coord.should_stop():# if np.random.rand() * 1000 % 5 > 3:# ...

2019-04-13 13:49:54 636

原创 使用torch以及tensorflow训练一个最简单网络的基本步骤

torch:import torchimport torch.nn.functional as Fimport matplotlib.pyplot as pltx = torch.Tensor.unsqueeze(torch.Tensor.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)y = x.po...

2019-04-12 09:19:38 637

原创 tensorflow中参数解析以及使用

#method1 sysimport sysgpus = sys.argv[1]batch_size = sys.argv[2]print(gpus)print(batch_size)#method2 argparse 输入参数时要输入 -gpu=1import argparseparser = argparse.ArgumentParser(description='ma...

2019-04-12 09:18:14 488

原创 基础Estimator以及自定义Estimator

基础Estimator#--coding:utf-8--import numpy as npimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datatf.logging.set_verbosity(tf.logging.INFO)mnist = input_data.read...

2019-04-12 09:17:15 1000

原创 tensorflow下TFRecord的读与写

读:TFRecordRead:import tensorflow as tf#读取train.tfrecord中的数据def read_and_decode(filename): #创建一个reader来读取TFRecord文件中的样例 reader = tf.TFRecordReader() #创建一个队列来维护输入文件列表 file_queue ...

2019-04-12 09:09:21 176

原创 SSD网络以及FSSD网络结构基于pytorch的搭建

SSD网络,具体可阅读SSD相关论文:SSD网络:#-*-coding:utf-8-*-import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport osbase = { '300' : [64, 64, 'M', ...

2019-04-12 09:06:42 1990 6

原创 faster中的NMS计算以及理解(tensorflow)

# -*- coding:utf-8 -*-import numpy as npdef py_cpu_nms(dets, thresh): """ :param dets:N*M 二维数组, N是BBOX的个数, M的前四位对应的是(x1, y1, x2, y2) 第5位是对应的分数 x y为坐标 :param thresh:0.3 0.5.... :r...

2019-04-12 09:04:51 976 1

原创 ResNet 以及DenseNet 网络结构搭建(tensorflow)

ResNet:ResNet:#-*- coding:utf-8 -*-import tensorflow as tffrom __future__ import absolute_import #将新版本的特性引进当前版本,也就是说我们可以在当前版本使用新版本的一些特性__BATCH_NORM_DECAY = 0.997__BATCH_NORM_EPSILON = 1e-...

2019-04-12 09:03:01 969 1

windowsSDK10

windows开发工具必须的sdk,在微软中国也可以找到,比较麻烦

2017-12-22

TimesTen for windows数据库安装及配置教程(图文详解包括详细错误解决方案)

如何安装配置使用Timesten,并且实现自动更新oracle磁盘数据库中数据

2017-12-15

centos下oracle安装手册(图文详解包括详细错误解决方案).docx

如何在centos7下安装oracle11g 包括oracle64位或Oracle XE

2017-12-15

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

TA关注的人

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