自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 L P

Paper aspectFirstly,I must finish a papersecond,I should publish important paperProject aspectFirstly,I must finish a projectsecond,I should finish a projectWithin 2 year,I should finish ser...

2020-03-13 17:51:55 366

原创 Tensorflow2自定义回调

在进行数据拟合的时候,需要输出信息。自定义回调函数可以输出你想要的消息。先创建网络结构from __future__ import absolute_import, division, print_function, unicode_literalsimport tensorflow as tf# Define the Keras model to add callbacks tod...

2020-03-02 13:20:29 593

原创 tensorflow2实现多个输出

首先需要创建输出列表model = Model(inpt, [out1, out2, out3])然后标签也需要多个model.fit(image, [tar1, tar2, tar3], batch_size=1)详细代码import tensorflow as tffrom tensorflow.keras.layers import Conv2D, GlobalAverage...

2020-02-29 17:43:05 1372 1

原创 DenseNet学习与tensorflow2实现

《Densely Connected Convolutional Networks》提出了DenseNet,它用前馈的方式连接每一层与所有其他层,网络的核心结构为如下所示的Dense块,在每一个Dense块中,存在多个Dense层,即下图所示的H1~H4。各Dense层之间彼此均相互连接。不一定需要在Dense块中对每一个Dense层均直接进行相互连接,来缩小网络的结构;也可能可以在不相邻的D...

2020-02-28 18:16:11 1871 1

原创 AlphaGo Zero算法讲解

   本篇博客讲解AlphaGo Zero算法。它对比于AlphaGo的改进在于它并不是学习人类棋谱。学习人类棋谱有一定的局限,第一就是人类下棋有局限,创新比较少;第二就是人类的棋谱少。AlphaGo Zero算法通过自我对弈完成棋力提高,可以克服以上两点。在学习AlphaGo Zero之前需要先学习MCTS搜索。MCTS搜索首先看下公式:score =  wi...

2020-02-27 13:35:09 2082 1

原创 Is The World Real?

The ant havn’t eyes and ears,so what is the world of ant like?according to the scientist,ants feel the world around them by touch and smell.so it doesn’t like us by eyes,ears,touch and smell etc.The w...

2020-02-22 17:01:09 150

原创 数据集创建tf.data(tensorflow2)

tf.data API允许使用简单,可复用的代码创建一个数据输入流。比如它可以从图像分布式文件系统中创建数据输入,在此过程中可以为每张图像添加随机噪声,随机抽取图像当作本次batch进行训练。tf.data API引入了tf.data.Dataset对象,它包含了一系列的元素(element),每一个元素有多个或一个components有两种方法创建数据集dataset:1.从内存或文件中的...

2020-02-22 12:06:19 668

原创 Tensorflow分布式训练

   该篇博客主要写tensorflow2的分布式训练方法。   tf.distribute.Strategy是一种可以GPU,TPU或者机器(电脑)并行运算的分布式训练方法。使用这个API只需少量代码就可以使用分布式训练。你也可以利用keras API使用tf.distribute.Strategy。# Import TensorFlowfrom __future__ import abs...

2020-02-21 14:42:44 450 1

原创 使用opencv实现目标跟踪

本篇博客使用opencv的4.2.0:pip install opencv-pythonpip install --user -i https://pypi.mirrors.ustc.edu.cn/simple/ opencv-contrib-python文件:objection_tracking.py# -*- coding: utf-8 -*-"""# -*- coding: u...

2020-02-06 16:52:58 532

原创 SSD讲解以及代码解读(二)

   在上一章节中,我们得到了一个end_points,里面包含多个层,现在我们需要针对每一个层,得到框。这里需要提出一个概念,锚。也就是需要对每一个像素生成多个框。假如layer_1层,大小为36*36*3,每一个像素生成6个框,那么就有layer_1就有36*36*6个框。同时每个像素的6个框是不一样的。如何得到这6个框。  首先我们必须对每一个layer得到相应的6个默认框。计算公式如下...

2020-01-31 15:27:14 618

原创 SSD讲解以及代码解读(一)

   本节首先讲解ssd网络特征提取部分(使用的是tensorflow2)。   以下为ssd总体的框架图。前面为vgg-16网络(或者其它网络),然后之后需要提取一些特征层,转换为分类和回归,详见代码。   为了便于理解,再看以下图:注意以上的网络结构(特征提取部分)和代码可能稍稍不一样。接下来上代码(特征提取部分):from __future__ import absolute_i...

2020-01-31 10:43:27 1760 1

原创 MobileNet结构简单讲解及其实现

   已经使用tensorflow2实现了MobileNet系列的网络结构,在此做个记录。MobileNet v1   本节首先描述MobileNet的核心部分也就是深度可分离卷积。它其实就是将原来的卷积层分成了两部分,分解成深度卷积以及一个1x1的卷积即逐点卷积。也就是Depthwise+Pointwise两部分(注意Depthwise,不求不同channel的和)。以下是两部分图像: ...

2020-01-17 13:55:55 1672 1

原创 ResUnet实现(tensorflow2)

  我们将在本篇博客实现Resunet。  首先上Unet图然后结合Unet和Resnet,就是一个新的网络。def bn_act(x, act=True): 'batch normalization layer with an optinal activation layer' x = tf.keras.layers.BatchNormalization()(x) ...

2020-01-10 10:43:31 16042 16

原创 UNet的tensorflow2实现

  本篇博客主要使用tensorflow2实现UNet。

2020-01-08 18:03:00 3325 1

原创 tf.data.Dataset关于batch,repeat,shuffle的讲解

本篇博客主要讲解tf.data.Dataset的batch,repeat,shuffle函数,最后着重讲它们之间的顺序使用问题。tf.data.Dataset官方文档batch函数讲解以下先创建一个Dataset类型import tensorflow as tft = tf.range(10.)[:, None]t = tf.data.Dataset.from_tensor_slice...

2020-01-05 15:26:55 5500 3

原创 Severstal: Steel Defect Detection竞赛

  该篇博客主要分析别人的代码做个记录,为之后的自己的代码做个借鉴,使用tensorflow2,我想说比原来简单多了。https://www.kaggle.com/ekhtiar/resunet-a-baseline-on-tensorflow竞赛介绍  这个竞赛主要目的是定位和分类钢板表面缺陷,属于语义分割问题。  扁钢的生产工艺特别精细。从加热和轧制,到干燥和切割,几台机器在扁钢准备装...

2020-01-04 15:16:44 3257 1

原创 卷积操作正向反向传播

  本篇博客,主要讲解卷积神经网络中,卷积操作正向和反向传播过程,不会有特别难的公式,特别是反向传播中,推导比较麻烦。正向传播如下图:图中image矩阵也就是绿色的部分(当然包括黄色的部分)就是输入的数据,也就是神经网络上游传过来的数据。黄色的部分为卷积核(卷积核的内容是黄色部分×\times×后面的数字就是它的内容)...

2019-12-31 09:41:51 817

原创 BP(全连接网络)正向反向传播理论推导

  接触过神经网络的朋友,都会知道正向反向传播理论。本篇博客旨在对其中的理论进行详细的解释。推荐这本书超级好懂https://www.ituring.com.cn/book/1921画图理解矩形代表的是数据节点,圆形代表操作节点我们先看下乘法的正向反向传播过程:w*xz上述代表公式:w∗x=zw*x=zw∗x=z,这就是一个简单的传播过程。当我们对www进行∂z∂w=x\frac{...

2019-12-30 16:43:05 924

原创 附件:faster rcnn函数调用情况图

_build_network_image_to_head_anchor_component_region_proposal_crop_pool_layer_head_to_tail_region_classificationgenerate_anchors_pre_tf_reshape_layer_softmax_layer_proposal_layer_anchor_target_layer_p...

2019-12-28 17:09:38 205

原创 _proposal_target_layer代码讲解

本篇博客主要讲解_proposal_target_layer_proposal_target_layer作用:该函数的主要作用是用来打标签(之后最终的分类回归任务)。首先我们看一下输入:roi:表示感兴趣区域,shape=(160409,5)roi_scores:表示感兴趣区域的分数,shape=(160409,1) def _proposal_target_layer(self, ...

2019-12-28 12:47:03 528

原创 _anchor_target_layer代码详解

  本篇博客将对_anchor_target_layer进行讲解_anchor_target_layer:其实也是一个中间函数注意代码注释 def _anchor_target_layer(self, rpn_cls_score, name): with tf.variable_scope(name) as scope: rpn_labels, rpn_bbox_tar...

2019-12-27 18:58:47 539

原创 proposal_layer讲解

  对上篇博客的**_proposal_layer**进行讲解  首先,上代码!O(∩_∩)O注意注释!_proposal_layer好吧其实它又调用了其它函数,这个函数是一个中间函数(加了一个判断),那我们只看if语句里面。有一个proposal_layer_tf#好吧其实它又调用了,这个函数一个中间函数(加了一个判断),那我们只看if语句里面。有一个proposal_layer_tf...

2019-12-27 15:47:35 875

原创 RPN网络讲解

讲完了anchor机制,接下来我们讲RPN(region proposal network)区域候选网络。_build_network:https://github.com/endernewton/tf-faster-rcnn/blob/master/lib/nets/network.py原理解释Feature Map进入RPN后,先经过一次33的卷积,同样,特征图大小依然是6040,数量...

2019-12-27 11:06:01 1520

原创 faster rcnn结构及代码讲解

本篇博客主要讲解faster rcnn的基本结构及相关代码讲解。总体结构介绍  从上图中我们可以看出,faster rcnn一共有三个部分,我们大致先说下:  1.第一个部分为特征提取部分,经过卷积层得到特征图,也就是feature map  2.第二个部分为RPN(region proposal network)区域候选网络,这是对fast rcnn重点改进的一部分,它的主要作用是得到...

2019-12-26 19:14:51 1798

原创 anchor机制讲解

在faster-rcnn中,有anchor这一知识点,我们在这篇博客中将主要讲解它。理论知识前面提到经过Conv layers后,图片大小变成了原来的1/16,令feat_stride=16,假设最后输出特征图尺寸为60X40,那么可以理解为60X40个点,每一个点都可以作为一个窗口(Anchors)中心点,同时每一个窗口又有不同的尺寸(一般有9种尺寸),最终生成的窗口有60409个。在生成A...

2019-12-22 19:34:19 5429

原创 深度确定性策略梯度(DDPG)

在上一篇,我们使用了多线程解决问题,今天我们该讨论深度确定性策略梯度(DDPG)Pytorch实现代码,参考Tensorflow代码import torchimport numpy as npimport gymfrom torch import nnfrom torch.nn import functional as Fimport time###################...

2019-12-19 18:09:34 1497

原创 A3C

今天我们开始讲下A3C。解决问题收敛速度慢是之前Actor-Critic算法的问题。对此提出三点改进:1.还记得之前的参数更新公式:θ=θ+α∇θlogπθ(St,A)δ\theta = \theta + \alpha \nabla_{\theta}log \pi_{\theta}(S_t,A)\deltaθ=θ+α∇θ​logπθ​(St​,A)δA3C使用了另外的优势函数形式:A...

2019-12-18 15:00:05 1138

原创 Actor-Critic多种变体

在之前,我们学习了基于策略(Policy Based)的强化学习方法,我们使用的是蒙特卡罗策略梯度reinforce算法。问题:1.但是由于该算法需要完整的状态序列,同时单独对策略函数进行迭代更新,2.不容易收敛改进在上篇文章中(基于策略的强化学习方法),我们做了如下的改进,也就是使用了神经网络进行了如下的近似。第一个就是策略的近似:πθ(s,a)=P(a∣s,θ)≈π(a∣s)\p...

2019-12-18 10:53:57 222

原创 策略梯度(Policy Gradient)

本章我们主要讲解Policy Based解决问题:之前的强化学习算法是Value Based的方法,主要就是根据Q值和V值,进行选择。但是它有以下几个缺点。第一点是对连续动作的处理能力不足。第二点是对受限状态下的问题处理能力不足。导致真实环境下本来不同的两个状态却再我们建模后拥有相同的特征描述。第三点是无法解决随机策略问题。Value Based强化学习方法对应的最优策略通常是确定性策略...

2019-12-17 17:58:01 360

原创 DQN变体:Dueling DQN

本篇文章主要讲解Dueling DQN的结构。解决问题对比之前的DQN,Dueling DQN主要对结构进行了优化。Dueling DQN考虑将QQQ网络分成两部分,第一部分是仅仅与状态S有关,与具体要采用的动作AAA无关,这部分我们叫做价值函数部分,记做V(S,w,α)V(S,w,α)V(S,w,α),第二部分同时与状态状态SSS和动作AAA有关,这部分叫做优势函数(Advantage Fu...

2019-12-17 12:13:04 875

原创 DQN变体:Prioritized Replay DQN

这篇文章主要讲解Prioritized Replay DQN主要解决问题之前的DQN算法系列有个问题,每一次从经验回放集合里面抽取数据,每一个数据都是有相同的概率被抽取。这是有问题的,这也是导致收敛速度变慢的原因之一,我们应该着重关注TD误差绝对值比较大的数据,而不是那些效果已经比较好的数据。算法基础讲解还记得之前的损失函数是:1m∑j=1m(yj−Q(ϕ(Sj),Aj,w))2\fra...

2019-12-17 10:06:35 1204 5

原创 DQN变体:DDQN

这篇文章,主要讨论DDQN。DQN的变体,它主要对yjy_jyj​的计算进行了解耦。目标Q值的计算在以前的DQN中yjy_jyj​的计算公式如下:yj=Rj+γmaxa′Q′(ϕ(Sj′),Aj′,w′)y_j = R_j+γmax_{a^′}Q^′(ϕ(S^′_j),A^′_j,w^′)yj​=Rj​+γmaxa′​Q′(ϕ(Sj′​),Aj′​,w′)其中Aj′A^′_jAj′​是通过...

2019-12-16 16:37:05 774

原创 DQN变体:Nature DQN

这篇文章主要讨论DQN的变体,Nature DQN。解决问题它主要解决了DQN算法的一个问题,也就是相关依赖问题,收敛速度比较慢。 还记得计算当前目标QQQ值yjy_jyj​的公式是:yj={Rj  is_endj is trueRj+γmaxa′Q(ϕ(Sj′),Aj′,w)  is_endj is false...

2019-12-16 13:57:14 461

原创 对Q-Learning算法的改进:Deep Q-Learning(DQN)

本篇主要讲述Q-Learning的改进算法,Deep Q-Learning,首先了解一下Q-Learning算法咯Q-Learning算法众所周知,Q-Learning是解决强化学习问题的算法。解决强化学习问题用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习主要有三个因素:状态,行动和奖励。简单来说主要解决在一个环境下,智能体采取...

2019-12-05 15:30:24 4476

原创 Pytorch之Variable,Tensor

最近发现使用pytorch的人越来越多,特别是github上,所以学了以下,发现非常的简便。其中也遇到了一些问题,所以就对我自己感兴趣的问题和知识做一个记录。本篇主要讲解Pytorch中Tensor和Variable的用法。Tensor的用法torch中的tensor跟numpy的array很像,但是tensor可以在GPU中加速运算,同时两者具有良好的兼容性。import torchx...

2019-12-04 15:24:12 222

原创 目标检测实战(二)--调取摄像头进行物体检测

上一节,我们完成了对鼠标图像的检测,这一节我们使用opencv调用电脑摄像头检测鼠标参考代码博客:https://blog.csdn.net/Ch97CKd/article/details/82700777文件名:object_detection_converted.pyimport numpy as npimport osimport six.moves.urllib as urll...

2019-11-29 15:53:38 3646 1

原创 目标检测实战(一)--使用TensorFlow Object Detection API检测自己的图像数据集

使用TensorFlow Object Detection API检测自己的数据集下载并使用labelimg网上有很多关于labelimg的下载方法labelimg下载链接打开labelimg效果如下左边的工具栏说明:1.open是打开单张图片2.open dir是打开一个包含图像的文件夹3.change save dir是选定你图片标注好之后,标注文件保存的位置4.next ...

2019-11-28 15:34:07 543

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除