最近开始整理一下tensorflow,准备出一个tensorflow实战系列,以飨读者。

    学习一个深度学习框架,一般遵循这样的思路:数据如何读取,如如何从图片和标签数据中读出成tensorflow可以使用的数据,其次是如何搭建网络,然后就是如何训练模型,保存模型,使用模型。最后就是可视化了。

    tensorflow上开发了很多有用的包:如tensorlayers,tflearns,slim等,这些包可以让你很方便的构建网络模型。

    入门系列你可以直接按照tensorflow的官方文档来跑就可以了。咱就不赘叙了。

    实战第一步,我们开始构建tensorflow的数据集。

    tensorflow可以读取很多种数据,1直接从磁盘上读取jpg文件,这个比较费时间。2读取csv格式的数据。这个我没有深挖。3读取bin格式的数据,它的例子中就有是读取已经保存的bin文件的,在models/image文件夹下的一个例子。4tfrecords方法。这个方法比较方便,也是tensorflow的默认文件格式。

    就用这个第四种方法了。

    直接上存的代码:

    def createtraindata():
    cwd='/home/xxx/data/imagedata/'
    classes={'bird','dog','person'}
    writer = tf.python_io.TFRecordWriter("train.tfrecords")//保存的tfrecord的文件名是train.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((224, 224))
            img_raw = img.tobytes()              #将图片转化为原生bytes
            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()

代码不难,就是一些平常的python操作。这个是我跑通了的。如果有问题请留言

tensorflow实战系列(一)的更多相关文章

  1. Tensorflow实战系列之五:

    打算写实例分割的实战,类似mask-rcnn. Tensorflow实战先写五个系列吧,后面新的技术再添加~~

  2. Tensorflow实战系列之四:

    这个是第四篇,打算写一些语义分割的内容实战.

  3. Tensorflow实战系列之一:《Tensorflow实现自己的图像分类》

    最近做GAN的实验,刚好有一批二分类的数据集,心血来潮想着也来试一下Tensorflow的实验.并且会尝试些不同网络的效果,重点在于动手尝试,加油~~ 首先介绍下我的数据集,简单的男性和女性,分别存在 ...

  4. tensorflow实战系列(四)基于TensorFlow构建AlexNet代码解析

    整体流程介绍: 我们从main函数走,在train函数中,首先new了一个network;然后初始化后开始训练,训练时设定设备和迭代的次数,训练完后关闭流程图. 下面看network这个类,这个类有许 ...

  5. tensorflow实战系列(三)一个完整的例子

    #!/usr/bin/env python2# -*- coding: utf-8 -*-"""Created on Wed Jan 18 08:42:55 2017 @ ...

  6. tensorflow实战系列(二)TFRecordReader

    前面写了TFRecordWriter的生成.这次写TFRecordReader. 代码附上: def read_and_decode(filename):    #根据文件名生成一个队列    fil ...

  7. Tensorflow实战系列之三:

    博主也是初学,能力有限,这个完全没想好..

  8. Tensorflow实战系列之二:

    还没想好,可能是人脸检测或者物体检测,或者加上动态检测~~

  9. GitHub实战系列汇总篇

    基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...

随机推荐

  1. virtualBox NAT模式,设置虚拟机可上网,宿主机可访问虚拟机的方法

    环境描述: 宿主机:windows Server 2008 64bit,IPV4地址,有网络. 宿主机上的主要软件环境: virtualBox 5.0.24 virtualBox中安装了CentOS ...

  2. 基于JavaScript 声明全局变量的三种方式详解

    原文地址:http://www.jb51.net/article/36548.htm JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符) ...

  3. js读取iframe里的元素

    父层 <div id="SubStepNav" class="SubStepNav"> <iframe src="aaa.html& ...

  4. 引用文章 如何在lambda中引入递归调用

    // clang++ 3.5 // maybe gcc 4.9 support it, but I don't test it #include<iostream> int main() ...

  5. PHPer常见的面试题总结

    1.平时喜欢哪些php书籍及博客?CSDN.虎嗅.猎云 2.js闭包是什么? 3.for与foreach哪个更快? 4.php鸟哥是谁?能不能讲一下php执行原理? 5.php加速器有哪些?apc.z ...

  6. Schiff Move Free维骨力这个牌子的保健效果怎么样,是要给中老年人群服用的

    Schiff Move Free维骨力这个牌子的保健效果怎么样,是要给中老年人群服用的.? https://www.zhihu.com/question/46399868 服move free还要补钙 ...

  7. int, bool, string的操作

    基本数据类型 1.int型 可以求整数的二进制长度.输入一个数字a,"a.bit_length()"语法求a的二进制长度. a = 3 #二进制为11 print(a.bit_le ...

  8. Nginx下配置ThinkPhp多入口访问

    比如在一个项目中有前台与后台两个模块,需要使用不同的入口文件.同时希望前台使用默认的index.php的入口. 关键的配置如下: if (!-e $request_filename) {        ...

  9. axublogcms1.0.6|代码审计

    这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...

  10. Spring MVC 处理异常

    SpringMVC处理异常: 1 使用@ExceptionHandler注解 只有ModelAndView可以携带错误信息 @ExceptionHandler public ModelAndView ...