
deep learning
文章平均质量分 70
申庆胜
这个作者很懒,什么都没留下…
展开
-
Google Colab和Kaggle搭配使用
深度学习越加火热,但是,很多实验室并没有配套的硬件设备,让贫穷的学生党头大????经过网上大量的搜罗,我整理了适合学生党的深度学习解决方案。利用Colab + Kaggle两大免费的GPU环境,让深度学习变得简单。ColabColab基础使用Google Colab提供了免费K80的GPU,通过Google Drive就可以很好的白嫖一波了 ????Colab 实用教程Colab进阶使用通过下载Google备份与同步到本地端,就可以实现数据的同步,保证了较大量的数据集在云端和本地端直原创 2022-01-19 11:37:32 · 3327 阅读 · 0 评论 -
快速安装tensorflow(国内镜像地址)
使用默认pip install tensorlfow经常 出现速度慢,而且会超时安装失败,这时候就如果用国内镜像地址就不会出现这个问题。pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu1.5.0 #指定镜像地址安装pip --default-timeout=1000000 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple/ ..原创 2021-12-02 21:10:08 · 3606 阅读 · 0 评论 -
Mediapipe框架学习
Mediapipe官方文档Mediapipe框架学习之一——Win10安装Mediapipe环境Mediapipe框架学习之二——Android SDK and NDK 配置Mediapipe框架学习之三——构建 MediaPipe 的 Android aar 包Mediapipe框架学习之四——利用 Mediapipe aar 包,在AS中构建基于 Mediapipe 的手势识别App附上工程文件: handtrackinggpu.zip————————————————版权声明:本转载 2021-11-03 10:35:13 · 1017 阅读 · 0 评论 -
朴素贝叶斯分类器训练过程分析
转载来源,系列阅读:http://pocore.com/blog/article_495.html原文链接这是一个识别论坛不当言论的案例步骤一:获得这个问题的全部特征(标称型)所谓标称型数据:是可以化成0 1表示的数据用于案例训练的数据如下:dataSet: [['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 's转载 2021-11-02 10:32:43 · 3810 阅读 · 0 评论 -
深度卷积神经网络(CNN tricks)调参技巧
做卷积神经网路方面的研究,有时会遇到一些苦恼。大抵是:1、复现别人的网络,得不到相同的表现。2、自己的网络调参,结果调不上去。所以有些大佬就总结了一些调参的tricks,在这里学习记录一下,然后加上一些自己的理解。影像神经网络效果的因素可能有但不限于以下几点:学习率调节优化器初始化方法标签平滑归一化学习率好的学习率可以让调参过程事半功倍,那么什么是好的学习率呢,source:https://sgugger.github.io/how-do-you-find-a-good-lear原创 2021-10-12 16:56:35 · 887 阅读 · 0 评论 -
Tensorflow 模型量化 (Quantizing deep convolutional networks for efficient inference: A whitepaper 译文)
最近Tensorflow官方发布了一份《Quantizing deep convolutional networks for efficient inference》白皮书,共36页,讲解了基于Tensorflow的模型量化的有关知识。由于最近也在学习模型量化这部分工作,所以计划对这份文档翻译一下,同时share给大家。由于工作时间所限,我尽量每天翻译一些,如果有误解的地方,也请大家批评指正。 ...转载 2021-09-24 14:42:58 · 1267 阅读 · 0 评论 -
机器学习常见术语汇总
A准确率(accuracy)分类模型预测准确的比例。在多类别分类中,准确率定义如下:在二分类中,准确率定义为:激活函数(Activation function)一种函数(例如 ReLU 或 Sigmoid),将前一层所有神经元激活值的加权和输入到一个非线性函数中,然后向下一层传递该函数的输出值(典型的非线性)。AdaGrad一种复杂的梯度下降算法,重新调节每个参数的梯度,高效地给每个参数一个单独的学习率。详见论文:http://www.jmlr.org/paper..转载 2021-09-23 18:58:54 · 2373 阅读 · 0 评论 -
训练集、验证集、测试集以及交验验证的理解
在人工智能机器学习中,很容易将“验证集”与“测试集”,“交叉验证”混淆。一、三者的区别训练集(train set) —— 用于模型拟合的数据样本。验证集(development set)—— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。 通常用来在模型迭代训练时,用以验证当前模型泛化能力(准确率,召回率等),以决定是否停止继续训练。 在神经网络中, 我们用验证数据集去寻找最优的网络深度(number of h...转载 2021-09-23 16:23:52 · 1660 阅读 · 0 评论 -
【数据库】FaceDataset常用的人脸数据库
公开人脸数据集本页面收集到目前为止可以下载到的人脸数据库,可用于训练人脸深度学习模型。人脸识别数据库描述用途获取方法WebFace10k+人,约500K张图片非限制场景链接FaceScrub530人,约100k张图片非限制场景链接YouTube Face1,595个人 3,425段视频非转载 2017-11-16 11:04:39 · 3924 阅读 · 0 评论 -
mtcnn训练
最近在搞人脸检测,准备学习一下如何训练,先参考一下试试,后续更新内容https://github.com/dlunion/mtcnn原创 2017-11-15 17:55:06 · 8569 阅读 · 6 评论 -
Caffe源码(一):math_functions 分析
目录目录主要函数caffe_cpu_gemm 函数caffe_cpu_gemv 函数caffe_axpy 函数caffe_set 函数caffe_add_scalar 函数caffe_copy 函数caffe_scal 函数caffeine_cup_axpby 函数caffe_add caffe_sub caffe_mul caffe_div 函数caffe_powx转载 2017-11-15 10:58:52 · 250 阅读 · 0 评论 -
Caffe框架源码剖析(9)—损失层SoftmaxWithLossLayer
类SoftmaxWithLossLayer包含类SoftmaxLayer的实例。其中SoftmaxLayer层在正向传导函数中将64*10的bottom_data,通过计算得到64*10的top_data。这可以理解为输入数据为64个样本,每个样本特征数量为10,计算这64个样本分别在10个类别上的概率。公式如下,其中n=10,f(zk)=ezk∑nezi=ezk−m∑nezi−m,m=m转载 2017-11-13 16:44:11 · 294 阅读 · 0 评论 -
OpenBLAS项目与矩阵乘法优化 | AI 研习社
提起矩阵计算,学过《高等数学》的人可能都听过,但若不是这个领域的研究者,恐怕也只停在“听过”的程度。在矩阵计算领域,开源项目OpenBLAS影响巨大,除IBM、华为等巨头公司在使用外,还吸引了全球的研究院校、开发者们关注。雷锋网 AI 研习社近日有幸邀请到了澎峰科技创始人、OpenBLAS项目创始人和主要维护者张先轶,他将为我们介绍OpenBLAS开源项目以及矩阵乘法的优化。嘉宾介绍张转载 2017-09-30 11:01:25 · 4016 阅读 · 0 评论 -
CNNdroid+Caffe使用攻略
CNNdroid+Caffe使用攻略lab里在弄机器学习,坑了自己那么多,写篇详细点的CNNdroid的资料吧,国内好像好少看到CNNdroid的资料,用起来感觉速度还OK的。 github:https://github.com/hirorogithub/CNNdroid_age_demo感谢https://github.com/xh2009cn/CNNdroid-Age-Demo转载 2017-11-08 14:01:39 · 409 阅读 · 1 评论 -
Caffe上LeNet模型理解
Caffe中用的模型结构是著名的手写体识别模型LeNet-5(http://yann.lecun.com/exdb/lenet/a35.html)。当年美国大多数银行就是用它来识别支票上面的手写数字的。能够达到这种商用的地步,它的准确性可想而知,唯一的区别是把其中的sigmoid激活函数换成了ReLU。为什么换成ReLU,上一篇blog中找到了一些相关讨论,可以参考。CNN的发展,关键就在转载 2017-11-09 15:11:15 · 362 阅读 · 0 评论 -
Caffe框架源码剖析(1)—构建网络
今天花了一整天时间进行阅读和调试Caffe框架代码,单单是以Lenet网络进行测试就可见框架的大致工作原理。贾扬清在Caffe中大量使用了STL、模板、智能指针,有些地方为了效率也牺牲了一些代码可读性,处处彰显了大牛风范。为了他人阅读方便,现将代码流程简单梳理一下。1.LeNet卷积神经网络模型先看一下1989年Yann LeCun提出的LeNet卷积神经网络模型,左侧是输入的手写转载 2017-11-10 10:47:30 · 240 阅读 · 0 评论 -
Caffe框架源码剖析(2)—训练网络
中间因为工程开发等杂七杂八原因暂停了Caffe源码分析,现在继续补上。上篇分析在函数 train() 中建立了网络,接下来就是进入训练网络步骤了。在函数train()中,使用前一步创建好的solver智能指针对象调用函数Solve(),[cpp] view plain copy int train() { ... // 创建转载 2017-11-10 11:16:52 · 238 阅读 · 0 评论 -
Caffe框架源码剖析(3)—数据层DataLayer
Caffe网络正向传导时,首先进行的是DataLayer数据层的传导。该层从文件读取数据,加载至它的上一层卷积层。反向传播时,因为数据层不需要反传,所以它的Backward_cpu()和Backward_gpu()都是空函数。下面看一下DataLayer类图关系。首先从父类BaseDataLayer开始看源码,base_data_layer.hpp头文件:[cpp]转载 2017-11-10 16:12:46 · 388 阅读 · 0 评论 -
Caffe框架源码剖析(4)—卷积层基类BaseConvolutionLayer
数据层DataLayer正向传导的目标层是卷积层ConvolutionLayer。卷积层的是用一系列的权重滤波核与输入图像进行卷积,具体实现是通过将图像展开成向量,作用矩阵乘法实现卷积。 同样,首先看一下卷积层的类图。 BaseConvolutionLayer类是所有卷积层的基类,它负责初始化滤波核、将图像转成向量,以及封装了BLAS库的矩阵运算函数。Yangq转载 2017-11-10 16:57:05 · 384 阅读 · 0 评论 -
Caffe框架源码剖析(5)—卷积层ConvolutionLayer
ConvolutionLayer是BaseConvolutionLayer的子类,功能较为简单。类中不包含成员变量,仅包含几个虚函数的实现。conv_layer.hpp头文件的定义如下:[cpp] view plain copy template typename Dtype> class ConvolutionLayer : public BaseConvo转载 2017-11-13 15:20:36 · 435 阅读 · 0 评论 -
Caffe框架源码剖析(6)—池化层PoolingLayer
卷积层ConvolutionLayer正向传导的目标层往往是池化层PoolingLayer。池化层通过降采样来降低卷积层输出的特征向量,同时改善结果,不易出现过拟合。最常用的降采样方法有均值采样(取区域平均值作为降采样值)、最大值采样(取区域最大值作为降采样值)和随机采样(取区域内随机一个像素)等。 PoolingLayer类从Layer基类单一继承而来,没有派生其它子类。具体定义在po转载 2017-11-13 15:25:16 · 919 阅读 · 0 评论 -
Caffe框架源码剖析(7)—全连接层InnerProductLayer
全连接层InnerProductLayer的原理很简单,说白了就是矩阵乘法运算。正向传导时输出数据等于输入数据乘上权重,如果有偏置项就再加上偏置项。写成公式就是: 矩阵乘法在CPU端采用OpenBLAS实现,在GPU端则采用NVIDIA cuBLAS实现加速。 inner_product_layer.hpp定义如下,[cpp] view plain转载 2017-11-13 16:32:10 · 690 阅读 · 0 评论 -
Caffe框架源码剖析(8)—激活函数层ReLULayer
LeNet中使用修正线性单元(Rectified Linear Unit,ReLU)代替Sigmoid作为激活函数,目的是为了加速收敛。激活函数层ReLULayer原理很简单,就是实现了对输入数据的非负处理,将小于零的数据进行了截断。正向传导公式如下,其中negative_slope在程序赋值为0top_data={bottom_databottom_data∗negative_s转载 2017-11-13 16:36:12 · 608 阅读 · 0 评论 -
OpenBLAS矩阵乘法源码结构分析
用于记录阅读分析OpenBLAS源代码的各种知识点,防止遗忘。这里主要记录OpenBLAS的代码结构,因为确实比较复杂,直接看源代码很可能比较蒙比,如果知道其结构,看起来就比较轻松了。至于OpenBLAS矩阵乘法的算法,这篇不涉及,我会在另一篇文章中简单(瞎jb)分析。OpenBLAS代码总体上可以分成三个层次:1.接口层 在OpenBLAS接口层中,运算又分为三个类型,分别是leve转载 2017-09-29 15:58:09 · 1861 阅读 · 0 评论