自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

攻城狮的自我修养

菜鸟程序猿

  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 NowCoder(3):从数组全排列到求和——好未来2017校招真题

1.数组全排列(Leetcode)给定一个含有不同数字的集合,返回所有可能的全排列。比如,[1,2,3] 具有如下排列: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]1.1思路 进行深度搜索,组合出所有的可能排列方式。在每次进行搜索的时候,...

2018-04-11 10:58:03 469

原创 论文:Aurora Guard_ Real-Time Face Anti-Spoofing via Light Reflection

AG腾讯优图Main Idea本文提出了一种简单高效的anti-spoofing方法,不需要特别的硬件设备。利用了多帧RGB图在不同光照条件下具有不同的反射。提出并定义了一种光参数序列light CAPTCHA,应用到人脸上,形成了具有不同反射效果的人脸帧。然后对其提取normal cues,该过程使用了Lambert’s Law。将normal cues输入一个多任务CNN,第一个分支使用...

2019-09-15 12:08:06 982

原创 mxnet学习(9):使用gluon接口读取symbol预训练模型finetune

使用symbol得到的模型或者gluon的hybridize之后的模型包括一个.json文件(网络结构)和.params文件(参数),gluon可以使用net = gluon.SymbolBlock.imports(json, ['data'], params, ctx)导入网络和参数,这样可以进行测试或者进一步训练。但是如果只需要使用模型的其中一部分,比如只需要conv层,去掉所有fc层,或者...

2019-05-07 16:48:22 2160 1

原创 mxnet学习(8):Trainer

class mxnet.gluon.Trainer(params, optimizer, optimizer_params = None, kvstore = ‘device’, compression_params = None, updata_on_kvstore = None)参考:http://mxnet.incubator.apache.org/versions/master/api/...

2019-05-07 16:12:38 1909

原创 python笔记(4): os.path模块

os.path 模块主要用于获取文件的属性。以下是 os.path 模块的几种常用方法:os.path.abspath(path)返回绝对路径os.path.basename(path)返回文件名os.path.commonprefix(list)返回list(多个路径)中,所有path共有的最长的路径os.path.dirname(path)返回文件...

2019-04-17 11:50:15 231 2

原创 mxnet学习(7):数据载入方式

1.使用ImageRecordIter读取recmxnet.io.ImageRecordIter(*args, **kwargs)该方式只能从rec文件读取batches,相比于定制化的输入方式,该方式不够灵活,但是速度很快。如果要读取原图,可以使用ImageItereg:data_iter = mx.io.ImageRecordIter( path_imgrec="./sample....

2019-03-28 17:38:04 1625

原创 mxnet学习(6):使用GPU进行训练

1.使用as_in_context()ctx是需要载入的gpu/cpu# Load data and label is the right context data = data.as_in_context(ctx)label = label.as_in_context(ctx)2.使用copyto(ctx)将数据copy到ctxdata = data.copyto(ctx)l...

2019-03-26 15:04:16 3208 2

原创 mxnet学习(5):模型参数

模型参数选择class mxnet.gluon.Block(prefix = None, params = None)其中collect_params()是该类下面的一个成员函数,而该类是所有的网络和模型的基类。该函数返回一个参数字典包含了这个Block和其所有孩子的参数,同样可以有选择性的返回部分参数,使用正则表达式来选择。eg:model.collect_params('conv1_we...

2019-03-19 15:04:56 2037

原创 mxnet学习(4): recordio

reference:https://mxnet.incubator.apache.org/api/python/io/io.html#mxnet.recordio.MXRecordIO1.class mxnet.recordio.MXRecordIO(uri, flag)读写RecordIO数据格式,支持顺序读写>>> record = mx.recordio.MXReco...

2019-03-18 10:09:08 3765 1

原创 mxnet学习(3):autograd

reference:https://mxnet.incubator.apache.org/api/python/autograd/autograd.html1.基本操作使用x.attach_grad()为梯度分配空间,调用with autograd.record()计算梯度,再使用backward()进行反传2. BN and dropoutBN, dropout这些层在训练和测试的时候是...

2019-03-18 10:04:22 2495 1

原创 mxnet学习(2):Tensor和Normalize

reference:https://mxnet.incubator.apache.org/api/python/gluon/data.htmlvision下面主要有一些数据集和transformstransforms可以在训练数据的时候用来做数据增强,这里的数据集增强和image API中的数据集增强大同小异。需要注意哪些转换需要在ToTensor之前,哪些需要在ToTensor之后Tak...

2019-03-15 17:19:46 2741

原创 maxnet学习(1):image函数

reference:https://mxnet.incubator.apache.org/api/python/image/image.html#mxnet.image.imread注意这里不是gluon的函数mxnet.image.imdecode和mxnet.image.imread的区别二者都是使用C++的opencv对图像进行处理,imdecode将图片解码为NDarray,而在...

2019-03-15 16:57:58 4648

原创 从源码解读Large-Margin Softmax Loss for Convolutional Neural Networks

从源码解读Large-Margin Softmax Loss for Convolutional Neural Networks1.论文回顾论文地址:https://arxiv.org/pdf/1612.02295.pdfL-softmax的主要思想是通过一个超参m对softmax+cross entropy的损失函数进行改进。一般我们把y = Wx + b, output = softma...

2018-10-24 00:37:13 2948 3

原创 pytorch学习笔记(2)-使用自定义txt文件读取数据

import osimport torchfrom PIL import Imagefrom torch.utils.data import Datasetfrom torchvision import datasets, models, transformsclass dataLoader(Dataset): def __init__(self, path, listName,...

2018-10-19 17:11:59 6393 1

原创 pytorch学习笔记(1)-optimizer.step()和scheduler.step()

optimizer.step()和scheduler.step()的区别optimizer.step()通常用在每个mini-batch之中,而scheduler.step()通常用在epoch里面,但是不绝对,可以根据具体的需求来做。只有用了optimizer.step(),模型才会更新,而scheduler.step()是对lr进行调整。通常我们有optimizer = optim.SGD...

2018-10-18 18:24:17 89184 5

原创 caffe 源码解读(1)

caffe 源码解读 Part11. 基础知识inline C++关键字,在函数声明或定义中函数返回类型前加上关键字inline,即可以把函数指定为在计算机科学中,内联函数(有时称作在线函数或编译时期展开函数)是一种编程语言结构,用来建议编译器对一些特殊函数进行内联扩展(有时称作在线扩展);也就是说建议编译器将指定的函数体插入并取代每一处调用该函数的地方(上下文),从而节省了...

2018-08-28 22:53:51 584 1

原创 使用opencv对图像进行crop,resize,pad

使用opencv-python 对图像进行resize和填充在图像输入神经网络之前,需要进行一定的处理,假设神经网络的图像输入是256 256然后进行了224 224的random crop。我们需要进行如下处理: - 读入原始图像 image = cv2.imread("img.jpg")截取图像中有价值的部分 region = image[y1:y2, x1...

2018-07-05 16:55:16 51422

原创 caffe中Image Data layer的图像增强操作-transformer_param

caffe中ImageData layer的图像增强操作mirrormirror:ture代表随机的左右翻转。It is random left-right flipping, a common operating when training models.contrast_brightness_adjustment开启或者禁止对比度调节,默认禁止(false) contra...

2018-07-03 16:20:04 4359 2

原创 linux下使用anaconda安装pytorch

pytorch本文主要介绍一下使用anaconda在在linux环境下的安装pytorch的流程。由于pytorch安装比较简单,这里只写出一些主要的流程。anaconda的安装在此就不再赘述。1.确定自己的系统版本因为pytorch在0.4已经不支持比较老的系统版本了。以下是pytorch的member在github上的原话。In 0.4, we deprecated R...

2018-06-12 16:27:33 24889 4

原创 TensorFlow笔记4:显卡使用

tensorflowtensorflow可以指定训练使用的显卡。如果一台电脑具有多个NVIDIA的GPUs,用户想要指定需要使用的GPU,那么在python中可以写如下语句。这个语句设置了当前程序可见的显卡。import osos.environ["CUDA_VISIBLE_DEVICES"]="0"然后使用tf.device来指定训练的gpu ID。但是如果只指定ID,而没有屏蔽掉...

2018-06-07 21:25:01 2750

原创 linux命令(1)

linux command查看cuda版本 cat /usr/local/cuda/version.txt查看cudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2查看文件的大小 ls -sh filename复制文件夹下所有文件到另外一个目录 cp -ri s...

2018-06-07 21:10:11 139

原创 python笔记(3)字典操作

python中字典操作1.字典中键值搜索d = {'a':1,'b':4,'c':2}print('a' in d)#trueprint('a' in d.keys())#true在python 2中还有has_key的用法,但是Python 3中已经没有了。2.字典中按照value排序方法1 d = {'a':1,'b':4,'c':2}f = ...

2018-05-09 19:46:03 168

原创 NowCoder(2):袋鼠过河——搜狐2017校招编程题

题目描述:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够...

2018-04-10 22:04:01 525

原创 NowCoder(1):彩色宝石项链——搜狐2017校招编程题

题目描述有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石。...

2018-04-10 21:43:09 895 1

原创 python笔记(2)排序函数sorted的用法

python3中sort和sorted的用法本文参考https://www.cnblogs.com/znyyy/p/7716077.html python3 sorted取消了对cmp的支持,格式:sorted(iterable,key=None,reverse=False),key接受一个函数,这个函数只接受一个元素,默认为None;reverse是一个布尔值。如果设置为True,列表元素...

2018-04-03 22:14:28 613

转载 C/C++中qsort的用法

C/C++中qsort的用法本文转载自:https://www.cnblogs.com/CCBB/archive/2010/01/15/1648827.htmlC/C++中有一个快速排序的标准库函数 qsort ,在stdlib.h 中声明,其原型为:void qsort(void *base, int nelem, unsigned int width, int ( * pfCo...

2018-04-02 10:30:13 235

原创 Python笔记(1)

python笔记(1)1. tf.clip_by_value()tf.clip_by_value(A, min, max)的作用是把输入A都压缩在min和max之间,大于max的会被压缩为max,小于min的会被压缩为min。import tensorflow as tf sess = tf.InteractiveSession() a = tf.constant([1...

2018-03-29 22:29:29 152

转载 numpy中nonzero的用法

转载:http://www.cnblogs.com/1zhk/articles/4782812.html 当使用布尔数组直接作为下标对象或者元组下标对象中有布尔数组时,都相当于用nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算。nonzeros(a)返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数...

2018-03-28 17:38:37 2277

转载 TensorFlow学习3:tf.gradients和tf.stop_gradient()

本文转载自http://blog.csdn.net/u012436149/article/details/53905797gradienttensorflow中有一个计算梯度的函数tf.gradients(ys, xs),要注意的是,xs中的x必须要与ys相关,不相关的话,会报错。 代码中定义了两个变量w1, w2, 但res只与w1相关#wrongimport tensorflow as tf...

2018-03-09 22:03:22 837

原创 OpenCV骨架提取代码

提取骨架常用的方法有zhang快速细化法,rosenfeld方法等。两种算法的原理可以参考:贾挺猛. 葡萄树冬剪机器人剪枝点定位方法研究[D]. 浙江工业大学, 2012.这篇文章中有比较详细的解释。此外《数字图像处理》(第三版)-冈萨雷斯,9.5.7和11.1.7两个小节对骨架提取问题进行了比较详细的介绍。下面是实现两种算法的代码。#define p1 SrcImage.at(i, j)

2018-01-25 11:20:14 6890

原创 TensorFlow中的模型持久化

本文参考《TensorFlow实战Google深度学习框架》一书,总结了一些在TensorFlow在保存训练好的模型过程中使用到的一些APITF提供了tf.train.Saver类来保存和还原一个神经网络模型1.模型保存模型保存的代码如下所示:先声明一个tf.train.Saver对象saver,然后使用saver.save进行保存,该函数的第二个参数是保存的路径。注意保存的文件名后缀为.ckpt

2018-01-18 22:39:12 474

原创 TensorFlow中的变量管理

本文参考《TensorFlow实战Google深度学习框架》一书,总结了一些在TensorFlow中与变量管理相关的一些API和使用技巧1.创建变量TensorFlow中可以通过tf.Variable和tf.get_variable两个函数来创建变量,两者基本功能相同,但是用法存在差别。#下面两个定义是等价的,只不过变量的名称不同v1 = tf.Variable(tf.constant(1.0,

2018-01-18 19:05:46 349

原创 Python学习之字符串(string)

以下是根据《python基础教程(第2版.修订版)》整理的有关python中字符串的相关函数的使用方法和注意事项。# -*- coding: utf-8 -*-"""Created on Thu Jan 4 23:12:27 2018@author: douyh"""'''*****************************chapter 3: string*********

2018-01-05 16:09:47 226

原创 Python学习之列表和元组(list and tuple)

以下是根据《python基础教程(第2版.修订版)》整理的有关python中列表和元组的相关函数的使用方法和注意事项。# -*- coding: utf-8 -*-"""Created on Thu Jan 4 16:37:57 2018@author: douyh"""'''*************************chapter 2: list and tuple*

2018-01-04 20:56:35 262

原创 Python学习之字典(dictionary)

以下是根据《python基础教程(第2版.修订版)》整理的有关python中字典的相关函数的使用方法和注意事项。# -*- coding: utf-8 -*-这个可以支持中文注释"""Created on Wed Jan 3 15:58:01 2018@author: douyh"""'''*************************chapter 4: dictiona

2018-01-04 16:42:49 180

PASCAL VOC2007格式标注工具

使用Python写的一个用于标注数据集的软件,该软件可以将数据集标注成为VOC2007格式,适合计算机视觉应用。

2018-05-03

空空如也

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

TA关注的人

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