资源简介
1、基于tensorflow作为后台框架
2、使用keras作为前端
3、使用google inceptionV3作为训练模型
4、训练结果保存为h5
5、使用opencv for python拉流摄像头识别火焰
代码片段和文件信息
# 以下三行禁用GPU使用CPU进行训练
# import os
# os.environ[“CUDA_DEVICE_ORDER“] = “PCI_BUS_ID“
# os.environ[“CUDA_VISIBLE_DEVICES“] = “-1“
from tensorflow import keras
from keras.applications.inception_v3 import InceptionV3
import numpy as np
from keras.preprocessing.image import ImageDataGenerator
from keras import models
from keras import layers
import os
from keras import optimizers
from keras.utils import to_categorical
import matplotlib.pyplot as plt
from keras.preprocessing.image import ImageDataGenerator
from keras.applications.inception_v3 import InceptionV3preprocess_input
from keras.layers import GlobalAveragePooling2DDenseDropout
from keras.models import Model
from keras.utils.vis_utils import plot_model
from keras.optimizers import Adagrad
# 回调函数,每个训练批次调用一次
from keras.callbacks import ModelCheckpoint
# 动物数据预处理
imgdata_dir = ‘E:/fireimages/sources1‘
# 不使用数据增强
img_datagen = ImageDataGenerator(rescale=1./255)
mbatch_size = 20
# 使用数据增强
# train_datagen = ImageDataGenerator(rescale=1./255 rotation_range=30. width_shift_range=0.2 height_shift_range=0.2 shear_range=0.2 zoom_range=0.2 horizontal_flip=True)
# val_datagen = ImageDataGenerator(rescale=1./255 rotation_range=30. width_shift_range=0.2 height_shift_range=0.2 shear_range=0.2 zoom_range=0.2 horizontal_flip=True)
# 使用迭代器生成图片张量
img_generator = img_datagen.flow_from_directory(imgdata_dir target_size=(320 320) batch_size=mbatch_size class_mode=‘binary‘)
# 获取照片数量
img_count = img_generator.n
# print(img_generator.n)
# print(len(img_generator.labels))
print(img_count / 5)
img_cut = int(img_count / 5)
print(img_cut)
# 提取数据,因为构造器生成的数据标签是一维向量我们要分类10种不同的类型,所以需要将数据提取出来,并将标签one-hot
labels = []
datas = np.zeros((img_count 320 320 3))
for i in range(len(img_generator)):
aa = img_generator.next()
labels = np.hstack((labels aa[1]))
for j in range(len(aa[1])):
datas[mbatch_size * i + j] = aa[0][j]
train_datas = datas[img_cut:]
train_labels = labels[img_cut:]
val_datas = datas[:img_cut]
val_labels = labels[:img_cut]
# print(resnet_base.summary())
# model = models.Sequential()
‘‘‘
resnet_base.trainable = False
flag = False
for layer in resnet_base.layers:
if layer.name == ‘res5c_branch2a‘:
flag = True
if flag:
layer.trainable = True
‘‘‘
‘‘‘
setup_to_transfer_learning(modelbase_model)
history_tl = model.fit(train_data train_labels epochs=10 validation_data=(val_data val_labels))
model.save(‘E:/KaggleDatas/idenprof-jpg/idenprof/flowers17_iv3_tl.h5‘)
setup_to_fine_tune(modelbase_model)
history_ft = model.fit(train_data train_labels epochs=10 validation_data=(val_data val_labels))
model.save(‘E:/KaggleDatas/idenprof-jpg/idenprof/flowers17_iv3_ft.h5‘)
‘‘‘
‘‘‘
setup_to_transfer_learning(modelbase_model)
history_tl = model.fit_generator(generator=train_generator
epochs=5
validation_data=val_generator
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
I.A.... 3164 2020-07-05 21:32 firefinder-ocv-auto.py
I.A.... 5979 2020-07-05 09:55 firefinder-inceptionV3-1.py
----------- --------- ---------- ----- ----
9143 2
相关资源
- python新手算法函数思想入门项目,包
- 已知空间坐标和对应的属性,利用p
- 小甲鱼pythons视频+课件+源代码(96天)
- 找出最长的句子最长的单词
- 如何封装一个带传参的python程序成可
- 疯狂的python学习笔记
- wxPython写的类似qq截图的小程序
- Python3.6.4+Django2.0.2 单表的增删改查和
- python三边定位模块
- Python帮助手册CHM版
- MIC数据关联性挖掘算法Python源码
- 船舶AIS数据轨迹可视化python代码.rar
- python mysql 简单银行存取款转账系统
- 麦子学院Python全套视频.txt
- python多线程批量端口扫描
- [麻省理工-计算机科学及编程导论][
- python视频教程 老男孩全栈工程师教程
- 读取ros包中rgb和depth图,python代码
- python爬取亚马逊排名
- Python数据分析与机器学习-Python库分析
- 20newsgroup python分类聚类
- 决策树DecisionTree项目python代码实现
- (完整版)python考试复习题库.pdf
- linux 串口模拟 python脚本
- Python安卓QQ5.8协议源码
- Python二级模拟试题
- 《疯狂Python讲义》习题答案.rar
- Python零基础10天进阶班.docx
- Python数据科学指南_Code.zip
- Anaconda历史版本Python3.6版本.zip
评论
共有 条评论