- 博客(26)
- 收藏
- 关注
原创 python中zip函数的使用
zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> zip(*a)[(1, 4, 7), (2, 5, 8)
2017-03-15 17:16:03 5177
原创 python库---pandas使用简要说明
在pandas中用DataFrame来组织数据,先创建一个简单的DataFrame:#首先是引入pandas和numpy,这是经常配合使用的两个包,pandas依赖于numpyimport pandasimport numpy#创建行索引dates = pandas.date_range("20160101",periods = 6)df = pandas.DataFrame(np.
2017-01-11 20:36:01 899
原创 tensorflow入门(三)---tensorflow的计算图和tensor
tensorflow程序通常被组织成一个图的构建和图的执行阶段,例如我们搭建一个神经网络,组织各个层及之间关系的过程称为图的构建,然后通过不断反复的执行图中的训练op来逐渐优化参数。在图的构建阶段,就是各种op的拼接组合,op之间流通的tensor是由最初的一个op产生的,它被称为源op,没有输入tensor,只有输出tensor,比如说常量(Constant)就是一个源op:import t
2016-12-15 17:13:10 8869
原创 tensorflow入门(二)---tensorflow显存管理
在运行Tensorflow上面的blog的小程序的时候程序我们会遇到一个问题,当然这个问题不影响我们实际的结果计算,但是会给同样使用这台计算机的人带来麻烦,程序会自动调用所有能调用到的资源,并且全占满,在自己的PC上没问题,但是在服务器上,问题就很大,因为一旦你运行程序,占满显存别人就不能再用了,解决方法是我们通常是给程序运行指定一块GPU,然后限制其使用比例:import tensorflo
2016-12-15 16:00:05 16977 5
原创 tensorflow入门(一)---从一个小程序说起
我们现在需要拟合一条直线,通常我们会选用最小二乘的方法,通过编程优化实现,现在我们先用tensorflow提供的API来实现这个程序。麻雀虽小五脏俱全,里面会涉及到很多tensorflow的核心API和思想:我们随机生成100个点,然后对这个点进行拟合,通过梯度下降算法来优化得到参数:import tensorflow as tfimport numpy as npimport o
2016-12-14 17:36:56 3523 1
原创 python使用小语法---持续更新
用python来读取图片借助于工具包matplotlib下面的pyplot:import matplotlib.pyplot as pltimage = plt.imread('001.jpg')#显示图片:plt.imshow(image)plt.axis('off') #关闭坐标轴的显示plt.show()eval()的作用:可以扒掉一层str,如果扒掉之后是aaa,
2016-12-14 10:42:02 532
原创 在caffe中固定某些网络参数,只训练某些层
实现的关键变量是:propagate_down 含义:表示当前层的梯度是否向前传播比如有4个全连接层A->B->C->D a. 你希望C层的参数不会改变,C前面的AB层的参数也不会改变,这种情况也就是D层的梯度不往前反向传播到D层的输入blob(也就是C层的输出blob 没有得到梯度),你可以通过设置D层的propagate_down为false来做到。 prop
2016-12-14 10:37:30 9194
原创 HDF5在python上的使用
h5接受的数据是矩阵跟mat方法一致,但是具有更强的压缩性能使用hdf5依赖于python的工具包:h5pyimport h5py #导入工具包import numpy as np#HDF5的写入:imgData = np.zeros((30,3,128,256))f = h5py.File('HDF5_FILE.h5','w') #创建一个h5文件,文件指针是ff['da
2016-12-14 10:34:51 42840 2
转载 用训练好的caffe模型来测试样本
如果要把训练好的模型拿来测试新的样本,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而已。deploy文件没有第一层数据输入层,样本是被直接输入到net.blobs里面的,也没有最后的Accuracy层,但最后多了一个Softmax概率层。import numpy as np import sys,os # 设置当
2016-12-14 10:26:41 4285
转载 caffe训练过程中的可视化
import matplotlib.pyplot as plt import caffe caffe.set_device(0) caffe.set_mode_gpu() # 使用SGDSolver,即随机梯度下降算法 solver = caffe.SGDSolver('/home/xxx/mnist/solver.prototxt') # 等价于solver文件
2016-12-13 10:34:55 2104
原创 查看caffe模型的参数
1. 训练模型的参数solver = caffe.SGDSolver(str(solver_path))for name,blob in solver.net.blobs,items() # 网络中的数据,blobs是一个字典 print name + ": " + str(blob.data.shape) # blob是Blob的类对象 for n
2016-12-13 10:14:26 1806
原创 使用caffe训练并且测试一个自己的模型
配置文件制作完毕,训练一个自己的模型将变得非常简单:solver_path = '/home/xxx/data/solver.prototxt' caffe.set_device(gpu_id) # 若不设置,默认为0caffe.set_mode_gpu() # 设置计算模式为GPU计算solver = caffe.SGDSolver(solver_path) # 加载S
2016-12-12 21:31:09 2600
原创 如何编写训练测试的prototxt配置文件---以Resnet为例
import osos.chdir('/home/wuwl/ResNet')import init_pathimport caffeimport numpy as npimport toolsfrom caffe import layers as L,params as P,to_protothis_dir = os.path.abspath(".")def ResNet(spl
2016-12-12 21:27:06 2195
原创 如何生成Solver配置文件---caffe
from caffe.proto import caffe_pb2s = caffe_pb2.SolverParameter()path='/home/xxx/data/'solver_file=path+'solver.prototxt' # solver文件保存位置s.train_net = path+'train.prototxt' # 训练配置文件s.tes
2016-12-12 21:09:15 1128
原创 caffe Layers相关的API
导入需要用到的模块,layer和paramsimport caffefrom caffe import layers as Lfrom caffe inport params as P1. 数据层:作为每一个模型的最底层,caffe可以读取不同格式的数据,包括lmdb,leveldb,HDF5,原始图片,还可以直接自己定义输入格式(1). lmdb/leveldb 格式的数
2016-12-12 20:00:21 730
原创 caffe基本数据结构---blob
Caffe使用blob存储、交换、操纵这些信息。blob是整个框架的标准的数组结构和统一存储接口。Blob是Caffe处理和传输的真实数据的包装类,同时它还隐含提供了在CPU和GPU之间同步数据的能力。在数学上,一个blob就是一个4维的数组,它是按照c语言风格存储的,即行优先。由于我们经常对blob的值和梯度感兴趣,所以blob存储了2块data和diff.前者是正常的传输数据,后者是网络计
2016-12-12 19:47:41 6157
原创 python的类和对象---python入门学习(四)
从实用角度出发,根据数据挖掘中最长使用的语法和数据类型出发,对python进行学习,主要包含一下几个模块:数据类型、文件系统、函数、类和对象。学习了一段时间python之后,python相较于matlab最大的区别是编程思想和BIF。由原来的面向过程到现在的面向对象,python无处不对象,这句话体会会随着对python的了解而更加深刻。初学难免有疏漏或者错误,欢迎大家指正。类和对象1
2016-12-08 11:05:17 522
原创 python的函数---python入门学习(三)
从实用角度出发,根据数据挖掘中最长使用的语法和数据类型出发,对python进行学习,主要包含一下几个模块:数据类型、文件系统、函数、类和对象。学习了一段时间python之后,python相较于matlab最大的区别是编程思想和BIF。由原来的面向过程到现在的面向对象,python无处不对象,这句话体会会随着对python的了解而更加深刻。初学难免有疏漏或者错误,欢迎大家指正。函数 有
2016-12-08 11:00:45 473 1
原创 python的文件系统---python入门学习(二)
从实用角度出发,根据数据挖掘中最长使用的语法和数据类型出发,对Python进行学习,主要包含一下几个模块:数据类型、文件系统、函数、类和对象。学习了一段时间python之后,python相较于matlab最大的区别是编程思想和BIF。由原来的面向过程到现在的面向对象,python无处不对象,这句话体会会随着对python的了解而更加深刻。初学难免有疏漏或者错误,欢迎大家指正。文件系统1.打
2016-12-08 10:57:03 485
原创 python的数据类型---python入门学习(一)
从实用角度出发,根据数据挖掘中最长使用的语法和数据类型出发,对python进行学习,主要包含一下几个模块:数据类型、文件系统、函数、类和对象。学习了一段时间python之后,python相较于matlab最大的区别是编程思想和BIF。由原来的面向过程到现在的面向对象,python无处不对象,这句话体会会随着对python的了解而更加深刻。初学难免有疏漏或者错误,欢迎大家指正。数据类型:1.
2016-12-08 10:52:41 434 1
原创 到底什么是过拟合?
过拟合和欠拟合是每一个学习机器学习的人必须要了解的,大概是机器学习中最重要最基本的一个概念,但是到底什么是过拟合?可能很多了解机器学习的人直接会说是样本太少了,模型太复杂,导致泛化能力太弱。 没问题,但是好像还是没有从根本上解释为什么会这样。最近看了很多这方面的资料,感觉有一种解释还是比较的彻底:首先机器学习有一个很重要的假设:训练样本跟测试样本独立同分布,但是这仅仅是一个假设,实际是
2016-05-03 19:45:16 1538
原创 腾讯实习生面经
首先介绍一下,本人是厦大的研究生,计算机视觉方向,是一个标准的中等生,实验室重算法轻开发,找实习的过程中所用到的知识或者说是技能60%都是通过平时跟导师交流沟通学习来的(甚至很多对深度学习,最新前沿技术的理解面试过程中都是老师原话,高度自然不一样),最应该感谢的是我的导师和其他实验室老师们。 有找实习这个想法是从年后开学开始的,虽然之前工作过一年(比亚迪软件工程师),但是以后想去的
2016-05-03 10:44:08 8991 1
原创 统计学习方法笔记(四)朴素贝叶斯方法
基本的朴素贝叶斯方法:假设我们面对的是一个分类问题,一个样本点的特征向量和类别标签为:我们期望在知道x的情况下得到y=cj的概率,即:如果我们想要具体的知道这个样本属于哪一类别的概率最大,即需要求解最大的后验概率:先验概率为:条件概率为:朴素贝叶斯方法做了条件独立性假设,于是可以有:以上的条件独立假设等于说是用于分类的特征
2015-10-22 14:54:58 751
原创 统计学习方法笔记(三)K近邻算法
K近邻法(KNN)是一种基本的分类和回归的方法,KNN的基本思想是给出一定数量带有标签的训练样本,使用这些训练样本将特征空间划分成许多的子空间,当一个新的测试样本进来以后,这个测试样本一定会落在一个超矩形区域内部,然后找到距离这个测试样本最近的K个训练样本,用这些训练样本的标签去投票,票数最多的类别就是这个测试样本的类别。KNN的三个要素:K值选择,距离度量,分类决策规则。算法描述:
2015-10-12 20:26:35 1811
原创 统计学习方法笔记(二)感知机
感知机于1957年由Rosenblatt提出,是一种线性分类模型,属于判别模型,直接学习判别函数,是神经网络和支持向量机的基础。对于感知机的学习推导首先要知道他的模型是什么,然后是学习策略(损失函数),最后是学习算法。1. 感知机的模型(假设空间):其中符号函数为:2. 感知机的学习策略(损失函数):首先超平面为:点到超平面的距
2015-10-10 14:48:19 845
原创 统计学习方法笔记(一)统计学习方法概要
统计学习的基本假设:X和Y具有联合概率分布,并且训练数据与测试数据被看作是依据联合概率分布独立同分布产生的。(测试数据和训练数据独立同分布,才可能由学习到的模型去预测未来的数据)。统计学习的三个要素:模型: 监督学习过程中,模型就是所要学习的条件概率分布或者决策函数(你要学习到什么样的模型)策略: 按照什么样的准则学习或者选择最优模型。(有了模型的类型,按照什么方式来计算这个模型,
2015-09-24 16:51:06 562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人