TensorFlow2.x在构建模型和总体使用方面提供了很多便利。那么,在tf中有什么新功能?
使用Keras轻松进行模型构建;
在任何平台上的生产中都可以进行稳健的模型部署;
强大的研究实验;
通过清理不推荐使用的API来简化各个步骤
在本文中,我们将探索TF 2.0的10个功能,这些功能让TensorFlow的使用更加顺畅,减少了代码行并提高了效率,因为这些函数/类属于TensorFlow API。
1.用于构建输入管道的tf.data API
tf.data API提供了用于数据管道和相关操作的功能。 我们可以构建管道,映射预处理功能,洗牌或批量处理数据集等等。
利用张量构建管道
》》》 dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1])
》》》 iter(dataset).next().numpy()
8
洗牌和批量处理数据集
# Shuffle
》》》 dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]).shuffle(6)
》》》 iter(dataset).next().numpy()
0
# Batch
》》》 dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]).batch(2)
》》》 iter(dataset).next().numpy()
array([8, 3], dtype=int32)
# Shuffle and Batch
》》》 dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]).shuffle(6).batch(2)
》》》 iter(dataset).next().numpy()
array([3, 0], dtype=int32)
压缩两个数据集
》》》 dataset0 = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1])
》》》 dataset1 = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6])
》》》 dataset = tf.data.Dataset.zip((dataset0, dataset1))
》》》 iter(dataset).next()
(, )
映射外部函数
def into_2(num):
return num * 2
》》》 dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]).map(into_2)
》》》 iter(dataset).next().numpy()
16
2. 图像数据生成器
这是tensorflow.keras API的最佳特性之一(在我看来)。图像数据生成器能够在批处理和预处理过程中生成数据集切片,并实时进行数据扩充。
生成器允许直接从目录或数据帧进行数据流。
对图像数据生成器中的数据扩充的一个误解是,它向现有的数据集中添加了更多的数据。虽然这是数据增强的实际定义,但在图像数据生成器中,数据集中的图像在训练过程中会在不同的步骤进行动态转换,这样模型就可以在没有看到的噪声数据上进行训练。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !