Windows cmd 的 echo 替代品是什么?



我想覆盖"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}%

最新更新