- 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
- 🍖 原作者:K同学啊
目标
具体实现
(一)环境
语言环境:Python 3.10
编 译 器: PyCharm
框 架: TensorFlow
(二)具体步骤
import numpy as np
import tensorflow as tf
from tensorflow.python.data import AUTOTUNE
# 设置GPU
# 获取当前系统中所有可用的物理GPU设备
gpus = tf.config.list_physical_devices("GPU")
# 如果系统中存在GPU设备
if gpus:
# 设置第一个GPU设备的内存增长模式为动态增长,以避免一次性占用所有显存
tf.config.experimental.set_memory_growth(gpus[0], True)
# 设置当前可见的GPU设备为第一个GPU,确保程序仅使用该GPU进行计算
tf.config.set_visible_devices([gpus[0]], "GPU")
# 导入数据
import matplotlib.pyplot as plt
import os, PIL, pathlib
from tensorflow import keras
from tensorflow.keras import layers, models
# 设置matplotlib的字体为SimHei,以支持中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
# 设置matplotlib的负号显示为正常符号,避免显示为方块
plt.rcParams['axes.unicode_minus'] = False
# 定义数据目录路径
data_dir = "./data/bird_photos"
# 将路径转换为pathlib.Path对象,方便后续操作
data_dir = pathlib.Path(data_dir)
# 使用glob方法获取所有子目录下的jpg文件,并计算其数量
image_count = len(list(data_dir.glob('*/*.jpg')))
# 打印图片数量
print("图片数量:",image_count)
# 数据预处理
# 定义批量大小和图像尺寸
batch_size = 8
img_height = 224
img_width = 224
# 使用 `tf.keras.preprocessing.image_dataset_from_directory` 从指定目录加载训练数据集
# 参数说明:
# - data_dir: 包含图像数据的目录路径
# - validation_split: 用于验证集的数据比例,此处为20%
# - subset: 指定加载的数据子集,此处为训练集
# - seed: 随机种子,确保数据分割的可重复性
# - image_size: 图像将被调整到的尺寸,此处为224x224
# - batch_size: 每个批次的图像数量,此处为8
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="training",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
# 使用 `tf.keras.preprocessing.image_dataset_from_directory` 从指定目录加载验证数据集
# 参数说明与训练集相同,但 `subset` 参数指定为验证集
val_ds = tf.keras.preprocessing.image_dataset_from_directory(
data_dir,
validation_split=0.2,
subset="validation",
seed=123,
image_size=(img_height, img_width),
batch_siz

最低0.47元/天 解锁文章
8845

被折叠的 条评论
为什么被折叠?



