python
zhuqianUESTC
这个作者很懒,什么都没留下…
展开
-
《python科学计算》matplotlib学习
例子1.import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 1000) #创建等差数列,起点、终点、个数y = np.sin(x)z = np.cos(x**2)plt.figure(figsize=(8,4)) #创建Figure对象,指定长宽plt.plot(x,y,label="原创 2015-12-27 14:27:37 · 707 阅读 · 0 评论 -
sklearn knn与kmeans
《机器学习技法》最后一次作业,共有三个编程实验,倒数两个是knn和kmeans。照例用sklearn做,很快。knn:分别求k=1和k=5时的Ein和Eout.from sklearn import neighborsimport numpy as nptrain_data = np.loadtxt('hw4_knn_train.dat')train_x = train_data[原创 2016-01-05 21:17:40 · 1637 阅读 · 0 评论 -
.py里的结果写到.m中
目标如图所示,在.py中,c是一个二维数组,其中一维做横坐标,另一维做纵坐标,写到.m中。画图。本来想用正则在原文件中替换的,太麻烦,于是按照格式写了一个新文件。import osimport globimport cPickle as picklefile_w = open('WinRecall.m','w')print >> file_w, 'figur原创 2017-02-28 10:40:14 · 308 阅读 · 0 评论 -
VOC格式样本分析统计
在训练之前,需要对样本进行统计分析,所谓知己知彼。import argparseimport numpy as npimport matplotlib.pyplot as pltimport pylab as plimport osimport cv2from xml.etree import ElementTree as ETdef parse_args(): parser =原创 2018-01-02 14:42:32 · 824 阅读 · 5 评论 -
linux python2与3兼容
先分别安装2与3, 因为2与3在不同文件,互不影响。切换 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 sudo updat原创 2017-12-27 20:07:23 · 486 阅读 · 0 评论 -
python 合成视频段
有多个视频,为了测试方便,从每个视频中取一段合成为一个视频。import cv2import argparsedef parse_args(): args = argparse.ArgumentParser() args.add_argument('videos',nargs='+') return args.parse_args()def videos2im原创 2018-01-04 16:32:37 · 1159 阅读 · 0 评论 -
修改prototxt文件并生成对应的caffemodel
由于剪枝后重命名layer,导致layer name过长,影响观感。 比如:layer { name: "conv1_2/new/new/new/new/new/new/new/new/new/new" type: "Convolution" bottom: "conv1_1" top: "conv1_2" param { lr_mult: 0.0 decay_原创 2017-12-29 17:52:04 · 5141 阅读 · 0 评论 -
VOC格式样本处理
现在很多训练样本都是VOC格式,而样本数据又需要分析处理。 写了一个小脚本对VOC格式的数据进行处理:# -*- coding:utf-8 -*- import cv2import osimport argparseimport numpy as npfrom xml.etree import ElementTree as ETdef parse_args(): args =原创 2017-12-29 20:55:34 · 1002 阅读 · 0 评论 -
caffe weigths大小统计
今天才发现可以通过查看weight权重大小来探究深度学习网络是否过拟合。在一个深度网络中,如果浅层的网络权重小,而深层网络权重大,且二者不在一个数量级,那么就有理由怀疑该网络存在过拟合了。就像在多项式拟合中,高次比低次权重大一样。(参见prml第一章关于多项式拟合部分)import syssys.path.insert(0,"/home/zz/faceDetect/caffe/pyt原创 2018-01-25 19:43:50 · 282 阅读 · 0 评论 -
用caffe训练生成的log文件画mAP
虽说caffe自带了处理log画loss等的函数,不过用着不舒服,而且对于SSD这样自己定义的一些loss层,不适用。 用SSD训练完,每次都要去看detection_eval也就是mAP。对不同的参数还要对比,不如写一个函数画出来对比好了,比较直观。import osimport argparseimport reimport mathimport matplotlib.py原创 2017-12-29 18:04:21 · 548 阅读 · 0 评论 -
单目标检测精度计算
目标检测中几个指标的衡量import osimport syssys.path.insert(0, "/home/xx/faceDetect/caffe/python")import cv2from xml.etree import ElementTree as ETimport numpy as npimport caffecaffe.set_device(0)caffe.se...原创 2018-02-13 15:58:56 · 1064 阅读 · 0 评论 -
Python 多线/进程尝试
在对图像做预处理时,有时候图片数量很大,需要对图像加速并行处理。 比如:我有10w张,对每张图片resize,写回去。 实现环境:windows 4核cpu多线程代码:import osimport sysimport threadingimport timeimport cv2imRoot = "JPEGImages"newRoot = "resizedImages"...原创 2018-03-26 20:09:50 · 308 阅读 · 0 评论 -
python下文件的批量复制
很短的两行代码,就在同一文件夹下将1.yml复制了(1026-1044)次,文件名1044.yml....1126.yml。原创 2016-01-25 22:08:51 · 689 阅读 · 0 评论 -
sklearn random forest实验
《机器学习技法》作业这一题的思路,先bagging,再产生决策树,再平均。1. 不知道bagging怎么取,用一棵树的随机森林替代。from __future__ import division from sklearn.ensemble import RandomForestClassifierimport numpy as npdata = np.loadtxt('原创 2015-12-25 14:27:35 · 1035 阅读 · 0 评论 -
sklearn decision-tree实验
《机器学习技法》作业需要用到决策树。一直以为要用matlab自己实现一个,但今早起床的时候突然想起,不是有个叫sklearn的东西,是否可以直接拿来用呢?下午做了一些实验,作业里提供的数据,参考sklearn网址提供的代码:import numpy as npfrom sklearn import treeimport matplotlib.pyplot as pltdata原创 2015-12-23 21:00:33 · 3485 阅读 · 2 评论 -
pythonchallenge(21-24)
21. 这一关没有网址,对给的package.pack文件不断进行解压。根据上一次解压得到的结果,判断下一次解压用zlib还是bz2,以及判断得到的数据是正向还是要look backwards.import zlibimport bz2 data = open('1/package.pack','rb').read()result = []原创 2016-01-17 16:41:16 · 627 阅读 · 0 评论 -
pythonchallenge(25-28)
25. http://www.pythonchallenge.com/pc/hex/lake.html一张拼图。。提示1 "imagine how they sound" 2 "can you see the waves?" url后缀以此改为lake1-lake25.wav。声音转为图片,拼起来。"""import urllib #下载音频文件原创 2016-01-17 16:42:31 · 430 阅读 · 0 评论 -
pythonchallenge(29-33)
29. http://www.pythonchallenge.com/pc/ring/guido.html标题是silence! 图片名称是woisit. 图片有点像一个人。应该是猜一种职业。注意到,源文件里有大量空格,每行的空格数还不一样。把空格数转换成ascii码再用bz2解码。import urllibimport bz2 url = 'htt原创 2016-01-17 16:43:33 · 450 阅读 · 0 评论 -
python 提取sqlit数据
人脸检测,提供的数据库是sqlite格式,而且数据分散在几个table中,提取需要的数据到txt中。用专门的软件查看数据格式。但导出不能为直接为txt。可以先导成其他格式再转成txt。可这种方式还不如直接转成。python中有专门处理sqlite的库。代码如下:import sqlite3with sqlite3.connect('aflw.sqlite') a原创 2015-12-17 16:42:40 · 1134 阅读 · 0 评论 -
利用python将alfw转换成bing标注格式
1.训练一个检测器(bing),要将alfw的数据,生成以下格式的正样本标注格式。alfw本来是sqlit3的数据库格式,之前生成了.txt的。利用该.txt文件生成标注文件import osimport cv2data_base = '../'face_file = open('face_rect.txt')face_file.next()if not原创 2016-01-18 14:22:10 · 778 阅读 · 0 评论 -
pythonchalleage leve2
题目网址http://www.pythonchallenge.com/pc/def/ocr.html从网页源代码的指定的大段注释中找“rare character“。import sys, urllibimport reurl = "http://www.pythonchallenge.com/pc/def/ocr.html"wp = urllib.urlopen(url) #原创 2015-12-01 17:10:47 · 268 阅读 · 0 评论 -
pythonchallenge(0-9)
0.2**38 1.方法一:input = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp.\bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgl原创 2015-12-18 20:18:55 · 704 阅读 · 0 评论 -
python challenge(9-18)
9. http://www.pythonchallenge.com/pc/return/good.htmlfirst = [146,399,163,403,170,393,169,391,166,386,170,381,170,371,170,355,169,346,167,335,170,329,170,320,170,310,171,301,173,290,178,289,18原创 2015-12-18 20:20:55 · 394 阅读 · 0 评论 -
车牌标注转换
之前大爷写了alfw的标注转换,我就大概看了一下,绝知此事要躬行啊,今天写了一下车牌的转换。车牌用的是何大神的标注工具,大概长相:# PASCAL Annotation Version 1.00Image filename : "E:\lprset\train\images\_藏AU8666.jpg"Image size (X x Y x C) : 1198 x 1600 x 3D原创 2016-01-20 16:56:07 · 883 阅读 · 0 评论 -
pythonchallenge(19-20)
19. http://www.pythonchallenge.com/pc/hex/bin.htmlimport base64 content = open('data','rb').read()decode_cotent = base64.b64decode(content) open('1.wav','w').write(decode_coten原创 2015-12-22 14:14:28 · 674 阅读 · 0 评论 -
python timeit
《numpy & scipy》中看到narray和list 速率的比较,Ipython环境,直接在命令行里就进行了。在python环境下就稍微复杂一点了,略微一试。import numpy as npfrom timeit import timeitdef list_time(alist, scalar): n = len(alist) for i in range原创 2015-12-23 13:47:14 · 443 阅读 · 0 评论 -
python pydot安装
大概参照 http://www.th7.cn/Program/Python/201410/304267.shtml的教程安装的。即关于这一点,pydot的readme也有说明。pydot用的是1.0.25,其中提示有问题,改了一小点代码。然后上图test中的例子过了,可是在实际用的时候pydot_parser提示无法识别。最后参考: http://stackoverfl原创 2015-12-23 20:33:04 · 2902 阅读 · 1 评论