Question about the task and queue in the clearml SDK.
There are three machine, machine A(running the clearml server), machine B (Linux, target machine to run task), machine C(windows, my woring machine). B and C already installed clearml-agent.
I want to run train.py at the remote target machine B, my steps is: first open the train.py with Visual Studio Code in machine C and
run the train.py directly in Visual Studio Code and the part of the train.py like(I already created the queue SmokeQueue):
if __name__ == '__main__':
task = Task.init(project_name='SmokeProject', task_name='Tran_Smoke')
Task.enqueue(task, "SmokeQueue")
opt = parse_opt()
main(opt)
And I got the error:
PS E:\Dev\Source\ultralytics\yolov5> & "C:/Program Files/Python37/python.exe" e:/Dev/Source/ultralytics/yolov5/train.py
ClearML Task: overwriting (reusing) task id=a33b2e6841884278a6501621024fdb83
ClearML results page:
Traceback (most recent call last):
File "e:/Dev/Source/ultralytics/yolov5/train.py", line 643, in <module>
Task.enqueue(task, "SmokeQueue")
File "C:\Program Files\Python37\lib\site-packages\clearml\task.py", line 1282, in enqueue
res = cls._send(session=session, req=req)
File "C:\Program Files\Python37\lib\site-packages\clearml\backend_interface\base.py", line 103, in _send
raise SendError(res, error_msg)
clearml.backend_interface.session.SendError: Action failed <400/110: tasks.enqueue/v1.0 (Invalid task status (Invalid status change): current_status=in_progress, new_status=queued)> (queue=11aad14061a94d23b6fd1fe4da4affed, task=a33b2e6841884278a6501621024fdb83, verify_watched_queue=False)
Is that correct way to new a task from a machine to a queue in code?
If not, can you tell me the correct way to do this? Thanks~