python运用深度学习垃圾分类,acc达到98以上


[

导入库

%matplotlib inline
import yaml
import sys,time
import string
import json
from tensorflow.python.keras.models import model_from_json
from tensorflow.python.keras.models import model_from_yaml
import pylab
import warnings
warnings.filterwarnings('ignore')
import matplotlib.pyplot as plt
import PIL
import tensorflow as tf
import numpy as np
import os 
import scipy.io as io
from multiprocessing import Pool
from tensorflow.python.keras.callbacks import ModelCheckpoint,ReduceLROnPlateau,EarlyStopping
from tensorflow.python.keras.preprocessing import image
from PIL import Image
import matplotlib.image as mpimg
from tensorflow.python.keras.callbacks import TensorBoard
from tensorflow.python.keras import layers
from tensorflow.python.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split, KFold, cross_val_score
from tensorflow.python.keras.utils import np_utils
from tensorflow.python.keras.utils import to_categorical
from tensorflow.python.keras.initializers  import glorot_normal
from tensorflow.python.keras.applications import  resnet50
from tensorflow.python.keras.applications.xception  import Xception 
from tensorflow.python.keras.models import Model, Sequential,load_model
from tensorflow.python.keras.layers import Conv2D, SeparableConv2D, MaxPooling2D, GlobalAveragePooling2D,Flatten,AveragePooling2D,add,BatchNormalization,Convolution2D,ZeroPadding2D,Reshape,Activation, Dense,Lambda,Conv2D,MaxPool2D, Flatten, Dropout,MaxPooling2D,Dense,concatenate,GlobalAveragePooling2D
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.optimizers import Adam, RMSprop,Adagrad,Nadam,SGD
from tensorflow.python.keras import backend, initializers,regularizers,callbacks,Input,optimizers

训练集和测试集目录

train_dir = '/media/design/0D7907FA0D7907FA/数据集3/garbage_classify_v2/data/train/'
test_dir = '/media/design/0D7907FA0D7907FA/数据集3/garbage_classify_v2/data/test/'

数据预处理

Keras 用一个称为数据生成器(data-generator)输入数据到神经网络中,它将在整个数据上循环。
我们有一个小型的训练集所以它通过对图像进行各种变换来人为地增加它的数量。我们使用内置的数据生成器,可以进行这些随机转换。这也被称为数据增强。

datagen_train = ImageDataGenerator(
      rescale=1./255  ,
      #rotation_range=180,
      #width_shift_range=0.1,
      #height_shift_range=0.1,
      #shear_range=0.1,
      #zoom_range=[0.9, 1.5], 
      #horizontal_flip=True,
      #vertical_flip=True,
      #fill_mode='nearest'
datagen_test = ImageDataGenerator(rescale=1./255)

现在我们创建数据生成器的实例,它将从硬盘中读取文件,缩放图像并返回随机的批。

generator_train = datagen_train.flow_from_directory(directory=train_dir,
                                                    target_size=(299,299),
                                                    batch_size=batch_size,
                                                    shuffle=True,
                                                    class_mode='categorical',
                                                    save_to_dir=save_to_dir)
generator_test = datagen_test.flow_from_directory(directory=test_dir,
                                                  target_size=(299,299),
                                                  batch_size=batch_size,
                                                  class_mode='categorical',
                                                  shuffle=False)
cls_train = generator_train.classes
cls_test = generator_test.class_indices

generator_train.class_indices

画一些图像检测数据是否正确

在这里插入图片描述

建立模型: Xception-v3

在这里插入图片描述
40大类的验证结果为90多
在这里插入图片描述

训练后导入训练后的模型预测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后建立flask网页界面进行垃圾分类测试
在这里插入图片描述
在这里插入图片描述

评论 147
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tf_q568897492

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值