资源简介
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+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
- python 名字用字排行
评论
共有 条评论