3.2 pipeline syntax 2

本文详细介绍了GitLab CI/CD中的pipeline语法,包括tags、allow_failure、when、retry、timeout和parallel等关键概念。tags用于选择特定Runner,allow_failure允许作业失败但不影响整体流程,when决定作业执行条件,retry配置失败重试,timeout设定作业超时时间,parallel则实现了作业的并行执行。这些知识点结合实例,帮助读者深入理解GitLab持续集成系统的配置和使用。

tags/allow_failure/when/retry/timeout/parallel

tags

用于从允许运行该项目的所有Runner列表中选择特定的Runner,在Runner注册期间,您可以指定Runner的标签。

tags可让您使用指定了标签的runner来运行作业,此runner具有ruby和postgres标签。

job:
  tags:
    - ruby
    - postgres

给定带有osx标签的OS X Runner和带有windows标签的Windows Runner,以下作业将在各自的平台上运行。

windows job:
  stage:
    - build
  tags:
    - windows
  script:
    - echo Hello, %USERNAME%!

osx job:
  stage:
    - build
  tags:
    - osx
  script:
    - echo "Hello, $USER!"

 


allow_failure

allow_failure允许作业失败,默

### MMAction2 Pipeline 配置详解 #### 一、Pipeline 的基本概念 在MMAction2 中,pipeline 是用于处理输入数据的一系列操作集合。这些操作可以包括读取视频帧、裁剪、缩放、颜色变换等预处理步骤以及后续的数据增强方法[^1]。 #### 二、Pipeline 定义方式 Pipelines 在配置文件中定义,通常位于`configs/_base_/datasets/`路径下的不同子模块内。每个 pipeline 被表示为 Python 字典列表的形式,其中字典键对应于特定的操作名称,而值则包含了该操作所需的参数设置。 例如,在检测任务中的一个简单 pipeline 如下所示: ```python train_pipeline = [ dict(type='SampleFrames', clip_len=8, frame_interval=8, num_clips=1), dict(type='RawFrameDecode'), dict(type='Resize', scale=(-1, 256)), ... ] ``` 上述代码片段展示了如何构建一个训练阶段使用的 pipeline ,它会按照顺序依次应用采样帧、解码原始图像、调整大小等一系列转换过程。 #### 三、常用 Pipeline 组件说明 - **SampleFrames**: 对应于从整个视频序列里随机抽取指定长度(clip_len)和间隔(frame_interval)的连续帧作为样本。 - **RawFrameDecode**: 将抽取出的帧索引转化为实际加载到内存里的图片对象。 - **Resize**, **CenterCrop**, **RandomResizedCrop** 等: 实现对单张或多张图片的空间维度上的几何变化; - **Flip**, **ColorJittering**, **Normalize** : 提供多种常见的色彩空间内的像素级扰动手段来增加模型泛化能力; - **FormatShape**: 把经过前面所有 transform 后得到的结果整理成适合送入网络计算的标准 tensor 形状格式。 #### 四、自定义 Pipeline 对于特殊需求的应用场景来说,可能需要创建新的 transformation 类型或者修改现有组件的行为逻辑。此时可以通过继承 `mmcv.transforms.BaseTransform` 并实现 `_transform_data()` 方法来自定义所需功能。 ```python from mmcv.transforms import BaseTransform class MyCustomTransform(BaseTransform): def __init__(self, param_a=None, param_b=None): super().__init__() self.param_a = param_a self.param_b = param_b def _transform_data(self, results): # 自定义转换逻辑 pass return results ``` 之后只需将此类实例加入到对应的 pipeline 列表即可生效。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huainian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值