- 博客(59)
- 收藏
- 关注
原创 时间序列数据分析 Python示例
参考链接一、参考链接二、参考链接三、参考链接四本文主要分为四个部分:用pandas处理时序数据 怎样检查时序数据的稳定性 怎样让时序数据具有稳定性 时序数据的预测1. 用pandas导入和处理时序数据第一:导入相关库# 库函数导入import numpy as npimport pandas as pdimport matplotlib.pylab as pltf...
2019-10-19 15:02:29
1948
原创 时间序列分析 Python
什么是 ARIMA模型ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行时间序列预测的模型。1. ARIMA的优缺点优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。...
2019-10-19 11:31:53
1019
原创 gc模块 Python垃圾回收机制
参考链接一、参考链接二、参考链接三Py的一个大好处,就是灵活的变量声明和动态变量类型。虽然这使得学习py起来非常方便快捷,但是同时也带来了py在性能上的一些不足。其中相关内存比较主要的一点就是py不会对已经销毁的对象所占据的内存做自动的释放内存空间的工作。 在细看内存释放工作之前,有必要先来了解一下py的垃圾回收机制。■ 垃圾回收机制 Python中,主要依靠gc(garba...
2019-10-19 10:12:09
610
原创 fillna() Python 数据清洗之缺失数据填充
官方参考链接、参考链接一、参考链接二缺失数据比较多的情况下,可以直接滤除,缺失数据比较少时,对数据进行填充就很有必要了。数据填充函数fillna()默认参数如下:fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)案例学习:impo...
2019-10-18 22:16:09
1538
原创 pd.concat() Pandas 数据的拼接
pd.concat() python API 官方参考链接 参考链接一 参考链接二pandas.concat( objs, axis=0, join='outer', join_axes=None, ignore_index...
2019-10-18 21:38:13
980
1
原创 warnings模块
在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告,有时特别讨厌,那么如何来控制警告输出呢?其实很简单,python通过调用warnings模块中定义的warn()函数来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息。参考链接 此博主的文章值得收藏代码import warningswarnings.filterwarnings('ignor...
2019-10-18 20:31:16
1376
原创 七大查找算法Python
参考链接一、参考链接二查找算法简介查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素。 查找表(Search Table):由同一类型的数据元素构成的集合 关键字(Key):数据元素中某个数据项的值,又称为键值 主键(Primary Key):可唯一的标识某个数据元素或记录的关键字查找表按照操作方式可分为:...
2019-10-17 19:19:23
297
原创 排序算法C++实现
参考链接代码说明:1.每种算法都封装成void algorithm(int array[], int len)函数2.数据输入采用STL容器vector以实现任意个数数据的输入3.只支持int型数据排序,输入其他类型(敲入字符)即可结束数据输入4.主函数main()加入了可选参数,可指定用哪种算法,默认算法宏定义为快速排序5.整个程序可通过g++编译,简单数据测试也未发现问...
2019-10-17 15:19:47
200
原创 Python实现十大常用的排序算法(2)
堆排序堆排序基于比较交换,是冒泡排序的优化。具体涉及大(小)顶堆的建立与调整。大顶堆指任意一个父节点都不小于左右两个孩子节点的完全二叉树,根节点最大。堆排序首先建立大顶堆(找出一个最大值),然后用最后一个叶子结点代替根节点后做大顶堆的调整(再找一个最大值),重复以数组(列表)实现大顶堆时,从上到下,从左到右编号。父节点序号为n,则左右孩子节点序号分别为2*n+1、2*n+2大顶...
2019-10-17 15:09:39
238
原创 Python实现十大常用的排序算法(1)
学习自用,参考链接一、参考链接二、参考链接三、参考链接四博文 基本的排序算法在经过前人呕心沥血的研究下基本可以分为以下十种,当然除此之外,还有结合多种算法思想基于他们的改进变种。在插入、选择、交换这三大类基于比较的排序算法中,时间复杂度会随着优化程度在O(n^2)~O(nlogn)之间变化,希尔排序、快速排序、堆排序分别代表着杰出的优化策略。基于分治递归思想的归并排序将待排...
2019-10-17 14:40:54
349
原创 2018科大讯飞AI营销算法比赛笔记
题目背景:本次大赛提供了讯飞AI营销云的海量广告投放数据,参赛选手通过人工智能技术构建预测模型预估用户的广告点击概率,即给定广告点击相关的广告、媒体、用户、上下文内容等信息的条件下预测广告点击概率。官方赛事链接 参考链接一、参考链接二、参考链接三任务讯飞AI营销广告点击率预估,预测广告被点击的概率。数据*注 :报名参赛或加入队伍后,可获取数据下载权限。提供下载的数据...
2019-10-16 20:29:10
2489
原创 VIM 笔记1
#author:felix#date:2019-09-19# terminal#---------------------------------------# ctrl+f move forward# ctrl+b move back# ctrl+a move to the head# ctrl+e move to the end# crtl+h delete a c...
2019-09-22 20:41:40
175
原创 Docker学习笔记(1)
检查安装环境: Ubuntu 16.04.6 LTSlsb_release -a卸载旧的版本Docker:sudo apt-get remove docker docker-engine docker-ce docker.io正式安装Docker:# 更新 apt:sudo apt update# 系统升级:sudo apt upgrade# 若内核升级了...
2019-08-05 12:06:10
179
原创 Deep-compression 阅读笔记
参考链接1 参考链接2参考链接3 参考链接4 参考链接5 参考链接6引言--Why模型压缩一直是机器学习的一个重要方向,并且一个模型不可能只在GPU和服务器上运行才可以。只有通过硬件化实现才能落地。但是神经网络也是非常耗费存储和耗费运算的。LeNet-5是一个简单的手写数字识别网络,AlexNet和VGG-16则用于图像分类,刷新了ImageNet竞赛的成绩,但是就其模型尺寸来...
2019-04-30 10:52:07
379
原创 常用的轻量化网络结构:SqueezeNet、MobileNet、ShuffleNet、Xception
引言自2012年AlexNet以来,卷积神经网络(简称CNN)在图像分类、图像分割、目标检测等领域获得广泛应用。随着性能的要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 CNN 网络,如VGG、GoogLeNet、ResNet、DenseNet等。由于神经网络的性质,为了获取更好的性能,网络的层数不断增加,从7层 AlexNet 到16层 VGG,再从...
2019-04-29 17:27:44
9529
1
转载 CNN网络优化学习总结——从MobileNet到ShuffleNet
CNN网络优化学习总结——从MobileNet到ShuffleNet参考链接,值得参阅 注意文中提到的链接此作者的 实验环境搭建 部分博文也值得参阅
2019-04-26 11:45:45
358
原创 Caffe 学习系列(12):制作自己的 caffe 训练数据集
引言在学习和参加相关深度学习比赛的时候,一般情况下都是在准备好的情况下展开,而在实际的工作项目中。因为每一个公司的业务场景不同,需要我们自己去标记图片数据(参看深度学习标记工具汇总),并且在标记好的图片集中制作 caffe 框架的数据格式(lmdb文件),即本文所讲内容。制作自己的 caffe 训练数据集的整个过程分为:1. 准备自己的数据集;2. 生成 .txt 文件; 3.转化为 db...
2019-04-23 22:58:31
1228
原创 Caffe 学习系列(11): caffemodel 中的参数及特征的抽取
引言如果用公式 y = f (wx + b) 来表示整个运算过程的话,那么 w 和 b 就是我们需要训练的东西, w 称为权值, 在 cnn 中也可以叫做卷积核(filter), b 是偏置项。 f 是激活函数, 有relu、sigmoid 等。 x 就是输入的数据。在数据训练完成后,保存的 caffemodel 里面实际上就是各层的 w 和 b 的值。我们运行代码:deploy...
2019-04-22 20:15:31
406
原创 Caffe 学习系列(10): 绘制 loss 和 accuracy 曲线
引言之所以使用 python 接口来运行 caffe 程序,其主要原因在于 python 非常容易可视化。所以推荐大家在 pycharm、jupyter notebook、spyder 等工具来运行 python 代码,这样才和它的可视化完美结合起来。同时便于读者的理解与学习。在 caffe 训练过程中,如果我们想知道某个阶段的 loss 值和 accuracy 值,并用图表画出来,用 p...
2019-04-22 19:51:05
1103
原创 Caffe 学习系列(9):用训练好的模型(caffemodel)来分类新的图片
引言经过前面的 Caffe 学习系列的博文,我们已经寻练好了一个 caffemodel 模型,并生成了一个 deploy.prototxt 文件,现在我们就利用这两个文件来对新的图片进行分类预测。从 mnist 数据集中的 test 集中随便找一张图片,来进行实验:#coding=utf-8import caffeimport numpy as nproot='/home/x...
2019-04-22 19:37:34
573
原创 Caffe 学习笔记(8): 生成 deploy 文件
引言如果要把训练好的模型拿来测试新的图片,那么必须要一个 depoly.prototxt 文件,这个文件实际上和 test.prototxt 文件差不多,只是头尾不相同而已。 deploy 文件没有第一层的数据输入层,也没有最后的 accuracy 层,但最后多一个 softmax 概率层。python代码生成 deploy 文件:(以 mnist 为例)from caffe imp...
2019-04-22 19:23:34
894
原创 Caffe 学习系列(7):mnist 图片数据实例
引言深度学习的第一个实例一般都是 mnist数据集,只要这个例子完全弄懂了,其他的就可以举一反三。由于篇幅问题,本文不介绍配置文件里面每一个参数的具体含义。如有需要参看之前的博文或者自行搜索学习。一、数据准备官网提供的 mnist 数据并不是图片,但是我们以后做的实际项目大多数都涉及到图片。在此提供一个百度云盘,里面存着mnist 图片数据。mnist图片数据下载链接数据分成了训练...
2019-04-22 18:02:20
379
原创 Caffe 学习系列(6):训练模型(training)
如果不进行可视化,只想的到一个最终的训练 model,代码很简单:import caffecaffe.set_device(0)caffe.set_mode_gpu()solver = caffe.SGDSolver('/home/xxx/data/solver.prototxt')solver.solve()...
2019-04-22 17:07:05
299
原创 Caffe 学习系列(5): 生成 solver 文件
引言Caffe 在训练的时候,需要设置一些参数,我们将这些参数设置在一个 solver.prototxt 的文件里面,如下:base_lr: 0.001display: 782gamma: 0.1lr_policy: “step”max_iter: 78200momentum: 0.9snapshot: 7820snapshot_prefix: “snapshot”sol...
2019-04-22 17:01:42
276
原创 神经网络:ResNet 论文学习总结(二)-- 模型微调
引言本片博客是对ResNet 网络模型的微调,论文链接,讲解链接。原始的ResNet结构在细节之处还有微调优化的空间,在论文《Bag of Tricks for Image Classification with Convolutional Neural Networks》中,作者从高效训练、模型微调、训练技巧三个方面给出了一些实践技巧。本文只讲模型微调部分,感兴趣可以继续阅读论文或阅读讲解链接...
2019-04-18 23:42:11
3681
2
原创 神经网络:ResNet 论文学习总结(一)
引言对于深度学习初学者,对网络结构总是存在模糊的认识,不能确切的把握结构的要义。在学习探索过程中,对网络结构算法的有效性和准确度没有很高的要求,经常不考虑时间成本和效率因素,但在工作和实际场景应用时,存在着各种硬性的要求,在较短或者很短的时间内训练出较好或者符合应用场景最低要求网络模型。对于 ResNet 网络结构,本人由于没有深刻的学习和相关的总结,在实习和学习过程中总是碰壁。非常感谢实...
2019-04-16 22:10:00
2556
2
原创 Caffe学习系列(2):计算图片数据的均值
引言图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。均值的计算实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件。在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe 中使用的均值数据格式是 binaryproto,作者为我们提供了一个计算均值的文件 compute_ima...
2019-04-15 14:59:45
498
原创 Caffe学习系列(1):图像数据转换成db(leveldb/lmdb)文件
引言在深度学习的实际应用过程中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且图片的大小还可能不一致。而在 caffe 中经常使用的数据类型是 lmdb 或 leveldb,因此便产生一个问题:如何从原始图片文件转换成 caffe 中能够运行的 db (leveldb/lmdb)文件?在 caffe 中,作者为我们提供这样的一个文件: convert_i...
2019-04-13 18:00:55
401
原创 日常笔记
引言本笔记只是方便个人查阅,记录深度学习的日常小技巧。1. 编译器 clang 和 g++ 切换# 安装sudo apt-get install llvmsudo apt-get install clang# 切换默认 C++ 编译器:sudo update-alternatives --config c++ # 对于 c 语言sudo update-alternat...
2019-04-13 13:57:00
274
原创 Linux下快速安装OpneCV
正常安装opencv 的思路一是下载opencv文件然后再通过make命令安装;二是在linux终端在通过install安装依赖库的方法安装。现在介绍的是,偶然发现有人在GitHub上已经写好脚本语言安装opencv。链接 自测有效此方法默认安装最新版本,可以自己修改相关配置安装指定的版本。下载后根据自身情况修改文件名和存放路径。Install-OpenCVshell scripts ...
2019-04-11 19:49:51
347
原创 Nvidia,CUDA,CuDNN安装记录
本文是个人的经验,只提供一些思路。每一台电脑都值得尊重与耐心。引言CPU 与 GPU 区别从上图可以看出GPU(图像处理器,Graphics Processing Unit)和CPU(中央处理器,Central Processing Unit)在设计上的主要差异在于GPU有更多的运算单元(如图中绿色的ALU),而Control和Cache单元不如CPU多,这是因为GPU在进行并行计...
2019-04-11 10:57:36
711
原创 Caffe框架整理
引言Caffe 全称Convolutional Architecture for Fast Feature Embedding,是一个计算 CNN 相关算法的框架,用C++ 和 Python实现的。Caffe 的优点与局限性:优点: 第一个主流的工业级深度学习工具; 专精于图像处理局限性:它有很多扩展,但是由于一些遗留的架构问题,不够灵活且对递归网络和语言建模的支持很差;基于层的网...
2019-04-08 17:24:57
893
原创 DeepLabCut使用教程之三--示例:创建自己的项目
引言本博客演示了将DeepLabCut用于您自己的项目的必要步骤。 这显示了最简单的代码,但许多功能都有其他功能,所以请查看概述和协议文件!本博客说明了如何: -- 创建一个项目 -- 提取训练框架 -- 标记框架 ...
2019-04-03 23:09:09
2505
2
原创 DeepLabCut使用教程之二--示例:Demo项目
引言为快速深刻的理解 DeepLabCut,本文按照官方给出的案例做相关的讲解,具体的实践步骤在文件 DeepLabCut/examples/Demo_labeledexample_MouseReaching.ipynb 给出,如有兴趣,可直接参考官方文档。图片是DeepLabCut 的整体流程结构。本博客主要内容: --绘制标记图像...
2019-04-02 18:10:28
4874
1
原创 DeepLabCut使用教程之一--简介
DeepLabCut简介英国《自然-神经科学》期刊上发表的一篇论文,介绍了一种经过深度学习训练后,实现自动捕捉动物运动的软件DeepLabCut。其精细程度可以跟踪果蝇产卵、伸吻,以及小鼠每一个脚趾的轨迹。美国哈佛大学团队运用一种新型深度学习算法,成功追踪动物运动及行为,其准确度可达到人工水平,而且无需采用追踪标记物或进行费时的手动分析。专家认为,这一成果打开了海量的数据来源之门。相关链接...
2019-03-31 23:03:00
8427
1
原创 认识OpenCV之Mat类(二)
1. Mat类简介到 OpenCV2.X版本, OpenCV 开源库引入了面向对象编程思想,大量源代码用C++ 重写,Mat类(Matrix 缩写)是OpenCV 用于处理图像而引入的一个封装类。从功能上讲,Mat类在 IpIIamge 结构的基础上进一步增强,并且,由于引入C++ 高级编程特性,Mat类的扩展性大大提高,Mat 类的内容在后期的版本中不断丰富。查看Mat类的定义(OpenCV...
2019-03-30 16:43:21
423
原创 认识OpenCV之Mat类(一)
一、Mat类的综述1. Mat 类存储图像Mat 类是 OpenCV 里面使用广泛的一个类,最重要的一个作用就是作为存储图像的数据结构。Mat类是如何存储图像的呢?图像分为彩色图像和灰度图像,不管是彩色图像还是灰度图像,都是二维的矩阵,具体的存储格式如下:(1)灰度图像的格式:(2)彩色图像的格式:虽然彩色图像由BGR三个通道,但是是存储在同一个平面内的,只不过Ope...
2019-03-30 14:29:15
605
1
原创 OpenCV-Python:图像二值化
图像二值化定义图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出只有黑白的视觉效果。一幅图像包括目标物体、背景和噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值 T,用 T 将图像的数据分成两个部分: 大于 T 的像素群和小于 T 的像素群。这是研究灰度变换的特殊方法,称为图像的二值化(Binarization)。全局阈值P...
2019-03-29 11:21:29
1946
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人