我想覆盖"comp1";通过将参数传递到"文件夹"中的主文件;部件";文件夹,因此需要一些机制来传递重写参数。
我以前在wsl2中运行过它,它很有效。我希望它能在windows cmd中工作,因此需要一些变通方法或echo的替代方法才能将覆盖参数传递到主文件。
正在添加项目文件夹结构以供参考:文件夹组件1文件夹comp1
添加MLproject文件(用于wsl2(以供参考:
name: KNN
conda_env: conda.yml
entry_points:
main:
parameters:
hydra_options:
description: Hydra parameters to override
type: str
default: ''
command: >-
python main.py $(echo {hydra_options})
我尝试过在windows中使用set命令为override params分配一个变量(通过cmd传递(,然后使用它与python main.py文件连接,以合并hydra override参数,但它似乎不起作用。
添加以供参考:
name: KNN_main
conda_env: conda.yml
entry_points:
main:
parameters:
hydra_options:
description: Hydra values to override
type: str
default: " "
command: >-
@echo off
set command = "python main.py" and %{hydra_options}%
echo %command%
技术堆栈:MLflow==1.29.0 Hydra==1.2.0
操作系统:Windows 10
根据这个答案,您不应该在set
命令中的=
前后放置空格。
如果你把MLproject改写成
name: KNN_main
conda_env: conda.yml
entry_points:
main:
parameters:
hydra_options:
description: Hydra values to override
type: str
default: " "
command: >-
@echo off
set command="python main.py %{hydra_options}%"
echo %command%
此外,我不确定,但我认为你不需要echo
,这个命令会起作用。
command: >-
python main.py %{hydra_options}%