diff --git a/clearml/backend_interface/task/task.py b/clearml/backend_interface/task/task.py index 9690afc4..b58b7cff 100644 --- a/clearml/backend_interface/task/task.py +++ b/clearml/backend_interface/task/task.py @@ -307,12 +307,15 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): def _auto_generate(self, project_name=None, task_name=None, task_type=TaskTypes.training): created_msg = make_message('Auto-generated at %(time)s UTC by %(user)s@%(host)s') - if task_type.value not in (self.TaskTypes.training, self.TaskTypes.testing) and \ + if isinstance(task_type, self.TaskTypes): + task_type = task_type.value + + if task_type not in (self.TaskTypes.training.value, self.TaskTypes.testing.value) and \ not Session.check_min_api_version('2.8'): print('WARNING: Changing task type to "{}" : ' 'clearml-server does not support task type "{}", ' - 'please upgrade clearml-server.'.format(self.TaskTypes.training, task_type.value)) - task_type = self.TaskTypes.training + 'please upgrade clearml-server.'.format(self.TaskTypes.training, task_type)) + task_type = self.TaskTypes.training.value project_id = None if project_name: @@ -322,7 +325,7 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): extra_properties = {'system_tags': tags} if Session.check_min_api_version('2.3') else {'tags': tags} req = tasks.CreateRequest( name=task_name or make_message('Anonymous task (%(user)s@%(host)s %(time)s)'), - type=tasks.TaskTypeEnum(task_type.value), + type=tasks.TaskTypeEnum(task_type), comment=created_msg, project=project_id, input={'view': {}}, diff --git a/clearml/cli/task/__main__.py b/clearml/cli/task/__main__.py index 7112f557..7a6964fb 100644 --- a/clearml/cli/task/__main__.py +++ b/clearml/cli/task/__main__.py @@ -3,6 +3,7 @@ from argparse import ArgumentParser from pathlib2 import Path from clearml import Task +from clearml.version import __version__ from clearml.backend_interface.task.populate import CreateAndPopulate @@ -12,7 +13,7 @@ def setup_parser(parser): parser.add_argument('--project', type=str, default=None, help='Required: set the project name for the task. ' 'If --base-task-id is used, this arguments is optional.') - parser.add_argument('--name', type=str, default=None, required=True, + parser.add_argument('--name', type=str, default=None, help='Required: select a name for the remote task') parser.add_argument('--repo', type=str, default=None, help='remote URL for the repository to use. ' @@ -80,10 +81,12 @@ def cli(): args = parser.parse_args() if args.version: - from ...version import __version__ print('Version {}'.format(__version__)) exit(0) + if not args.name: + raise ValueError("Task name must be provided, use `--name `") + if args.docker_bash_setup_script and Path(args.docker_bash_setup_script).is_file(): with open(args.docker_bash_setup_script, "r") as bash_setup_script_file: bash_setup_script = bash_setup_script_file.readlines()