-
大小: 12.57MB文件类型: .zip金币: 1下载: 0 次发布日期: 2023-07-13
- 语言: 其他
- 标签: TensorFlow python
资源简介
这是一个图像识别项目,基于tensorflow,现有的CNN网络可以识别四种花的种类。适合新手对使用tensorflow进行一个完整的图像识别过程有一个大致轮廓。项目包括对数据集的处理,读取数据,CNN网络的定义,训练过程,还实现了一个GUI界面用于使用训练好的网络。
包含3000多张,4种不同花的照片,用cpu训练大概半小时,效果不错,利用好自己可以加以改进!
包含3000多张,4种不同花的照片,用cpu训练大概半小时,效果不错,利用好自己可以加以改进!
代码片段和文件信息
# 将原始图片转换成需要的大小,并将其保存
# ========================================================================================
import os
import tensorflow as tf
from PIL import Image
# 原始图片的存储位置
orig_picture = ‘D:/ML/flower/flower_photos/‘
# 生成图片的存储位置
gen_picture = ‘D:/ML/flower/input_data/‘
# 需要的识别类型
classes = {‘dandelion‘ ‘roses‘ ‘sunflowers‘‘tulips‘}
# 样本总数
num_samples = 4000
# 制作TFRecords数据
def create_record():
writer = tf.python_io.TFRecordWriter(“flower_train.tfrecords“)
for index name in enumerate(classes):
class_path = orig_picture + “/“ + name + “/“
for img_name in os.listdir(class_path):
img_path = class_path + img_name
img = Image.open(img_path)
img = img.resize((64 64)) # 设置需要转换的图片大小
img_raw = img.tobytes() # 将图片转化为原生bytes
print(index img_raw)
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()
# =======================================================================================
def read_and_decode(filename):
# 创建文件队列不限读取的数量
filename_queue = tf.train.string_input_producer([filename])
# create a reader from file queue
reader = tf.TFRecordReader()
# reader从文件队列中读入一个序列化的样本
_ serialized_example = reader.read(filename_queue)
# get feature from serialized example
# 解析符号化的样本
features = tf.parse_single_example(
serialized_example
features={
‘label‘: tf.FixedLenFeature([] tf.int64)
‘img_raw‘: tf.FixedLenFeature([] tf.string)
})
label = features[‘label‘]
img = features[‘img_raw‘]
img = tf.decode_raw(img tf.uint8)
img = tf.reshape(img [64 64 3])
# img = tf.cast(img tf.float32) * (1. / 255) - 0.5
label = tf.cast(label tf.int32)
return img label
# =======================================================================================
if __name__ == ‘__main__‘:
create_record()
batch = read_and_decode(‘flower_train.tfrecords‘)
init_op = tf.group(tf.global_variables_initializer() tf.local_variables_initializer())
with tf.Session() as sess: # 开始一个会话
sess.run(init_op)
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for i in range(num_samples):
example lab = sess.run(batch) # 在会话中取出image和label
img = Image.fromarray(example ‘RGB‘) # 这里Image是之前提到的
img.save(gen_picture + ‘/‘ + str(i) + ‘samples‘ + str(lab) + ‘.jpg‘) # 存下图片;注意cwd后边加上‘/’
print(example lab)
coord.request_stop()
coord.join(threads)
sess.close()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-03-10 23:00 .idea\
文件 197 2020-03-10 16:31 .idea\misc.xm
文件 270 2020-02-23 03:58 .idea\modules.xm
文件 186 2020-02-23 03:58 .idea\other.xm
文件 443 2020-03-10 16:31 .idea\unti
文件 26950 2020-03-10 23:00 .idea\workspace.xm
目录 0 2020-03-10 18:38 __pycache__\
文件 2601 2020-02-23 03:58 __pycache__\input_data.cpython-35.pyc
文件 2268 2020-03-10 17:45 __pycache__\input_data.cpython-36.pyc
文件 3420 2020-02-23 03:58 __pycache__\model.cpython-35.pyc
文件 2842 2020-03-10 17:45 __pycache__\model.cpython-36.pyc
文件 2316 2020-02-23 03:58 __pycache__\test.cpython-35.pyc
文件 2045 2020-03-10 18:38 __pycache__\test.cpython-36.pyc
文件 3223 2020-02-23 03:58 create record.py
目录 0 2020-03-10 23:03 flower\
目录 0 2020-03-10 17:05 flower\input_data\
目录 0 2020-03-10 17:05 flower\input_data\dandelion\
文件 1717 2018-04-12 15:44 flower\input_data\dandelion\1440samples2.jpg
文件 1706 2018-04-12 15:44 flower\input_data\dandelion\1441samples2.jpg
文件 1770 2018-04-12 15:44 flower\input_data\dandelion\1442samples2.jpg
文件 1897 2018-04-12 15:44 flower\input_data\dandelion\1443samples2.jpg
文件 2065 2018-04-12 15:44 flower\input_data\dandelion\1444samples2.jpg
文件 1920 2018-04-12 15:44 flower\input_data\dandelion\1445samples2.jpg
文件 1967 2018-04-12 15:44 flower\input_data\dandelion\1446samples2.jpg
文件 2245 2018-04-12 15:44 flower\input_data\dandelion\1447samples2.jpg
文件 2359 2018-04-12 15:44 flower\input_data\dandelion\1448samples2.jpg
文件 2281 2018-04-12 15:44 flower\input_data\dandelion\1449samples2.jpg
文件 1621 2018-04-12 15:44 flower\input_data\dandelion\1450samples2.jpg
文件 1870 2018-04-12 15:44 flower\input_data\dandelion\1451samples2.jpg
文件 2618 2018-04-12 15:44 flower\input_data\dandelion\1452samples2.jpg
文件 1284 2018-04-12 15:44 flower\input_data\dandelion\1453samples2.jpg
............此处省略3037个文件信息
相关资源
- Tensorflow实现Mnist手写数据集的识别
- TensorFlow for Deep Learning: From Linear Regr
- Mastering Machine Learning With scikit-learn(中
- Packt.Matplotlib.3.0.Cookbook.rar 2018年最新版
- Advanced Algorithmic Trading原书加代码
- tensorflow-densenet-resnet-inception网络
- SegNet-tensorflow+dataset
- k-means算法代码
- tensorflow制作自己的图像数据集并训练
- SARIMA.rar
- Hands-on-Machine-Learning-with-Scikit-高清带书
- wifi密码字典及破解程序(最全版
- 服装识别项目数据集与代码.zip
- 手写数字识别程序,模型和测试图片
- github上tensorflow-master源码
- tensorflow-1.2.1-cp35-cp35m-linux_x86_64.whl
- tensorflow-master.zip 2018.10.29最新版
- Hands-On Machine Learning with Scikit-Learn an
- Hands-On Machine Learning with Scikit-Learn an
- 数据挖掘概念与技术 第三版(中文版
- MNIST手写字体识别结果模板3万轮训练
- tensorflow-1.3.0
- 精通Scrapy网络爬虫完整版
- 深度学习:智能时代的核心驱动力量
- Windows系统下tensorflow版本的YOLO v3
- 使用tensorflow实现CNN-RNN-GAN代码
- 《最全Pycharm教程 - 精编版》收集自山
- Visual Studio 2015 VCRedist package(64and32)
- Hands-On Machine Learning with Scikit-Learn Ke
- mnist数据集162914
评论
共有 条评论