机器·深度学习
文章平均质量分 92
Javis486
天下皆白,唯我独黑
展开
-
ncnn笔记:03)在Andriod上从零开始搭建人脸检测模型retinaface
准备预训练模型文件ncnn官方提供的retinaface的权重及参数文件为mnet.25-opt.bin mnet.25-opt.param下载地址:https://github.com/nihui/ncnn-assets/tree/master/models,但笔者使用该权重在ubuntu上测试ncnn/build/examples会出现如下错误javis@javis-HP-280-Pro-G2-MT:~/soft/ncnn/build/examples$ ./retinaface /tmp原创 2020-10-16 09:32:45 · 2881 阅读 · 3 评论 -
ncnn笔记:02)ncnn之JNI入门初窥
上篇快速介绍了在andriod上搭建深度学习模型,本篇粗略介绍下JNIJNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).这是百度百科上说的.通俗来说,就是JAVA调用C/C++函数的接口.如果你要想调用C系列的函数,你就必须遵守这样的约定.比如在C:\Users\Javis\Desktop\jni\下有个java文件需调用一个返回值为字符串的C++函数public class NativeDemo { //原创 2020-10-12 14:33:03 · 1056 阅读 · 0 评论 -
ncnn笔记:01)windows+AndriodStudio在安卓机上快速构建一个深度学习分类模型
1.安装AndriodStudioAndriodStudio-3.5.2下载地址: http://www.android-studio.org若遇到 unable to access android sdk add-on list 点击cancel默认安装即可下载sdk,ndk等组件:File->Settings,sdk的路径默认路径为C:\Users\Javis\AppData\Local\Android\Sdk,勾选如下的组件:...原创 2020-09-23 21:23:12 · 2233 阅读 · 7 评论 -
人脸识别:01)快速搭建一个人脸门禁打卡系统,支持戴口罩识别
前言本系统基于SSD模型和dlib库,SSD模型用于人脸检测,dlib用户人脸识别人脸检测人脸检测:找到图片中人脸的位置,并用方框标出dlib已经提供了完整的人脸识别API,但dlib提供的2个人脸检测模型存在如下2个问题get_frontal_face_detectorget_frontal_face_detector基于机器学习,速度快但是准确度不高,有时离摄像头较远或戴口罩,会检测不到人脸detector = dlib.get_frontal_face_detector()cnn_f原创 2020-08-17 11:16:13 · 3659 阅读 · 19 评论 -
YOLOV4:从零开始安装&训练自己的数据集
CUDA安装具体可以参考博文Centos7离线安装nvidia驱动的两种方法,推荐使用方法2,编译时需要ncvv,因此最后添加下面环境变量到~/.bashrcCUDA_HOME=/usr/local/cudaexport PATH=$CUDA_HOME/bin:$PATHopencv安装原创 2020-05-20 16:40:43 · 7782 阅读 · 25 评论 -
pytorch笔记:14)从零开始玩转目标检测模型CenterNet
目录前言模型搭建数据集构建1.数据初始化2.生成高斯HeatMap损失函数关键点FocalLossRegressionLoss模型测试前言“真正的东西,是朴素的,也是优雅的”,这句话用来形容CentNet绝不为过。笔者参考论文和官方源码,去繁就简,模型搭建模型结构:resnet18+上采样+3个header输出在__init__()函数中添加了如下6行代码,self.layer5至sel...原创 2020-04-25 21:35:22 · 4217 阅读 · 5 评论 -
pytorch笔记:13)SSD源码中anchor和bbox配对
https://github.com/amdegroot/ssd.pytorch#layers\box_utils.pydef match(threshold, truths, priors, variances, labels, loc_t, conf_t, idx): """Match each prior box with the ground truth box of the ...原创 2020-04-23 11:06:11 · 988 阅读 · 0 评论 -
pytorch笔记:05)UNet网络简单实现
语义分割的相关介绍可参考该博客: https://blog.csdn.net/u012931582/article/details/70314859代码参考图1设计,黑色加粗的标注是笔者添加的,和代码中的变量对应 图1 Unet U-Net代码,实现比较简单,可以参考上面的图片import torch.nn as nnimport torchfrom torch im...原创 2018-05-08 08:38:28 · 35962 阅读 · 158 评论 -
mask_rcnn keras源码跟读1)模型搭建
基础知识:faster_rcnn相关内容,mask_rcnn相关内容 源码git:https://github.com/matterport/Mask_RCNN/tree/v2.11.模型搭建 主要在类MaskRCNN的build方法内1model.py_row1673,获取所有的anchors,config.IMAGE_SHAPE是参与训练的图片大小, compute_back...原创 2018-05-24 11:24:17 · 6582 阅读 · 16 评论 -
pytorch笔记:06)requires_grad和volatile
requires_grad Variable变量的requires_grad的属性默认为False,若一个节点requires_grad被设置为True,那么所有依赖它的节点的requires_grad都为True。x=Variable(torch.ones(1))w=Variable(torch.ones(1),requires_grad=True)y=x*wx.requires...原创 2018-06-12 16:27:47 · 14726 阅读 · 8 评论 -
mask_rcnn keras源码跟读3)配置文件
config.py文件,参数配置一个一个地看# NUMBER OF GPUs to use. For CPU training, use 1GPU_COUNT = 1# Number of images to train with on each GPU. A 12GB GPU can typically# handle 2 images of 1024x1024px.# Adju...原创 2018-06-05 19:25:26 · 3278 阅读 · 23 评论 -
mask_rcnn keras源码跟读2)数据部分
数据生成部分主要用了keras_model.fit_generator借口,具体函数在model.py的1626函数,其函数说明如下:def data_generator(dataset, config, shuffle=True, augment=False, augmentation=None, random_rois=0, batch_size=1,...原创 2018-05-30 17:02:10 · 5294 阅读 · 3 评论 -
pytorch笔记:07)LSTM详解及实现一个朴素LSTM
LSTM的介绍博文:https://colah.github.io/posts/2015-08-Understanding-LSTMs/ 官方AIP:https://pytorch.org/docs/stable/nn.html?#torch.nn.LSTM一个栗子,假如我们输入有3个句子,每个句子都由5个单词组成,而每个单词用10维的词向量表示,则seq_len=5, batch=3, i...原创 2018-06-22 14:44:06 · 5296 阅读 · 4 评论 -
pytorch笔记:08)使用LSTM写古诗词
测试环境: centos7 + python3.6 + pytorch0.4 +cuda9下面是用模型生成的藏头诗(深度学习)深宫昔时见,古貌多自有。度日不相容,年年生一目。学者若为霖,百姓贻忧厄。习坎与天聪,优游宁敢屡。训练数据 57580首诗歌,每首诗歌,书(pytorch入门与实践)的作者对其进行了预处理,每首诗歌长度125字符(不足补空格,超过则丢弃) 下面da...原创 2018-07-11 16:39:04 · 6405 阅读 · 10 评论 -
pytorch笔记:09)RNN和Transform中的Attention机制
原博客是哈佛大学NLP研究组,根据论文“Attention is All You Need” 使用pytorch实现,撰写得非常精彩,强烈推荐。下面是几个笔者阅读时困惑的地方,记录下来以防忘记。原文中给的一个简单的栗子,给定一个序列,模拟生成同一的序列。We can begin by trying out a simple copy-task. Given a random set of i...原创 2019-01-11 14:40:22 · 20422 阅读 · 7 评论 -
pytorch笔记:10) 源代码跟读 On the Automatic Generation of Medical Imaging Reports
论文地址:https://arxiv.org/pdf/1711.08195.pdfgithub地址:https://github.com/ZexinYan/Medical-Report-Generation模型框架图:模型简介给定一张CT图片,使用CNN对其进行多标签分类,模型最后一层输出(1维向量)作为Visual Features(VF),对分类结果取概率最大k个类别索引(topk)...原创 2019-08-13 16:03:20 · 1344 阅读 · 7 评论 -
pytorch笔记:11) 多标签多分类中损失函数选择及样本不均衡问题
来了一个kmer1.首先确认其prefix_array-> hash2inde即prefix转换为int类型,在通过map找到对应的array_index. prefix array index要保存在中2.已知prefix array index,如何在data_array中定位,首先需要一个数组,里面保存了prefix array index对应数组的大小,比如第0个index对应后...原创 2019-09-23 20:06:16 · 14324 阅读 · 2 评论 -
pytorch笔记:04)resnet网络&解决输入图像大小问题
因为torchvision对resnet18-resnet152进行了封装实现,因而想跟踪下源码(^▽^)首先看张核心的resnet层次结构图(图1),它诠释了resnet18-152是如何搭建的,其中resnet18和resnet34结构类似,而resnet50-resnet152结构类似。下面先看resnet18的源码 图1resnet18 首先是models.resnet18...原创 2018-03-20 08:10:07 · 75873 阅读 · 59 评论 -
pytorch笔记:03)softmax和log_softmax,以及CrossEntropyLoss
softmax在神经网络里面比较常见,简而言之,就是多分类的概率输出 sotfmax(xi)=exp(xi)∑jexp(xj)sotfmax(xi)=exp(xi)∑jexp(xj)sotfmax(x_i)=\frac{\exp(x_i)}{\sum_j \exp(x_j)} 但是在pytorch里面发现额外有个log_softmax(对softmax取了一个In的对数),为啥这样做呢? ...原创 2018-03-19 10:03:18 · 19672 阅读 · 6 评论 -
keras:5)fit_generator
1.fit_generator fit_generator函数参数描述可以参看官方文档,这里说下比较常用的几个参数: generator: A generator or an instance of Sequence (keras.utils.Sequence) object in order to avoid duplicate data when using multiprocessing.原创 2018-03-11 13:38:03 · 6510 阅读 · 2 评论 -
神经网络:1)从zero开始的梯度下降法
首先简单地介绍梯度下降法是用来干嘛的? 比如给定下面的函数,要我们求它的最小值原创 2017-05-21 12:08:32 · 632 阅读 · 0 评论 -
神经网络:3)不一样的角度 反向传播算法
本文只对反向传播算法进行简单的解释,具体的推导可以参考《神经网络与深度学习》,在进入反向传播算法学习之前,先了解下多层感知器,比如下图在上一博文中,我们介绍了简单的感知器,它只包含输入层和输出层(单神经元构成),而上图在输入层和输出层的基础上追加了1到n个隐藏层(隐藏层,暂时可以把它认为功能强大的黑盒),而且每层的神经元都不止一个,这样的网络称为多层感知器。到前为至,我们讨论的神经网络,都是以...原创 2017-05-23 10:22:50 · 829 阅读 · 0 评论 -
tensorflow:1)简单的神经网络
菜鸟的感慨:如今很少碰到像tensorflow这样有心体贴的官方文档,基础的知识文档解释非常清晰,这里只总结笔在学习时的一些疑惑、先把这节的完整代码贴下:# encoding:utf-8import tensorflow as tf#加载mnist数据from tensorflow.examples.tutorials.mnist import input_datamnist =原创 2017-05-27 21:35:31 · 869 阅读 · 0 评论 -
tensorflow:2)卷积神经网络基础
其实非常想总结下CS231n的课程,尤其是lecture7,对卷积神经网络剖析得入木三分,但是发现有道友已对该系列的课程进行了详细的分析,想写的东西都已经被他写完了O(∩_∩)O~~另附上教程中卷积网络的动画,非常形象:http://cs231n.github.io/convolutional-networks/#overview课程PPT和视频链接: https://pan.baidu.com/...转载 2017-06-01 08:31:26 · 815 阅读 · 0 评论 -
TensorflowOnSpark:1)Standalone集群初体验
1.实验环境Centos7+Python2.7+Java8+Spark1.6+Hadoop2.7+Tensorflow0.12.1Centos7+Python2.7+Java8+Spark1.6+Hadoop2.7+Tensorflow0.12.1 Spark和Hadoop的集群搭建网上的教程比较多,这里不做详细介绍,几个核心的配置供大家参考(其实地上本没有坑,跌的人多了,也便成了坑) 1原创 2017-06-05 19:28:46 · 7473 阅读 · 7 评论 -
tensorflow:3)实现简单的卷积网络
tensorflow:3)实现简单的卷积网络原创 2017-06-01 21:11:13 · 1146 阅读 · 0 评论 -
tensorflow:3.1)add_to_collection和L2正则化
1.add_to_collection add_to_collectio为Graph的一个方法,可以简单地认为Graph下维护了一个字典,key为name,value为list,而add_to_collection就算把变量添加到对应key下的list中add_to_collection(name,value)Stores value in the collection with th原创 2017-06-03 15:38:56 · 10703 阅读 · 2 评论 -
tensorflow:4)实现'进击'的卷积网络-CIFAR数据集
1.CIFAR-10数据集介绍 本节使用的是比较经典的数据集叫CIFAR-10,包含60000张32*32的彩色图像(总算不像MNIST,是灰度图了,灰度图是单通道),因为是彩色图像,所以这个数据集是三通道的,分别是R,G,B三个通道。CIFAR-10,一共有10类图片,每一类图片有6000张,有飞机,鸟,猫,狗等,而且其中没有任何重叠的情况(现实社会中肯定不止那么多类啦)。现在还有一个兄弟版原创 2017-06-04 09:13:52 · 2006 阅读 · 2 评论 -
keras:1)初体验-MLP神经网络实现MNIST手写识别
Keras是基于Theano和TensorFlow的深度学习库,具体介绍请参考 官方网:https://keras.io/ 中文文档:http://keras-cn.readthedocs.io/en/latest/先贴出官方在Git的源码例子minist_mlp,可以和之前对应的tensorflow博文tensorflow:1)简单的神经网络对比学习'''Trains a simple dee原创 2017-07-12 15:08:49 · 1705 阅读 · 0 评论 -
keras2可视化遇到pydot&graphviz无法导入问题
环境:win10+python3+keras2 使用keras的打印模型结构图keras.utils.plot_model(model, to_file='model.png')会遇到如下错误RuntimeError: Failed to import pydot. You must install pydot and graphviz for pydotprint to work使用pip安装原创 2017-07-25 10:22:54 · 964 阅读 · 2 评论 -
keras:2)函数式(Functional)模型
相对序贯模型,函数式模型显得更灵活(序贯是函数式的特例),这里对函数式模型进行简单地介绍,具体可以参考官方网店。 官方的栗子:from keras.layers import Input, Densefrom keras.models import Model# This returns a tensorinputs = Input(shape=(784,))# a layer instanc原创 2017-08-24 17:09:55 · 4072 阅读 · 0 评论 -
tensorflow:常用API-'a'
1.加法操作 tf.accumulate_n、tf.add_n、tf.addimport tensorflow as tfa = tf.constant([[1, 2], [3, 4]])b = tf.constant([[5, 0], [0, 6]])c = tf.constant([2, 3])sess = tf.InteractiveSession()print(tf.原创 2017-08-22 11:31:23 · 613 阅读 · 0 评论 -
keras:4)LSTM函数详解
LSTM层keras.layers.recurrent.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initial...原创 2017-08-28 11:53:18 · 106297 阅读 · 27 评论 -
keras:3)Embedding层详解
详解Keras的Embedding层原创 2017-08-26 08:54:04 · 110408 阅读 · 26 评论 -
pytorch笔记01)初体验
import torchfrom torch.autograd import Variableimport torch.nn.functional as funcimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)y = x.pow(2) + .3 * torch.ra原创 2018-03-16 10:21:20 · 577 阅读 · 0 评论 -
pytorch笔记02)模型的保存和加载
保存和加载整个模型torch.save(model_object, 'model.pkl')model = torch.load('model.pkl')仅保存和加载模型参数(推荐使用,需要提前手动构建模型)torch.save(model_object.state_dict(), 'params.pkl')model_object.load_state_dict(torch.lo原创 2018-03-16 16:51:09 · 8620 阅读 · 11 评论 -
神经网络:2)Hi,死宅的感知器
以下较多内容都摘抄自书《神经网络与深度学习》原创 2017-05-22 09:53:36 · 563 阅读 · 0 评论