深度学习11-tf.data详解以及猫狗图片分类实战

本文介绍了深度学习中TensorFlow的Dataset类操作,包括flat_map、interleave等方法,探讨了提升数据读取性能的策略,如prefetch、interleave的并行处理和map的多进程执行,还详细讲解了如何利用cache方法处理小数据集。此外,通过猫狗图片分类的实战案例,阐述了图像分类问题的应用,并展示了性能优化的代码示例。
摘要由CSDN通过智能技术生成


在这里插入图片描述

1.Dataset类相关操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
flat_map()
在这里插入图片描述
interleave使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.如何提升Dataset的读取性能

在这里插入图片描述
在这里插入图片描述

1)prefetch方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)interleave方法

在这里插入图片描述
在这里插入图片描述
加粗样式

3)map多进程执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4)cache方法-小数据集

在这里插入图片描述
在这里插入图片描述

5)性能优化代码演示
import tensorflow as tf
import time
import os
print(tf.__version__)
data_dir = './datasets'
train_cats_dir = data_dir + '/train/cats/'
train_dogs_dir = data_dir + '/train/dogs/'
test_cats_dir = data_dir + '/valid/cats/'
test_dogs_dir = data_dir + '/valid/dogs/'


# 构建训练数据集
train_cat_filenames = tf.constant([train_cats_dir + filename for filename in os.listdir(train_cats_dir)][:1000])
train_dog_filenames = tf.constant([train_dogs_dir + filename for filename in os.listdir(train_dogs_dir)][:1000])
train_filenames = tf.concat([train_cat_filenames, train_dog_filenames], axis=-1)
train_labels = tf.concat([
    tf.zeros(train_cat_filenames.shape, dtype=tf.int32), 
    tf.ones(train_dog_filenames.shape, dtype=tf.int32)], 
    axis=-1)

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值