tensorflow实战系列(一)

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

    学习一个深度学习框架,通常遵循这样的思路:数据如何读取,如如何从图片和标签数据中读出成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操做。这个是我跑通了的。若是有问题请留言it

相关文章
相关标签/搜索