"...models/git@developer.sourcefind.cn:OpenDAS/vision.git" did not exist on "26e34735bc935b0d54588dc32358171390ab593b"
Unverified Commit 6f07af30 authored by Hubert's avatar Hubert Committed by GitHub
Browse files

[Feat] Support local runner for windows (#515)

parent df07391e
...@@ -146,9 +146,17 @@ class LocalRunner(BaseRunner): ...@@ -146,9 +146,17 @@ class LocalRunner(BaseRunner):
try: try:
task.cfg.dump(param_file) task.cfg.dump(param_file)
# Build up slurm command # Build up local command
tmpl = 'CUDA_VISIBLE_DEVICES=' + ','.join(str(i) for i in gpu_ids) import sys
tmpl += ' {task_cmd}' if sys.platform == 'win32': # Always return win32 for Windows
# use command in Windows format
tmpl = 'set CUDA_VISIBLE_DEVICES=' + ','.join(
str(i) for i in gpu_ids)
tmpl += ' & {task_cmd}'
else:
tmpl = 'CUDA_VISIBLE_DEVICES=' + ','.join(
str(i) for i in gpu_ids)
tmpl += ' {task_cmd}'
get_cmd = partial(task.get_command, get_cmd = partial(task.get_command,
cfg_path=param_file, cfg_path=param_file,
template=tmpl) template=tmpl)
......
...@@ -4,6 +4,7 @@ import os.path as osp ...@@ -4,6 +4,7 @@ import os.path as osp
import time import time
from collections import Counter from collections import Counter
from inspect import signature from inspect import signature
from shutil import which
from typing import Optional from typing import Optional
import mmengine import mmengine
...@@ -37,7 +38,8 @@ class OpenICLEvalTask(BaseTask): ...@@ -37,7 +38,8 @@ class OpenICLEvalTask(BaseTask):
def get_command(self, cfg_path, template): def get_command(self, cfg_path, template):
script_path = __file__ script_path = __file__
command = f'python3 {script_path} {cfg_path}' python = 'python3' if which('python3') else 'python'
command = f'{python} {script_path} {cfg_path}'
return template.format(task_cmd=command) return template.format(task_cmd=command)
def run(self): def run(self):
......
...@@ -2,6 +2,7 @@ import argparse ...@@ -2,6 +2,7 @@ import argparse
import os.path as osp import os.path as osp
import random import random
import time import time
from shutil import which
from typing import Any from typing import Any
from mmengine.config import Config, ConfigDict from mmengine.config import Config, ConfigDict
...@@ -48,7 +49,8 @@ class OpenICLInferTask(BaseTask): ...@@ -48,7 +49,8 @@ class OpenICLInferTask(BaseTask):
f'--nproc_per_node {self.num_procs} ' f'--nproc_per_node {self.num_procs} '
f'{script_path} {cfg_path}') f'{script_path} {cfg_path}')
else: else:
command = f'python {script_path} {cfg_path}' python = 'python3' if which('python3') else 'python'
command = f'{python} {script_path} {cfg_path}'
return template.format(task_cmd=command) return template.format(task_cmd=command)
......
import curses import sys
if sys.platform == 'win32': # Always return win32 for Windows
# curses is not supported on Windows
# If you want to use this function in Windows platform
# you can try `windows_curses` module by yourself
curses = None
else:
import curses
class Menu: class Menu:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment