第J1周:ResNet50算法(Tensorflow版)

目标

具体实现

(一)环境

语言环境: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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值