-
大小: 9KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-06-06
- 语言: 其他
- 标签: tensorflow python
资源简介
采用tensorflow实现猫狗的识别。首先是进行模型的撰写,然后训练,最后测试。具体的训练图片在网上下载即可
代码片段和文件信息
#%%
import tensorflow as tf
import numpy as np
import os
#
img_width = 208
img_height = 208
#%% 获取图片 及 生成标签
train_dir = ‘G:/tensorflow/cats_vs_dogs/data/train/‘
def get_files(file_dir):
‘‘‘
args:
file_dir: file directory
Returns:
ist of images and labels
‘‘‘
cats = []
label_cats = []
dogs = []
label_dogs = []
for file in os.listdir(file_dir):
name = file.split(‘.‘)
if name[0] == ‘cat‘:
cats.append(file_dir + file)
label_cats.append(0)
else:
dogs.append(file_dir + file)
label_dogs.append(1)
print(‘There are %d cats \nThere are %d dogs‘ %(len(cats) len(dogs)))
image_list = np.hstack((cats dogs)) ## 将图像堆叠在一起
label_list = np.hstack((label_cats label_dogs)) ## 将图像标签堆叠在一起
temp = np.array([image_list label_list])
temp = temp.transpose() #矩阵转置
np.random.shuffle(temp) # 打乱存放的顺序
image_list = list(temp[: 0]) # 获取图片
label_list = list(temp[: 1]) # 获取标签
label_list = [float(i) for i in label_list]
return image_list label_list
#%%
# 对图片进行裁剪
def get_batch(image label image_W image_H batch_size capacity):
‘‘‘
args:
image: list type
label: list type
image_W: image_width
image_H: image_Height
batch_size:batch size #每批次的图像量
capacity: the maxmum elements in queue
Returns:
image_batch: 4D tensor [batch_size width height 3]dtype=tf.float32
label_batch: 1D tensor [batch_size] dtype = tf.float32
‘‘‘
# 类型转换函数,返回张量
image = tf.cast(image tf.string) # 数据类型转换 image->string
label = tf.cast(label tf.int32) # 数据类型转换 label->int32
# make an input queue 生成输入对列
input_queue = tf.train.slice_input_producer([image label])
label = input_queue[1] # 读取标签
image_contents = tf.read_file(input_queue[0]) # 读取图像 string类型
image = tf.image.decode_jpeg(image_contents channels = 3) #解码
########################################
# data argumentatioan should go to here
########################################
# 对图片进行裁剪或扩充【在图像中心处裁剪】,统一大小
image = tf.image.resize_image_with_crop_or_pad(image image_W image_H)
# 数据标准化 训练前需要对数据进行标准化
image = tf.image.per_image_standardization(image)
# 生成批次 在输入的tensor中创建一些tensor数据的batch
image_batch label_batch = tf.train.batch([image label]
batch_size = batch_size
num_threads = 64
capacity = capacity)
# 重新生成大小,即将label_batch变换成[batch_size]行的形式
label_batch = tf.reshape(label_batch [batch_size])
return image_batch label_batch
#%% test : matplotlib.pyplot绘图 绘制直线、条形/矩形区域
import matplotlib.pyplot as plt
BATCH_SIZE = 5 # 批次中的图像数量
CAPACITY
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4786 2017-09-13 21:11 import_data.py
文件 6955 2017-09-13 21:34 model.py
文件 11297 2017-08-31 10:14 test_import_data.py
文件 6859 2017-09-14 09:54 training.py
- 上一篇:计算机网络重点归纳总结详细
- 下一篇:基于强化学习的商品推荐系统.docx
相关资源
- 双线性池化Bilinear poolingtensorflow版
- 万有引力算法GSA-master.zip
- 点云数据ply格式
- tensorflow 1.3 lstm训练和预测铁路客运数
- Tensorflow
- yolov1的tensorflow实现
- 基于Tensorflow实现BNBatch Normalization的代
- Tensorflow下构建LSTM模型
- PyQt5快速开发与实践
- Arcgis批量裁剪
- 利用tensorflow实现3DCNN
- Regression回归算法代码
- TensorFlow安装错误解决:ImportError: DL
- PyQt5系列教程(二)利用QtDesigner设计
- tensorflow-2.1.0-cp36-cp36m-win_amd64.whl
- tensorflow_gpu-2.1.0-cp37-cp37m-win_amd64.whl
- tensorflow的安装、图像识别应用、训练
- 简单贝叶斯实现垃圾邮件分类
- Opencv+Tensorflow入门人工智能处理无密完
- 运用ID3算法训练决策树
- BPNet多层网络学习算法可以实现有效的
- 文书网最新版getKey.js(获取vl5x值)
- djangol实现学生管理网站
- 基于西瓜书的聚类代码和介绍
- Sublime3护眼主题
- tensorflow下手写汉字识别及其可视化代
- tensorflow+inceptionv3网络
- tensorflow1.12.0+gpucuda 9.0
- tensorflow-2.1.0-cp37-cp37m-win_amd64.whl
- 12306爬虫源码
评论
共有 条评论