Tensorflow 训练自己的数据集(二)(TFRecord)

tensorflow2 OD api训练自己的数据集 exported-models存放训练好的模型、pre-trained-models存放预训练的模型、models存放预训练模型修改后的模型、images存放image打标签后的数据。annotations存放生成的数据,record格式的数据集,pbtxt文件标签,img预测使用的图片。 阅读详情

Tensorflow 提供了一种统一的格式来存储数据,这个格式就是TFRecord,上一篇博客中所提到的方法当数据的来源更复杂,每个样例中的信息更丰富的时候就很难有效的记录输入数据中的信息了,于是Tensorflow提供了TFRecord来统一存储数据,接下来我们就来介绍如何使用TFRecord来同意输入数据的格式。


1. TFRecord格式介绍

TFRecord文件中的数据是通过tf.train.Example Protocol Buffer的格式存储的,下面是tf.train.Example的定义

message Example {
 Features features = 1;
};

message Features{
 map<string,Feature> featrue = 1;
};

message Feature{
    oneof kind{
        BytesList bytes_list = 1;
        FloatList float_list = 2;
        Int64List int64_list = 3;
    }
};

从上述代码可以看到,ft.train.Example 的数据结构相对简洁。tf.train.Example中包含了一个从属性名称到取值的字典,其中属性名称为一个字符串,属性的取值可以为字符串(BytesList ),实数列表(FloatList )或整数列表(Int64List )。例如我们可以将解码前的图片作为字符串,图像对应的类别标号作为整数列表。


2. 将自己的数据转化为TFRecord格式

准备数据

在上一篇博客中,我们为了像伟大的MNIST致敬,所以选择图像的前缀来进行不同类别的分类依据,但是大多数的情况下,在进行分类任务的过程中,不同的类别都会放在不同的文件夹下,而且类别的个数往往浮动性又很大,所以针对这样的情况,我们现在利用不同类别在不同文件夹中的图像来生成TFRecord.

我们在Iris&Contact这个文件夹下有两个文件夹,分别为iris,contact。对于每个文件夹中存放的是对应的图片


转换数据

数据准备好以后,就开始准备生成TFRecord,具体代码如下:

import os 
import tensorflow as tf 
from PIL import Image  
import matplotlib.pyplot as plt 

cwd='/home/ruyiwei/Documents/Iris&Contact/'
classes={'iris','contact'} 
writer= tf.python_io.TFRecordWriter("iris_contact.tfrecords") 

for index,name in enumerate(classes):
    class_path=cwd+name+'/'
    for img_name in os.listdir(class_path): 
        img_path=class_path+img_name 
        img=Image.open(img_path)
        img= img.resize((512,80))
        img_raw=img.tobytes()
        #plt.imshow(img) # if you want to check you image,please delete '#'
        #plt.show()
        example = tf.train.Example(features=tf.train.Features(feature={
            "label": tf.train.Feature(int64_list=tf.train.Int64List(value=[index])),
            'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw]))
        })) 
        writer.write(example.SerializeToString()) 

writer.close()

3. Tensorflow从TFRecord中读取数据

def read_and_decode(filename): # read iris_contact.tfrecords
    filename_queue = tf.train.string_input_producer([filename])# create a queue

    reader = tf.TFRecordReader()
    _, serialized_example = reader.read(filename_queue)#return file_name and file
    features = tf.parse_single_example(serialized_example,
                                       features={
                                           'label': tf.FixedLenFeature([], tf.int64),
                                           'img_raw' : tf.FixedLenFeature([], tf.string),
                                       })#return image and label

    img = tf.decode_raw(features['img_raw'], tf.uint8)
    img = tf.reshape(img, [512, 80, 3])  #reshape image to 512*80*3
    img = tf.cast(img, tf.float32) * (1. / 255) - 0.5 #throw img tensor
    label = tf.cast(features['label'], tf.int32) #throw label tensor
    return img, label

4. 将TFRecord中的数据保存为图片

filename_queue = tf.train.string_input_producer(["iris_contact.tfrecords"]) 
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue)   #return file and file_name
features = tf.parse_single_example(serialized_example,
                                   features={
                                       'label': tf.FixedLenFeature([], tf.int64),
                                       'img_raw' : tf.FixedLenFeature([], tf.string),
                                   })  
image = tf.decode_raw(features['img_raw'], tf.uint8)
image = tf.reshape(image, [512, 80, 3])
label = tf.cast(features['label'], tf.int32)
with tf.Session() as sess: 
    init_op = tf.initialize_all_variables()
    sess.run(init_op)
    coord=tf.train.Coordinator()
    threads= tf.train.start_queue_runners(coord=coord)
    for i in range(20):
        example, l = sess.run([image,label])#take out image and label
        img=Image.fromarray(example, 'RGB')
        img.save(cwd+str(i)+'_''Label_'+str(l)+'.jpg')#save image
        print(example, l)
    coord.request_stop()
    coord.join(threads)
tf-CNN(二)Tensorflow制作自己的数据集并训练 参考:https://www.jianshu.com/p/15e3f74180fc https://blog.youkuaiyun.com/wiinter_fdd/article/details/72835939 对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练。但是,如果数据量较大,这样的方法就不适用了,因为太耗内存。在这儿我介绍一种比较通用,高效的读取方法,即使... 阅读详情

相关推荐

SSD Tensorflow 训练测试自己的数据集 Jupiter notebook 显示训练结果

一份非常简单易懂的SSD tensorflow训练教程,初学者也可以看得懂。当初自学的时候走了很多弯路,所以把自己的经验和踩过的坑分享给大家,如果文中有什么写的不对的地方欢迎大家在评论区和我讨论。 零、前期准备 安装Tensorflow-GPU版本。   一、SSD框架准备 从https://github.com/balancap/SSD-Tensorflow 下载、解压。 解压che...

Echo_Harrington的博客 7855

tfrecord原理详解 手把手教生成tfrecord文件与解析tfrecord文件

1.什么是tfrecord TFRecord 是Google官方推荐的一种数据格式,是Google专门为TensorFlow设计的一种数据格式。 TFRecord本质上是二进制文件,目的是更好的利用内存。用户可以将训练集/测试集打包成生成TFRecord文件,后续就可以配合TF中相关的API实现数据的加载,处理,训练等一系列工作,可以方便高效的训练与评估模型。 2.tfrecord原理 TFRecord 并非是TensorFlow唯一支持的数据格式,你也可以使用CSV或文本等格式,但是对于TensorFlo

bitcarmanlee的博客 9773

TensorFlow Object Detection API 训练VOC2012数据集

安装好Tensorflow 和 Tensorflow Object Detection API 下载好VOC2012数据集1.准备训练集Tensorflow对象检测API使用TFRecord文件格式读取数据。提供两个示例脚本(create_pascal_tf_record.py)将PASCAL VOC2012数据集转换为TFRecords生成PASCAL VOC TFRecord文件# 从 ten

HMW的博客 1万+

TFRecord教程、原理及用法

经常使用tensorflow的人,想必接触过tfrecord文件格式。

weixin_41558411的博客 7357

SSD-tensorflow512训练自己的数据集

1.下载ssd-tensorflow工程压缩包 Github:https://github.com/balancap/SSD-Tensorflow 2.解压 checkpoints文件夹下ssd_300_vgg.ckpt压缩文件删除,将下载的ssd512模型放在此处。 链接:https://pan.baidu.com/s/13rXshm9s8D-7BjX0bNhpkg提取码:f0k5 ...

improving 2965

TensorFlow学习(十一):保存TFRecord文件

更新: 2018.3.26 对于每个例子添加了详细的解释,方便理解. 做过kaggle竞赛的应该很熟悉.csv文件了,.csv文件非常方便,但是通常读取的时候,是一次性读取到内存里面的.要是内存小的话,就要想其他的办法了,那就变得很麻烦了. 或者有时候,从硬盘上面直接读取图片啊什么的,因为图片的文件格式,存放位置各种各样等等一些因素,要是想在训练阶段直接这么使用的话,就更加麻烦了.所...

谢小小XH 2万+

深度学习12-TFRecord详解

文章目录1.TFRecord简介1)TFRecord是什么2)为什么用TFRecord3)TFRecord格式2.写入TFRecord3.读取TFRecord文件4.案例实战-猫狗图片分类 1.TFRecord简介 1)TFRecord是什么 TFRecord --> Example --> feature --> key-value键值对,并且value的取值有三种 2)为什么用TFRecord 为什么要用TFRecord? 3)TFRecord格式 2.写入TFReco

柳杰的博客 1309

Tensorflow-制作与使用tfrecord数据集

引言   本次博文目的是记录下tfrecord数据集的制作与使用方式。(踩了无数坑OTZ)   这里贴上一个数据读取的官方教程:Tensorflow导入数据以及使用数据   接下来举个例子说明怎么用tfrecord,假设我要做个图片分类的任务。首先,我这里有一个txt文件,包含着所有图片的路径以及它们的标签。还有一个包含许多图片的文件夹。类似下图这样:   准备好了数据后,就可以制...

Site1997的博客 3656

基于tensorflow的MNIST探索(基于图像版本的实现与探索)——如何读取较大数据集进行训练(基于TFRecord)(二)

注意:使用TFRecord是,存在两个实际的问题:       1) 制作数据时,先制作train_data_label_list(内容为[ [imagePath, label], [imagePath, label], [], [], ,,, ]),然后对次数据进行打乱,否则即使采用tf.train.shuffle_batch给出的结果仍不是打乱的         猜测原因:是由于每一类的数...

holmes_MX的博客 626

【大作业-03】手把手教你用tensorflow2.3训练自己的分类数据集

配合视频一起食用这篇教程效果更佳:课设题目没想好?手把手教你用tensorflow2构建果蔬识别系统 tensorflow2.x版本对小白非常友好,2.x的api中对keras进行了合并,大家只需要安装tensorflow就可以使用里面封装好的keras,利用keras可以快速地加载数据集和构建模型,下面我们直接来看以下通过tensorflow2.3训练自己的分类数据集吧。 注:本文主要针对图片形式的数据集构建分类模型,文本数据、目标检测等任务暂不涉及。 本文使用到的代码已在码云上开源,请大家自行下载,st

dejahu的博客 6万+

提示deepseek生成完整的json用于对接外部API

通过精准的提示词设计(字段过滤、格式约束)、动态验证机制(自检与修正)和官方模板参考,可有效确保DeepSeek生成的JSON纯净无冗余。

神棍之路 2307

TensorFlow2.0 TFrecord数据集的写入、读取和训练示例详解

本文的数据集是存放在两个文件夹:1和2,其中每个文件夹包含200张彩色图像。每张图像的大小为(32x32x3),均为.png。 关于TF2.0中TFrecord的一些基础内容请参考:TFRecord :TensorFlow 数据集存储格式 参考以上教程,我们设计输入和输出都为图像的端到端卷积网络。步骤如下: 准备数据 将数据写入TFrecord文件 读取TFrecord文件 用Ker...

SweetWind1996的博客 2万+

Autodesk全家桶怎么选?AutoCAD、Revit、Fusion 360等7款软件超全对比指南

本文深入对比了Autodesk旗下七款核心软件(AutoCAD、Revit、Inventor、Fusion 360、Maya、3ds Max、Forge)的核心定位与适用场景。针对建筑、制造、创意设计等不同专业需求,提供精准的选型指南,帮助用户根据自身工作流(如二维绘图、BIM协同、产品开发、影视动画)选择最匹配的工具,避免资源浪费并提升效率。

stone的博客 434

【Tensorflow】你可能无法回避的 TFRecord 文件格式详细讲解

如果你是 Tensorflow 的初学者,那么你或多或少在网络上别人的博客上见到过 TFRecord 的影子,但很多作者都没有很仔细地对它进行说明,这也许会让你感受到了苦恼。本文按照我自己的思路对此进行一番讲解,也许能够提供给你一些帮助。 TFRecord 是什么? TFRecord 是谷歌推荐的一种二进制文件格式,它可以将任何信息按照特定的格式转换成二进制。 TFRecord 的核心内容在...

frank 的专栏 3万+

实用工具抓取youtube热门数据

YouTube作为全球第二大搜索引擎,2024年日均视频播放量突破50亿次,头部创作者单月广告分成可达百万美元量级。但对数据分析者而言,其反爬机制堪称业界最严: ‌反爬技术升级‌:Google部署的Botguard系统可检测异常流量,触发机制包括: 单IP每小时请求超过50次即封禁 检测Headless浏览器指纹(如Chrome的navigator.webdriver属性) 动态加载内容(如评论数据需滚动页面3次后加载) ‌数据价值维度‌:某MCN机构研究显示,前100热门视频的标题关键词复用率高达67%

26万+

自动驾驶仿真:Carsim、NI和VTD联合仿真课题二

文章目录前言一、设备配置1、硬件需求2、网络配置二、Carsim工程配置1、创建工程2、创建数据库3、参数配置三、VTD工程配置1、创建工程四、Veristand工程配置1、创建工程五、运行程序 前言 上篇文章《Carsim、NI和VTD联合仿真课题一》简单地介绍了三者之间的联合框架,以及NI与VTD之间简单的组包与拆包指导。这篇文章将要讲述的是如何将三个软件联合起来,如何设置软件参数,用最简单的方法把仿真车开起来。 一、设备配置 1、硬件需求 注:真正的做智能驾驶仿真项目,至少需要两台电脑,一台实时机

zataji的博客 1万+

Tensorflow之tfrecord加载数据与模型训练

tfrecord加载数据与模型训练 参考代码:https://github.com/NLPLearn/QANet 1. 处理数据,将给定数据处理成输入数据的格式 # 1.处理数据,将给定的数据处理成输入数据的格式; def process_file(file_name, data_type, training=True): print("Generating {} examples..."...

bin 4443

携程机票数据爬取实战:使用 Python 获取携程网机票信息

通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。

2201_76125261的博客 1657

【tensorflow】将训练数据转为tfrecord

目标检测训练数据的一般包括图像和对应的标注xml文件,这里以四边形标注目标,如下: 转换为tfrecord文件 def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) def _bytes_feature(value): retur...

Mr_health的博客 2178

6、硬件工程师笔试面试知识器件篇——电容(2025版本)

本文系统介绍了电容器的基本原理、类型分类、应用场景及相关设计问题。首先阐述了电容的定义、工作原理及计算公式,详细分析了陶瓷、电解、薄膜、钽等不同类型电容的特性差异。针对高频电路设计,重点讨论了如何评估和优化电容器的寄生效应(ESR/ESL)、频率特性、温度特性等关键参数。文章还提供了PCB布局优化策略,包括缩短走线、多层板设计、去耦网络配置等方法。最后涵盖了电容器寿命计算、稳定性评估及电源电路设计中的纹波电流处理等实用内容,为硬件工程师提供了全面的电容器选型和应用指南。

XU157303764的博客 3868

基于逆向工程的中国裁判文书网爬虫技术深度解析:从反爬破解到合规抓取

最近承接了一个法律大数据分析的项目,需要获取某类合同纠纷的裁判文书数据,用于分析不同地区的判决规律、法官的裁判倾向以及法条适用情况。原本以为用常规的Python爬虫就能搞定,结果刚对着中国裁判文书网发了几个请求,就遭遇了“滑铁卢”:要么请求直接返回403 Forbidden,要么触发滑块验证码,甚至连IP都被临时封禁了。普通的requests+BeautifulSoup组合在裁判文书网面前完全失效,这也让我意识到,想要获取这里的数据,必须先通过逆向工程拆解网站的请求逻辑和反爬机制。经过一周的摸索,从抓包分析

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3168

yoloV3 Tensorflow版训练自己数据集

yoloV3 Tensorflow版训练自己数据集终于有人放出了 yoloV3 Tensorflow 版本项目结构简单测试训练数据集功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你...

weixin_41819529的博客 1万+

【YOLOv11工业级实战】27. TensorRT量化实战:FP16/INT8极致加速!边缘设备YOLOv11推理速度提升4倍,精度损失控制在1.5%内

摘要:本文针对智慧园区200路摄像头实时分析的工业痛点——RTX 3080单卡仅能处理12路视频流(YOLOv11-nano FP32精度45FPS,需≥120FPS且精度损失≤3%),提供TensorRT量化完整解决方案。从原理解析(FP16/INT8精度差异与量化逻辑)到实操落地(ONNX转换、FP16引擎构建、INT8精细校准),全程给出可复用代码。实测显示:FP16量化后速度达128FPS(×2.8),精度损失0.2%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1717

【Tensorflow教程笔记】常用模块 TFRecord :TensorFlow 数据集存储格式

Tensorflow教程笔记 基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeline 自定义层、损失函数和评估指标 常用模块 tf.train.Checkpoint :变量的保存与恢复 常用模块 TensorBoard:训练过程可视化 常用模块 tf.data :数据集的构建与预处理 常用模块 TFRecord :TensorFlow 数据集存储格式 目

nanke_4869的博客 4552

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow)

使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow) 之前鄙人写了一篇博客《使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型(TensorFlow)》https://panjinquan.blog.youkuaiyun.com/article/details/81560537,本博客就是此博客的框架基础上,完成对MobileNet的图...

AI吃大瓜的博客 4万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

将自己的数据集制作成TFRecord格式

在使用TensorFlow训练神经网络时,首先面临的问题是:网络的输入 此篇文章,教大家将自己的数据集制作成TFRecord格式,feed进网络,除了TFRecord格式,TensorFlow也支持其他格 式的数据,此处就不再介绍了。建议大家使用TFRecord格式,在后面可以通过api进行多线程的读取文件队列。

Cheese的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 在Ubuntu下生成动态库与静态库
下一篇: Ubuntu16.04 安装opencv3.2.0 与opencv_contrib_3.2.0 支持dnn
ruyiweicas
博客等级 码龄12年 192粉丝 39原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值