keras
zh_JNU
“I knew that if I failed I wouldn’t regret that, but I knew the one thing I might regret is not trying.”- Jeff Bezos
联系方式zhsklearn@163.com
展开
-
卷积网络感受野计算
import copy####top_to_bottom calculatedef cal_receptive_filed(kernel_stride): fix_kernel_stride = copy.deepcopy(kernel_stride) layer_receptive_field = [] for j in range(0,-len(fix_kerne...原创 2019-11-23 14:39:58 · 318 阅读 · 0 评论 -
focal loss个人理解
对于目标定位和分割来讲,严重存在正负样本不匹配现象,导致网络趋向于负样本。如何更好的学习正样本,常见的方法是交叉熵前面加上一定的beta系数。方法一:拿分割任务简单介绍下:设图片大小为256*256,分割目标大小为30*30。则beta_p = 256*256/(30*30) =72.8beta_n = 256*256/(256*256-900) =1.01 拿这两个权重对二...原创 2019-07-25 19:15:08 · 1718 阅读 · 0 评论 -
Keras自定义层(常用代码)
from keras.models import Modelfrom keras.layers import Input,Conv2D,Reshape,GlobalAvgPool2Dfrom keras.layers import Lambdaimport tensorflow as tfimport kerasfrom keras import backendfrom keras...原创 2019-07-19 16:45:17 · 1096 阅读 · 0 评论 -
Retinanet网络解析
最近在做小目标识别的项目,对于数据不平衡的常见解决方案一个就是设置正负样本的比例来进行损失计算.还有一个就是focal_loss损失.请参考何凯文大佬的论文<focal loss for dense object detection>.说道focal_loss就去看看了开源的Retinanet网络,请参考https://github.com/fizyr/keras-re...原创 2019-07-10 19:52:07 · 3168 阅读 · 1 评论 -
Mask-rcnn算法流程图
昨天看下Mask-rcnn的keras代码,Github上start最多的那个。由于代码量比较多,所以需要梳理下整个流程。今天用visio简单绘制下整个数据流程图,方便理解整个算法。里面的知识点还是比较多的,所以搞清楚一个算法的细节,需要我们认真阅读下源码,并思考为什么这样做。只要能够掌握好细节,我们才可以对算法部分进行改进。 注:黑色是第一阶段,也就是RPN阶段。红色是第二阶...原创 2018-12-25 11:57:29 · 5133 阅读 · 1 评论 -
YoloV3网络见解与模型搭建
这几天看了下yolo的第三个改进版本,代码的链接https://github.com/qqwweee/keras-yolo3。并没有从头阅读所有代码,只是看了自己感觉的关键点。yolo3想比较于yolo2的改进在于,使用不同的特征尺度来预测物体,这点和SSD多尺度是类似的。输入尺寸还是416×416,使用3个输出分别为52×52,26×26,13×13。这三个输出分别采用不同的anchor...原创 2018-12-10 18:13:47 · 6734 阅读 · 1 评论 -
使用卷积层替代全连接层(VGG16网络,keras)
前段时间校招面试的问题有一个就是如何使用卷积层来替代全连接层。以前没有认真考虑过,所以第一时间的想法是1×1的卷积核去实现。后来仔细想一想,1×1卷积核并不能实现这样的功能,涉及到参数共享。昨天,看到PixelLink文字定位网络,该网络使用了VGG网络的全连接层。所以就想着今天使用keras实现下VGG16网络卷积层替换全连接层。参数还是依然使用预训练参数,最后保存参数。查看对比.h5文...原创 2018-12-16 16:50:59 · 13081 阅读 · 0 评论 -
TimeDistributed的理解和用法(keras)
之前一直在看one-stage目标定位的算法,主要是速度快。今天无聊就看下mask-rcnn的源码,了解下主要结构和训练过程。看网络图中发现了使用TimeDistributed层,平常自己没有用过这样的层,所以看官方文档和其他人的博客,发现有的博客理解的并不太正确,所以还是简单介绍下吧。只是个人理解,如有问题欢迎指出。 TimeDistributed顾名思义就是使用时间序列来进行...原创 2018-12-21 13:27:35 · 26480 阅读 · 16 评论 -
YoloV2网络损失函数代码粗解
这篇接上面文章来简单注释下YoloV2损失函数的定义,这部分比较主要。有了定义网络的输入输出和损失函数,我们就可以自己构建自己的网络或迁移其他网络来实现自己想要的识别定位的物体了。该函数来自于frontend.py的部分核心代码。def custom_loss(self, y_true, y_pred):########传递的参数就是真实值和预测输出值 #...原创 2018-12-03 16:07:12 · 1405 阅读 · 5 评论 -
YoloV2网络标签代码粗解
https://github.com/experiencor/keras-yolo2 代码地址 近几年,对于目标定位来讲,使用one-stage策略的主流算法有SSD,Yolo V1 ,Yolo V2,Yolo V3。一年前剖析SSD源码,并使用于自己的训练样本中,效果还OK。闲来无事,分析下 Yolo V2,Yolo V3的关键代码,并进行记录。 从研一接触深...原创 2018-12-03 15:15:00 · 799 阅读 · 0 评论 -
使用CNN神经网络进行图片识别分类(keras)
https://blog.csdn.net/zh_JNU/article/details/54342856在上面的链接下载数据和查看数据说明。#coding:utf-8import osos.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152os.environ["CUDA_VISIBLE_DEVICES"] =...原创 2018-07-12 16:37:56 · 9931 阅读 · 28 评论 -
keras禁止使用GPU加速
import osos.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152os.environ["CUDA_VISIBLE_DEVICES"] = ""原创 2018-07-09 09:37:32 · 4694 阅读 · 0 评论 -
keras常用损失函数
均方误差损失y_pred.shape=[num,]num为输出个数,第一维度其实是batch_size,进行忽略。def mse(y_true,y_pred): return K.mean(K.square(y_pred-y_true),axis=-1)绝对值误差损失def mae(y_true,y_pred): return K.mean(K.abs(y_pred...原创 2018-06-26 14:53:40 · 5362 阅读 · 0 评论 -
Cifar10数据以及加载
import numpy as npimport osimport sysimport keras.backend as Kfrom six.moves import cPickleimport cv2def load_batch(fpath, label_key='labels'): f = open(fpath, 'rb') if sys.version_info ...原创 2018-05-25 09:01:50 · 1969 阅读 · 0 评论 -
Keras之SqueezeNet
keras实现SqueezeNet 网络,具体网络结构参照https://blog.csdn.net/xbinworld/article/details/50897870博客之前也这样压缩过自己的网络,识别效果还不错。现在根据模板简单构建下网络。虽然说参数能够减少很多,其实卷积层数增加了,就是利用时间来换取空间,看个人如何取舍了吧。#coding:utf-8import osos.environ[...原创 2018-03-27 20:18:40 · 3601 阅读 · 1 评论 -
VGG-16获取并设置参数
实现获取VGG-16网络参数,并广播参数构建一个新的网络传入参数。from keras import layersfrom keras.layers import Conv2D, MaxPooling2D,ZeroPadding2D,GlobalAvgPool2Dfrom keras.models import Sequentialimport numpydef vgg(img_w,img_h,...原创 2018-03-26 20:02:11 · 3888 阅读 · 0 评论 -
使用CNN神经网络进行图片识别分类
接触深度学习3个月以来,从当初的小白零基础学习,过程十分艰苦,看了几章大牛 YoshuaBengio 写的deep learning一书,粗略了解了基本常用的神经网络以及梯度更新策略,参数优化,也了解以及简单的使用常用的深度学习开发框架caffe,tensorflow,theano,sklearn机器学习库,目前keras比较火,所以使用keras来简单的进行图片识别分类。原创 2017-01-11 14:07:16 · 51248 阅读 · 65 评论 -
keras实现扩充图片集
当我们使用神经网络进行对一些图片进行分类的时候,由于自己的样本数太小,导致训练,分类的结果不太满意,因此本次使用keras自带的生成器产生所需要的图片进行保存,然后可以使用这些图片进行训练,提高神经网络的预测分辨率#coding:utf8import osimport cv2.cv as cvimport cv2import refrom keras.preprocessi原创 2017-01-18 16:14:48 · 3645 阅读 · 1 评论 -
keras实现简单的函数拟合逼近
一个简单的demo,自己随机生成的数据和确定的sin(x)方程加上噪声进行拟合逼近。import numpy as npimport randomfrom sklearn.preprocessing import MinMaxScalerimport matplotlib.pyplot as pltfrom keras.models import Sequentialf原创 2017-01-18 16:09:51 · 4694 阅读 · 0 评论