您现在的位置是:首页 >技术交流 >【ubuntu下验证下菜品识别,训练,部署,验证 CNN + TensorFlow / PyTorch】网站首页技术交流

【ubuntu下验证下菜品识别,训练,部署,验证 CNN + TensorFlow / PyTorch】

追心嵌入式 2025-02-20 12:01:02
简介【ubuntu下验证下菜品识别,训练,部署,验证 CNN + TensorFlow / PyTorch】

下来我会详细介绍如何在 Ubuntu 上运行你训练和部署的 菜品识别模型,确保每一步都能理解并能在你的系统中运行。

  1. 环境准备
    1.1 安装必要的软件
    在 Ubuntu 上,首先需要安装 Python 和相关的依赖库:

更新系统: 打开终端,运行以下命令:

bash

sudo apt update && sudo apt upgrade -y
安装 Python 及 pip:

确保你的系统已经安装了 Python 3 和 pip,如果没有,可以使用以下命令安装:

bash

sudo apt install python3 python3-pip
安装 TensorFlow 和其他依赖:

使用 pip 来安装 TensorFlow 和其他必需的库:

bash

pip3 install tensorflow numpy matplotlib pillow scikit-learn
如果你有 GPU,确保你已经安装了 CUDA 和 cuDNN。你可以参考 TensorFlow GPU 安装文档 来完成这一步。

  1. 数据准备
    2.1 下载数据集
    你可以使用 Food-101 数据集,它包含 101 类菜品的图像。首先,下载并解压这个数据集:

下载数据集:

bash

wget https://data.vision.ee.ethz.ch/cvl/food-101.tar.gz
解压数据集:

bash

tar -xvzf food-101.tar.gz
解压后的文件夹将是 food-101,其中包含 train 和 test 文件夹,分别用于训练和验证。

2.2 数据预处理
在 TensorFlow 中,你可以使用 ImageDataGenerator 来处理和增强数据。以下是处理图像数据的代码:

python

import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator

# 设置训练和验证数据集路径
train_dir = "food-101/train"
val_dir = "food-101/test"

# 定义数据预处理和增强方法
train_datagen = ImageDataGenerator(
    rescale=1./255,  # 归一化图像
    rotation_range=20,  # 随机旋转
    width_shift_range=0.2,  # 水平平移
    height_shift_range=0.2,  # 垂直平移
    shear_range=0.2,  # 剪切变换
    zoom_range=0.2,  # 随机缩放
    horizontal_flip=True,  # 水平翻转
    fill_mode="nearest"  # 填充方式
)

val_datagen = ImageDataGenerator(rescale=1./255)

# 加载并进行数据生成
train_generator = train_datagen.flow_from_directory(
    train_dir,
    target_size=(150, 150),  # 统一大小
    batch_size=32,  # 每批次32张图片
    class_mode="categorical"  # 分类任务
)

val_generator = val_datagen.flow_from_directory(
    val_dir,
    target_size=(
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。