Tensorflow中如何高效运用Pipeline进行数据优化与增强操作?

2026-04-30 18:331阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1009个文字,预计阅读时间需要5分钟。

Tensorflow中如何高效运用Pipeline进行数据优化与增强操作?

目录+安装方法+功能+高级用户部分+用例1,使用Keras创建数据Pipeline+用例2,验证创建数据Pipeline+初学者部分+Keras+兼容性+配置+增强:GridMask, MixUp, RandomErase, CutMix, Mosaic, CutMix+C,MixUp+M

目录
  • 安装方法
  • 功能
  • 高级用户部分
    • 用例1,为训练创建数据Pipeline
    • 用例2,为验证创建数据Pipeline
  • 初学者部分
    • Keras 兼容性
  • 配置
    • 增强:
      • GridMask
      • MixUp
      • RandomErase
      • CutMix
      • Mosaic
    • CutMix , CutOut, MixUp
      • Mosaic
      • Grid Mask

    安装方法

    给大家介绍一个非常好用的TensorFlow数据pipeline工具。

    高性能的Tensorflow Data Pipeline,使用SOTA的增强和底层优化。

    pip install tensorflow-addons==0.11.2 pip install tensorflow==2.2.0 pip install sklearn

    功能

    • High Performance tf.data pipline
    • Core tensorflow support for high performance
    • Classification data support
    • Bbox data support
    • Keypoints data support
    • Segmentation data support
    • GridMask in core tf2.x
    • Mosiac Augmentation in core tf2.x
    • CutOut in core tf2.x
    • Flexible and easy configuration
    • Gin-config support

    高级用户部分

    用例1,为训练创建数据Pipeline

    from pipe import Funnel from bunch import Bunch """ Create a Funnel for the Pipeline! """ # Config for Funnel config = { "batch_size": 2, "image_size": [512,512], "transformations": { "flip_left_right": None, "gridmask": None, "random_rotate":None, }, "categorical_encoding":"labelencoder" } config = Bunch(config) pipeline = Funnel(data_path="testdata", config=config, datatype="categorical") pipeline = pipeline.dataset(type="train") # Pipline ready to use, iter over it to use. # Custom loop example. for data in pipeline: image_batch , label_batch = data[0], data[1] # you can use _loss = loss(label_batch,model.predict(image_batch)) # calculate gradients on loss and optimize the model. print(image_batch,label_batch)

    用例2,为验证创建数据Pipeline

    from pipe import Funnel from bunch import Bunch """ Create a Funnel for the Pipeline! """ # Config for Funnel config = { "batch_size": 1, "image_size": [512,512], "transformations": { }, "categorical_encoding":"labelencoder" } config = Bunch(config) pipeline = Funnel(data_path="testdata", config=config, datatype="categorical", training=False) pipeline = pipeline.dataset(type="val") # use pipeline to validate your data on model. loss = [] for data in pipeline: image_batch , actual_label_batch = data[0], data[1] # pred_label_batch = model.predict(image_batch) # loss.append(calc_loss(actual_label_batch,pred_label_batch)) print(image_batch,label_batch)

    初学者部分

    Keras 兼容性

    使用keras model.fit来构建非常简单的pipeline。

    import tensorflow as tf from pipe import Funnel """ Create a Funnel for the Pipeline! """ config = { "batch_size": 2, "image_size": [100, 100], "transformations": { "flip_left_right": None, "gridmask": None, "random_rotate": None, }, "categorical_encoding": "labelencoder", } pipeline = Funnel(data_path="testdata", config=config, datatype="categorical") pipeline = pipeline.dataset(type="train") # Create Keras model model = tf.keras.applications.VGG16( include_top=True, weights=None,input_shape=(100,100,3), pooling=None, classes=2, classifier_activation='sigmoid' ) # compile model.compile(loss='mse', optimizer='adam') # pass pipeline as iterable model.fit(pipeline , batch_size=2,steps_per_epoch=5,verbose=1)

    配置

    • image_size- pipeline的图像尺寸。
    • batch_size- pipeline的Batch size。
    • transformations- 应用数据增强字典中的对应关键字。
    • categorical_encoding- 对类别数据进行编码 - ('labelencoder' , 'onehotencoder').

    增强:

    GridMask

    在输入图像上创建gridmask,并在范围内定义旋转。

    参数:

    ratio- 空间上的网格比例

    fill- 填充值fill value

    rotate- 旋转的角度范围

    MixUp

    使用给定的alpha值,将两个随机采样的图像和标签进行混合。

    参数:

    alpha- 在混合时使用的值。

    RandomErase

    在给定的图像上的随机位置擦除一个随机的矩形区域。

    参数:

    prob- 在图像上进行随机的概率。

    CutMix

    在给定图像上对另一个随机采样的图像进行随机的缩放,再以完全覆盖的方式贴到这个给定图像上。

    params:

    prob- 在图像上进行CutMix的概率。

    Mosaic

    把4张输入图像组成一张马赛克图像。

    参数:

    prob- 进行Mosaic的概率。

    Tensorflow中如何高效运用Pipeline进行数据优化与增强操作?

    CutMix , CutOut, MixUp

    Grid Mask

    以上就是Tensorflow高性能数据优化增强工具Pipeline使用详解的详细内容,更多关于Tensorflow数据工具Pipeline的资料请关注自由互联其它相关文章!

    本文共计1009个文字,预计阅读时间需要5分钟。

    Tensorflow中如何高效运用Pipeline进行数据优化与增强操作?

    目录+安装方法+功能+高级用户部分+用例1,使用Keras创建数据Pipeline+用例2,验证创建数据Pipeline+初学者部分+Keras+兼容性+配置+增强:GridMask, MixUp, RandomErase, CutMix, Mosaic, CutMix+C,MixUp+M

    目录
    • 安装方法
    • 功能
    • 高级用户部分
      • 用例1,为训练创建数据Pipeline
      • 用例2,为验证创建数据Pipeline
    • 初学者部分
      • Keras 兼容性
    • 配置
      • 增强:
        • GridMask
        • MixUp
        • RandomErase
        • CutMix
        • Mosaic
      • CutMix , CutOut, MixUp
        • Mosaic
        • Grid Mask

      安装方法

      给大家介绍一个非常好用的TensorFlow数据pipeline工具。

      高性能的Tensorflow Data Pipeline,使用SOTA的增强和底层优化。

      pip install tensorflow-addons==0.11.2 pip install tensorflow==2.2.0 pip install sklearn

      功能

      • High Performance tf.data pipline
      • Core tensorflow support for high performance
      • Classification data support
      • Bbox data support
      • Keypoints data support
      • Segmentation data support
      • GridMask in core tf2.x
      • Mosiac Augmentation in core tf2.x
      • CutOut in core tf2.x
      • Flexible and easy configuration
      • Gin-config support

      高级用户部分

      用例1,为训练创建数据Pipeline

      from pipe import Funnel from bunch import Bunch """ Create a Funnel for the Pipeline! """ # Config for Funnel config = { "batch_size": 2, "image_size": [512,512], "transformations": { "flip_left_right": None, "gridmask": None, "random_rotate":None, }, "categorical_encoding":"labelencoder" } config = Bunch(config) pipeline = Funnel(data_path="testdata", config=config, datatype="categorical") pipeline = pipeline.dataset(type="train") # Pipline ready to use, iter over it to use. # Custom loop example. for data in pipeline: image_batch , label_batch = data[0], data[1] # you can use _loss = loss(label_batch,model.predict(image_batch)) # calculate gradients on loss and optimize the model. print(image_batch,label_batch)

      用例2,为验证创建数据Pipeline

      from pipe import Funnel from bunch import Bunch """ Create a Funnel for the Pipeline! """ # Config for Funnel config = { "batch_size": 1, "image_size": [512,512], "transformations": { }, "categorical_encoding":"labelencoder" } config = Bunch(config) pipeline = Funnel(data_path="testdata", config=config, datatype="categorical", training=False) pipeline = pipeline.dataset(type="val") # use pipeline to validate your data on model. loss = [] for data in pipeline: image_batch , actual_label_batch = data[0], data[1] # pred_label_batch = model.predict(image_batch) # loss.append(calc_loss(actual_label_batch,pred_label_batch)) print(image_batch,label_batch)

      初学者部分

      Keras 兼容性

      使用keras model.fit来构建非常简单的pipeline。

      import tensorflow as tf from pipe import Funnel """ Create a Funnel for the Pipeline! """ config = { "batch_size": 2, "image_size": [100, 100], "transformations": { "flip_left_right": None, "gridmask": None, "random_rotate": None, }, "categorical_encoding": "labelencoder", } pipeline = Funnel(data_path="testdata", config=config, datatype="categorical") pipeline = pipeline.dataset(type="train") # Create Keras model model = tf.keras.applications.VGG16( include_top=True, weights=None,input_shape=(100,100,3), pooling=None, classes=2, classifier_activation='sigmoid' ) # compile model.compile(loss='mse', optimizer='adam') # pass pipeline as iterable model.fit(pipeline , batch_size=2,steps_per_epoch=5,verbose=1)

      配置

      • image_size- pipeline的图像尺寸。
      • batch_size- pipeline的Batch size。
      • transformations- 应用数据增强字典中的对应关键字。
      • categorical_encoding- 对类别数据进行编码 - ('labelencoder' , 'onehotencoder').

      增强:

      GridMask

      在输入图像上创建gridmask,并在范围内定义旋转。

      参数:

      ratio- 空间上的网格比例

      fill- 填充值fill value

      rotate- 旋转的角度范围

      MixUp

      使用给定的alpha值,将两个随机采样的图像和标签进行混合。

      参数:

      alpha- 在混合时使用的值。

      RandomErase

      在给定的图像上的随机位置擦除一个随机的矩形区域。

      参数:

      prob- 在图像上进行随机的概率。

      CutMix

      在给定图像上对另一个随机采样的图像进行随机的缩放,再以完全覆盖的方式贴到这个给定图像上。

      params:

      prob- 在图像上进行CutMix的概率。

      Mosaic

      把4张输入图像组成一张马赛克图像。

      参数:

      prob- 进行Mosaic的概率。

      Tensorflow中如何高效运用Pipeline进行数据优化与增强操作?

      CutMix , CutOut, MixUp

      Grid Mask

      以上就是Tensorflow高性能数据优化增强工具Pipeline使用详解的详细内容,更多关于Tensorflow数据工具Pipeline的资料请关注自由互联其它相关文章!