
深度学习
蒋程扬
古月居签约作者,古月学院《如何开发一个ROS人机交互软件》原创作者。联系方式:chengyangkj@qq.com
展开
-
获取voc数据集标签所有的类别数
获取的voc数据集不知道label标注文件共有多少个类别,写了个小脚本,可以获取所有类别数:把annotation_path 换成标签(xml)文件存放的文件夹:import xml.dom.minidom as xmldomimport os#voc数据集获取所有标签的所有类别数"annotation_path="F:\workspace\database\chonqing_trin...原创 2020-02-05 15:43:38 · 5767 阅读 · 8 评论 -
tensorflow SSD训练自己的数据集
本篇文章是我在自己学习的过程中写的,当作一个笔记,写的比较详细在github上下载SSD的tensorflow版本:https://github.com/balancap/SSD-Tensorflow下载后先解压缩checkpoint:unzip ssd_300_vgg.ckpt.zip用jupyter-notebook 跑一下训练好的模型:jupyter notebook note...原创 2020-01-10 18:32:29 · 1293 阅读 · 0 评论 -
coco数据集的voc数据集的相互转化
在训练自己的数据集时,难免要将数据集制作成标准数据集,现在主要流行的有两种coco和voc一,coco数据集以COCO2014为例:下载完COCO2014后进行解压后,目录如下:coco2014-images--train2014--val2014--test2014-annotations其中,images中的文件夹各自放置了训练、验证和测试的数据集图片。annotatio...原创 2020-01-09 12:19:29 · 2630 阅读 · 3 评论 -
tensorflow yolov3训练自己的数据集,详细教程
在github上下载yolov3的tensorflow版本:https://github.com/YunYang1994/tensorflow-yolov3其实在作者的readme上已经写了训练的方法,但是不是那么详细,于是记录下一,制作训练集1,打标签训练集需要实验labelimg工具进行制作,这里的数据集格式采用的是voc格式:labelimg下载地址实验labelimg打好标签...原创 2019-12-23 12:08:01 · 16344 阅读 · 60 评论 -
tensorflow yolov3只检测行人
官方给的模型可以检测80多个类别,这里我们只检测行人,就需要将代码进行稍微修改即可:项目路径图:查看./data/classes/coco.names 类别的索引:这里person为第1个,即索引为0更改:./core/utils.pydraw_bbox函数(将roi_index设置为你想要的索引即可,我这里为0):def draw_bbox(image, bboxes, cl...原创 2019-11-25 15:02:15 · 2699 阅读 · 44 评论 -
tensorflow踩坑-训练正确率上不去,一直是0.2,上升的慢
在进行验证码识别的时候,我的验证码大小为80*30,但是在预处理的时候:我进行Reshape: image_resize = tf.image.resize_images(img, [80, 30])但是 这样reshape是不行的,shape填的是[高,宽],应该是: image_resize = tf.image.resize_images(img, [30, 80])...原创 2019-07-28 11:51:13 · 5104 阅读 · 0 评论 -
tensorflow将label数据转换为onhot编码(tf.one_hot的使用)
我们在进行验证码识别的时候,对于一组验证码的标签数据:[nzpp,fjzq....]对于每个字符转换为对应的数字(0-25):[[13,25,15,15],[19,23,20,16]]在全连接层进行softmax损失计算时需要根据标签的one_hot编码进,这时候我们就去需要转换tf.one_hot(ary,depth,axis,on_value)ary为要转换的数组dep...原创 2019-07-17 17:50:12 · 1853 阅读 · 0 评论 -
tensorflow实现验证码识别(方法二,拆分方式)
验证码识别(拆分方法)这里就没有将数据集合成为tfrecorder格式,而是直接通过队列编解码图片和标签数据对于自己制作的数据集一定要注意读入的数据的图片和标签是否对应将一张图片四个验证码进行拆分,制作训练集,建立的为简单神经网络一,训练train.py相关说明在注释 import tensorflow as tf import os from PIL impo...原创 2019-07-29 14:25:36 · 610 阅读 · 0 评论 -
tensorflow实现验证码识别(方法一,整张图片进行识别)
tensorflow验证码识别一,主要思路1,数据预处理将训练集数据处理为tfrecorder模式2,在训练程序中,通过管道数据读取tfrecorder文件,获取训练值和标签值3,通过构建简单神经网络,损失值和优化方法进行训练二,数据预处理如果不进行数据预处理,会造成训练时频繁的IO操作,造成训练效果低下,因此我们先将数据处理为tfrecorder格式,然后在训练时开启线程,通过管道...原创 2019-07-29 14:20:00 · 1535 阅读 · 0 评论 -
tensorflow009-卷积神经网络训练Mnist手写数字识别
一,为什么要卷积对图片进行卷积,卷积之后再进行全连接层处理,卷积相当于数据预处理,获取图片的关键特征,之后再进行训练识别重要公式:问题:输入的特征图片为 =[H1,W1,D]=[28,28,1],卷积层:k = 100个filter, F = 步长1, p = padding(0填充)=1求一次卷积后输出的图片大小:公式 H2 = (H1 - F+2 p)/s +1 ; W2 = (W1...原创 2019-04-22 14:15:06 · 268 阅读 · 0 评论 -
tensorflow008-简单神经网络训练Mnist手写数字识别及可视化学习
一.定义数据占位符调用mnist的数据集from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tf1. 获取真实的数据 label采用on_hot编码模式:mnist = input_data.read_data_sets("./data/mnist/input_data/", on...原创 2019-04-22 13:27:50 · 488 阅读 · 0 评论 -
tesorflow007-线性回归
一,线性回归的模型:y = w*x +b二,训练原理训练其实就是传入x 的值 和 对应的y值,通过训练w和b的值,使通过线性函数计算的y_值趋近y三,训练步骤1,定义参数定义x特征值 占位符类型 x的值在运行的过程中进行动态传入x = tf.placeholder(tf.float32)#定义w 变量类型 一维W = tf.Variable(tf.zeros([1]))...原创 2019-04-22 12:57:56 · 204 阅读 · 0 评论 -
机器学习002-k近邻算法
算法介绍算法核心思想:通过你的邻居确定你的类型即计算与邻居之间的距离,选取最短的距离,从而得出自己的类型两个样本的距离可以通过如下公式计算,又叫欧式距离比如说,a(a1,a2,a3),b(b1,b2,b3)算法APIsklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')n_neighbors:...原创 2019-03-03 16:07:18 · 170 阅读 · 0 评论 -
tensorflow006_变量op及tensorboard可视化学习
变量的的创建、初始化、保存和加载其实变量的作用在语言中相当,都有存储一些临时值的作用或者长久存储。在Tensorflow中当训练模型时,用变量来存储和更新参数。变量包含张量(Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。值可在之后模型训练和分析是被加载。变量的创建创建当一个变量时,将你一个张量作为初始值传入构造函数Variable().Ten...原创 2019-02-25 21:50:00 · 193 阅读 · 0 评论 -
tensorflow005_张量操作的api
生成张量固定值张量tf.zeros(shape, dtype=tf.float32, name=None)创建所有元素设置为零的张量。此操作返回一个dtype具有形状shape和所有元素设置为零的类型的张量。tf.zeros_like(tensor, dtype=None, name=None)给tensor定单张量(),此操作返回tensor与所有元素设置为零相同的类型和形状的张量...原创 2019-02-25 19:35:25 · 216 阅读 · 0 评论 -
tensorflow004_张量的阶和数据类型(张量的形状的改变)
TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通.其实张量更代表的就是一种多位数组。阶在TensorFlow系统中,张量的维数来被描述为阶.但是张量的阶和矩阵的阶并不是同一个概念.张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述.比如,下面的张量(使用Py...原创 2019-02-25 15:13:14 · 1963 阅读 · 0 评论 -
tensorflow003-会话session
一,Session(会话)的作用tensorflow分为前端系统和后端系统,前端系统:进行定义图的结构后端系统:运算图的结构会话起到前端系统和后端系统的桥梁作用:1.运行图结构 2.分配资源计算 3.掌握资源(变量的资源,队列,线程)二, 会话的使用tf.Session()一次只能运行一张图,且默认运行默认的图,所以想要运行特定的图需要传入参数:tf.Session...原创 2019-02-25 14:31:00 · 223 阅读 · 0 评论 -
tensorflow002-图
tensorflow的组成首先我们用tensorflow实现一个加法运算,tensorflow和其他编程语言不同,数据不能直接用于运算,将数据组成一张图图中包括:op和tensor,上下文环境op:只要使用了tensorflow定义的的api都是optensor就指代的是数据实现一个加法运算tensorflow默认会有一张图,只需将tensor(张量)添加入op中,之后再对op进行...原创 2019-02-13 17:03:31 · 238 阅读 · 0 评论 -
深度学习001-tensorflow安装
选择类型必须选择以下类型的TensorFlow之一来安装:TensorFlow仅支持CPU支持。如果您的系统没有NVIDIA®GPU,则必须安装此版本。请注意,此版本的TensorFlow通常会更容易安装(通常在5或10分钟内),因此即使您有NVIDIAGPU,我们建议先安装此版本。TensorFlow支持GPU。TensorFlow程序通常在GPU上比在CPU上运行得更快。因此,如...原创 2019-02-09 20:29:14 · 192 阅读 · 0 评论