卷积神经网络实战一 水果分类

主要环境配置

win10,pycharm
Python3.6
keras2.2.0
numpy1.16.0
pillow8.1.1
scipy1.5.4
tensorflow-gpu1.11.0
先使用自己的配置,没有问题的话就不用更改

数据介绍

Fruits 360
A dataset with 90483 images of 131 fruits and vegetables
每张图片:100x100,真彩(3通道)

数据获取

数据来自于网上公开数据集
https://www.kaggle.com/moltean/fruits

或者,数据及源码:(源码包括两种方式编写的经典卷积神经网络LeNet-5模型)
链接:https://pan.baidu.com/s/1iKSZTu4cPM8d-VxnH4Xx8A
提取码:06wk

另外,人工智能入门四件套免费分享(统计学习方法、机器学习、机器学习实战、深度学习)
链接:https://pan.baidu.com/s/1kG3cRvto75krhjz1Ow4ANw 提取码:b8r1

库引用

import os
from skimage import io
import numpy as np
from sklearn.utils import shuffle
import keras
import tensorflow as tf

数据载入

原来的数据集有131种分类,为了节省训练时间方便学习,分别建了一个用于训练和测试的文件夹,把想要训练的分类从原数据文件夹拷到里面

dir_path1 = 'fruits-360/Training1'
dir_path2 = 'fruits-360/Test1'
#读取数据
def load_data(dir_path):
    images = []
    labels = []
    file = os.listdir(dir_path)  #返回一个列表:包含dir_path里的文件名,即分类
    n_classes = len(file)        #分类数量
    n = 0
    for l in file:
        img = os.listdir(dir_path+'/'+ l)
        for i in img:
            img_path = dir_path+'/'+ l+'/'+ i
            labels.append(int(n))
            images.append(io.imread(img_path))
        n += 1
    return images,labels,n_classes

images,labels,n_classes = load_data(dir_path1)
images_test,labels_test,_ = load_data(dir_path2)
print("种类:",n_classes)

数据预处理

仅进行数组化,打乱顺序,标签转换为独热编码

#数据预处理:
def data_processing(images,labels,n_classes):
    train_x = np.array(images)
    train_y = np.array(labels)
    indx = np.arange(0,train_y
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值