TensorFlow是Google开源的深度学习框架。可以通过大量打过标签的数据的feed,来生成对同类事物的识别做用。 当然数据量少的话 就只能当一个分类器了。
TensorFlow 也是一个熊弟介绍给我的, 当时说好了一起搞这东西,但是最后只剩我一个人在摸索了(有老婆的人,嗯~ 还是坑啊)
# -*- coding: utf-8 -*- import os import tensorflow as tf from PIL import Image import numpy as np class_path="/home/images/" writer = tf.python_io.TFRecordWriter("anm_pic_train.tfrecords") count = 0 dic={} def sort(key): global count if key in dic: return dic[key] else: dic[key]=count count = count +1 return count-1 def text2vec(text): result = np.zeros(3, dtype=np.int) if text < 10 : result[0]=1 if (text >= 10) and (text < 30): result[1]=1 if text >= 30: result[2]=1 return result for file in os.listdir(class_path): if file.endswith(".jpg"): file_path = class_path + file # print(file_path) img = Image.open(file_path) # keng if img.mode == 'RGB': #处理图片的大小 img = img.resize((240, 320)) img_raw = img.tobytes() example = tf.train.Example(features=tf.train.Features(feature={ #图片对应单个结果 "label": tf.train.Feature(int64_list=tf.train.Int64List(value=[sort(file[:file.rindex("_")])])), # 图片对应多个结果 #"label": tf.train.Feature(int64_list=tf.train.Int64List(value=text2vec(xx))), 'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw])) })) writer.write(example.SerializeToString()) writer.close() print('dic:',dic,' length:', len(dic)) # 读取tf def read_and_decode(filename): filename_queue = tf.train.string_input_producer([filename]) reader = tf.TFRecordReader() _, serialized_example = reader.read(filename_queue) features = tf.parse_single_example(serialized_example, features={ # 单结果的 label 返回是int 'label': tf.FixedLenFeature([], tf.int64), # 数组返回, [3] 输入的数组的长度一样 # 'label': tf.FixedLenFeature([3], tf.int64), 'img_raw' : tf.FixedLenFeature([], tf.string), }) img = tf.decode_raw(features['img_raw'], tf.uint8) img = tf.reshape(img, [240, 320, 3]) # normalize img = tf.cast(img, tf.float32) * (1. / 255) - 0.5 label = features['label'] return img, label img, label = read_and_decode("anm_pic_train.tfrecords") img_batch, label_batch = tf.train.shuffle_batch([img, label],batch_size=10, capacity=2000, min_after_dequeue=1000) init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(coord=coord, sess=sess) for i in range(10): val, l = sess.run([img_batch, label_batch]) print(l) print ("complete ...") coord.request_stop() coord.join(threads) sess.close()
以上是 tensorflow 本地图片做数据集和队列读取的代码。 其中RGB图片是深坑之一(网上很多文章代码都一样,但是偏偏我用了就报错),当下载下来大量图片之后, 有些图片的位深 是不一样的,有24,32等等,其中24的rgb。
在 tf.reshape的时候是 指定了3通道的图片即24位深的图片, 如果是32位深的图片就会在这里报错,但是坑爹的是在做数据集的时候并不会报错 。
结果:
图片存放目录:
相关推荐
DRIVE数据集的训练集和验证集‘1st_manual’ 并未被官方提供,但我提供了分为training.zip和test.zip。 CHASE DB1 的训练集和验证集也提供了chase_db1.zip HRF数据集:下载 healthy.zip glaucoma.zip, diabetic_...
提供的数据包含 30000 张带类别标签的图片组成的训练集,和 5000 张无类别的测试集,需要用训练好的模型对测试集图片进行分类,并将结果生成 csv 文件上传提交。选用 python 编写网络架构,深度学习框架在 pytorch/...
本文介绍了MNIST数据集转化为二维图片的实现示例,分享给大家,具体如下: #coding: utf-8 from tensorflow.examples.tutorials.mnist import input_data import scipy.misc import os # 读取MNIST数据集。如果不...
一、数据集介绍 ...PIL(Python Imaging Library)是 Python 中最常用的图像处理库,而Image类又是 PIL库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓
颜色分类leetcode 街景门牌号 1_preprocess_single.ipynb :预处理裁剪的个位数 SVHN 数据。 2_CNN_single.ipynb :为裁剪的单位数 SVHN 图像构建卷积神经网络。...使用无监督特征学习读取自然图像中的数字。 N
直接在Dataset对象上使用map , apply , reduce或filter ...创建图像数据集,将其转换为张量,缓存并与平滑标签连接: import torchdata as td import torchvision class Images ( td . Dataset ): # Different in
Waymo打开数据集查看器 一个用于Waymo云的WebGL查看器,该浏览器与集成的python服务器在浏览器中无缝运行,该python服务器处理并提供数据集段。 先决条件 数据集 在使用查看器之前,您首先需要从数据集(的一部分)...
学习余震定位模式 培训,测试,评估代码,用于... modelfunctions.py:用于读取和写入CSV和HDF文件,创建和训练神经网络等的各种函数。 EvalModel.py:根据测试数据评估训练有素的网络。 Calculate_ROC_and_AUC_NN.
数据集 通过下载数据并将其放入您的path / Data / input文件夹中 运行代码 数据预处理: 要预处理数据并执行特征提取,请在Matlab中运行'matlab / Run0.m'脚本 要为NN创建数据并执行PCA + SVM模型训练,请在
手写数字分类器是经过训练可使用MNIST数据集识别手写数字的CNN(卷积神经网络)。 该网络使用Keras构建,Keras是Tensorflow中集成的高级API(Google的深度学习API)。 我已经将整个MNIST数据集(以手写数字形式)...