资源简介
亲测可以直接运行,先运行CNN训练神经网络,再运行predict进行花卉预测。
代码片段和文件信息
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from skimage import iotransform
import glob
import os
import tensorflow as tf
import numpy as np
import time
#数据集地址
path=‘C:\\Users\litan\Desktop\ise\CNN\elower_photos\elower_photos/‘
#模型保存地址
model_path=‘C:\\Users\litan\Desktop\ise\CNN\model.ckpt‘
#将所有的图片resize成100*100
w=100
h=100
c=3
#读取图片
def read_img(path):
cate=[path+x for x in os.listdir(path) if os.path.isdir(path+x)]
imgs=[]
labels=[]
for idxfolder in enumerate(cate):
for im in glob.glob(folder+‘/*.jpg‘):
print(‘reading the images:%s‘%(im))
img=io.imread(im)
img=transform.resize(img(wh))
imgs.append(img)
labels.append(idx)
return np.asarray(imgsnp.float32)np.asarray(labelsnp.int32)
datalabel=read_img(path)
#打乱顺序
num_example=data.shape[0]
arr=np.arange(num_example)
np.random.shuffle(arr)
data=data[arr]
label=label[arr]
#将所有数据分为训练集和验证集
ratio=0.8
s=np.int(num_example*ratio)
x_train=data[:s]
y_train=label[:s]
x_val=data[s:]
y_val=label[s:]
#-----------------构建网络----------------------
#占位符
x=tf.placeholder(tf.float32shape=[Nonewhc]name=‘x‘)
y_=tf.placeholder(tf.int32shape=[None]name=‘y_‘)
def inference(input_tensor train regularizer):
with tf.variable_scope(‘layer1-conv1‘):
conv1_weights = tf.get_variable(“weight“[55332]initializer=tf.truncated_normal_initializer(stddev=0.1))
conv1_biases = tf.get_variable(“bias“ [32] initializer=tf.constant_initializer(0.0))
conv1 = tf.nn.conv2d(input_tensor conv1_weights strides=[1 1 1 1] padding=‘SAME‘)
relu1 = tf.nn.relu(tf.nn.bias_add(conv1 conv1_biases))
with tf.name_scope(“layer2-pool1“):
pool1 = tf.nn.max_pool(relu1 ksize = [1221]strides=[1221]padding=“VALID“)
with tf.variable_scope(“layer3-conv2“):
conv2_weights = tf.get_variable(“weight“[553264]initializer=tf.truncated_normal_initializer(stddev=0.1))
conv2_biases = tf.get_variable(“bias“ [64] initializer=tf.constant_initializer(0.0))
conv2 = tf.nn.conv2d(pool1 conv2_weights strides=[1 1 1 1] padding=‘SAME‘)
relu2 = tf.nn.relu(tf.nn.bias_add(conv2 conv2_biases))
with tf.name_scope(“layer4-pool2“):
pool2 = tf.nn.max_pool(relu2 ksize=[1 2 2 1] strides=[1 2 2 1] padding=‘VALID‘)
with tf.variable_scope(“layer5-conv3“):
conv3_weights = tf.get_variable(“weight“[3364128]initializer=tf.truncated_normal_initializer(stddev=0.1))
conv3_biases = tf.get_variable(“bias“ [128] initializer=tf.constant_initializer(0.0))
conv3 = tf.nn.conv2d(pool2 conv3_weights strides=[1 1 1 1] padding=‘SAME‘)
relu3 = tf.nn.relu(tf.nn.bias_add(conv3 conv3_biases))
with tf.name_scope(“layer6-pool3“):
pool3 = tf.nn.max_pool(relu3 ksize=[1 2 2 1] strides=[1 2 2 1] padding=‘VALID‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-01 23:40 花卉识别\
文件 7558 2018-11-15 00:09 花卉识别\cnn.py
文件 112658 2019-01-15 23:04 花卉识别\model.ckpt.me
文件 2010 2018-11-15 01:11 花卉识别\predict.py
文件 116 2019-04-01 23:42 花卉识别\数据集下载地址.txt
相关资源
- SciHub神器,基于爬虫原理
- 机器学习-泰坦尼克号船员获救
- 基于Flask的留言板Demo
- tensorflow-2.3.0-cp37-cp37m-win_amd64.whl
- tensorflow麻将智能出牌源码
- PyCharm汉化后设置界面打不开完美解决
- QQLogin.ui
- django试题发布和测验
- PIL中文手册
- subdomain.txt
- 神经网络和深度学习—吴恩达 第三周
- 高斯过程回归与分类的程序与Gaussia
- 癫痫预测代码
- package control离线包
- 利用百度人脸识别API和pyqt5实现基于人
- xlwt-1.0.0-py2.py3-none-any.whl
- 天眼查爬虫亲测可以用
- ATM.zip 一个简单的ATM主要是熟悉对象的
- MachineLearning-相似度距离公式
- SendKeys-0.3_py27.exe
- requests 实现的 api 自动化测试框架
- Machine Learning Linear Regression-线性回归
- 动漫知识图谱代码及关系文件
- k-means训练
- 易班自动答题脚本全版
- opencv人脸识别源码
- 人脸识别--课堂点名
- ISLR和Hands-On Machine Learning with Scikit-L
- 贝叶斯分类器实现手写数字识别
- Hands-On Machine Learning with Scikit-Learn an
评论
共有 条评论