最近开始整理一下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. 解决MSDE安装回滚的问题

    rem 解决MSDE安装回滚的问题.bat rem 设置为手动rem sc config "LanmanServer" start= DEMAND rem 设置为自动sc conf ...

  2. python 数组 变成 字典的方法

    1.现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','ke ...

  3. ngx_lua_waf

    Web应用防护系统Web Application Firewall,简称WAF.针对HTTP/HTTPS的安全策略专门为Web应用提供保护的产品. OpenResty是一个基于 Nginx 与 Lua ...

  4. [UE4]扔枪

    1.把枪Detach掉:DetachFromActor 3个都选择“Keep World” 2.模拟物理 3.给一个向前的速度 4.切枪,到上一个武器,或者捡起脚底下的武器 注意Get Compone ...

  5. 关于Centos7 firewalld防火墙开放端口后仍不能访问ftp和nginx的问题解决

    我在阿里轻量应用服务器搭建ftp服务器这篇博客中把防火墙换为iptables,因为当时无论我怎么设置firewalld,就是无法访问ftp服务器,今天在翻看其他博客的时候,突然发现firewalld有 ...

  6. MySQL 捕获有问题的SQL-慢查日志 实例

    启动MySQL慢查日志 set global show_query_log_file = /sql_log/show_log.log set global log_queries_not_using_ ...

  7. webpack实现scss编译配置

    1.webpack.start.js: var webpack = require('webpack'); var SpritesmithPlugin = require('webpack-sprit ...

  8. MySQL查询表的所有列名,用逗号拼接

    问题场景 在MySQL中,需要以逗号拼接一个表的所有字段 sql语句 SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ",") FROM inf ...

  9. 安装MySQL半同步复制

    一.简介 从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认 ...

  10. ThinkPHP5调用PHPExcel类实现导入导出

    注意:extend是放置第三方类的地方,不要乱配置命名空间那些,引起不必要的类错误 代码如下 <?php namespace app\index\controller; use think\Co ...