小程序版基于python-CNN卷积神经网络的水果识别-含数据集

代码下载:

https://download.csdn.net/download/qq_34904125/89447904

本代码是基于python pytorch环境安装的。

下载本代码后,有个环境安装的requirement.txt文本,环境需要自行配置。

或可直接参考下面博文进行环境安装。

深度学习小程序版环境安装-CSDN博客

安装好环境之后,

代码需要依次运行 01数据集文本生成制作.py

02深度学习模型训练.py

和03flask_服务端.py

数据集介绍,下载本资源后,界面如下:

数据集文件夹存放了本次识别的各个类别图片。

本代码对数据集进行了预处理,包括通过在较短边增加灰边,使得图片变为正方形(如果图片原本就是正方形则不会增加灰边),和旋转角度,来扩增增强数据集,

运行01数据集文本制作.py文件,会就读取数据集下每个类别文件中的图片路径和对应的标签

运行02深度学习模型训练.py就会将txt文本中记录的训练集和验证集进行读取训练,训练好后会保存模型在本地

训练完成之后会有log日志保存本地,里面记录了每个epoch的验证集损失值和准确率。

运行03flask_服务端.py就可以生成与小程序交互的url了

然后需要我们运行微信开发者工具,如果之前没有下载过,则需要在电脑网页上,搜微信开发者工具进行下载。

安装完成之后,双击打开,在导入目录中导入我们代码中的小程序部分

最后点击按钮加载图片即可实现电脑上的小程序识别功能

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个简单的基于CNN水果识别Python文件示例: ```python # 导入必要的库 import numpy as np import pandas as pd import tensorflow as tf from sklearn.model_selection import train_test_split from tensorflow.keras.utils import to_categorical from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Conv2D, Flatten, MaxPooling2D, Dropout import cv2 import os # 定义图像大小和类别数 IMG_HEIGHT = 100 IMG_WIDTH = 100 NUM_CLASSES = 5 # 加载数据集 def load_data(): data = [] labels = [] for fruit_class in os.listdir("fruits/"): for image_name in os.listdir("fruits/" + fruit_class): image = cv2.imread("fruits/" + fruit_class + "/" + image_name) image = cv2.resize(image, (IMG_HEIGHT, IMG_WIDTH)) data.append(image) labels.append(fruit_class) data = np.array(data) labels = pd.get_dummies(labels).values return data, labels # 数据预处理 def preprocess_data(data, labels): data = data.astype('float32') / 255.0 x_train, x_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, random_state=42) y_train = to_categorical(y_train, NUM_CLASSES) y_test = to_categorical(y_test, NUM_CLASSES) return x_train, x_test, y_train, y_test # 定义CNN模型 def create_model(): model = Sequential([ Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH, 3)), MaxPooling2D(pool_size=(2, 2)), Conv2D(64, kernel_size=(3, 3), activation='relu'), MaxPooling2D(pool_size=(2, 2)), Flatten(), Dense(128, activation='relu'), Dropout(0.5), Dense(NUM_CLASSES, activation='softmax') ]) model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) return model # 加载数据集 data, labels = load_data() # 数据预处理 x_train, x_test, y_train, y_test = preprocess_data(data, labels) # 定义模型并进行训练 model = create_model() model.fit(x_train, y_train, batch_size=32, epochs=10, validation_data=(x_test, y_test)) # 保存模型 model.save("fruit_classification_cnn.h5") ``` 这份代码实现了基于CNN的水果分类任务。具体来说,它首先加载数据集,然后对图像进行预处理,接着定义CNN模型并进行训练。最后,将训练好的模型保存到文件中。您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

bug生成中

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值