代码行首_base_ = ‘../../../_base_/default_runtime.py‘

_base_ = '../../../_base_/default_runtime.py'

第一个 ../ 表示移动到posec3d/目录,第二个../ 表示移动到configs/skeleton/目录
第三个../ 表示移动到configs/目录

  • configs/skeleton/posec3d/rgbpose_conv3d/rgbpose_conv3d.py 中的rgbpose_conv3d.py 文件位于 configs/skeleton/posec3d/rgbpose_conv3d/ 这个目录下。

也就是说,rgbpose_conv3d.py 所在的当前目录是 rgbpose_conv3d/

在 configs/skeleton/posec3d/rgbpose_conv3d/rgbpose_conv3d.py 这个路径中:

  • ./ 表示当前目录 rgbpose_conv3d/

所以, ./ 相当于移动到了 rgbpose_conv3d/ 目录下。

configs/base/default_runtime.py这样的话相当于default_runtime.py这个模块大家各个不同的模型可以共用

用 configs/_base_/default_runtime.py 这种相对路径来引用 default_runtime.py 模块,确实能够让不同的模型配置文件共用这个公共的运行时配置。

这种做法有几个好处:

  1. 提高了配置文件的复用性和可维护性。不同模型可以共享一些通用的运行时设置,减少了重复定义的工作。

  2. 方便后续对默认运行时配置进行统一管理和修改。只需要在 configs/_base_/default_runtime.py 中更新,所有使用它的模型配置就能一并受益。

  3. 增强了整个项目的模块化和解耦性。不同模型可以专注于自身的网络结构和训练参数,而无需过多关注通用的运行时设置。

  4. 提高了配置文件的可读性和可理解性。将通用的设置集中管理,使得各个模型的配置文件更加简洁明了。

总的来说,这种基于相对路径的模块化配置方式,体现了良好的软件设计原则,值得在实际项目中广泛应用。它不仅提高了代码的可维护性,也增强了整个系统的灵活性和扩展性。

其实简单来说这样做的目的就是为了避免重复,减少重复使用,能共用的当然可以共享使用

是类似于把default_runtime.py里面的内容赋值给变量_base_吗?

_base_ = '../../../_base_/default_runtime.py' 这行代码的作用就是将 default_runtime.py 文件中的内容赋值给变量 _base_

具体来说:

  1. '../../../_base_/default_runtime.py' 是一个相对路径,指向了 default_runtime.py 文件的位置。

  2. 当读取到这一行代码时,它会自动去加载 default_runtime.py 文件,并将其中的所有内容赋值给变量 _base_

  3. 这样一来,_base_ 变量就相当于包含了 default_runtime.py 文件中所有的配置项。

  4. 在当前的配置文件中,我们可以直接使用 _base_ 中的配置项,而无需重复定义它们。

这种做法可以帮助我们更好地管理和组织配置文件,提高配置的复用性和可维护性。通过引入基础配置文件,我们可以将通用设置与具体模型配置分离,使得整个配置结构更加清晰和模块化。

核心:通用配置和具体模型配置分离

mmaction2/configs/skeleton/posec3d/rgbpose_conv3d/rgbpose_conv3d.py at main · open-mmlab/mmaction2 · GitHub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值