You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ git init
$ dvc init
$ dvc exp init python train.py
ERROR: unexpected error - [Errno 2] No such file or directory: 'params.yaml'
Why is it unexpected error? It should be like “ERROR: hyperparameters file ‘params.yaml’ is missing”. 🤔 Why dvc exp init does not create it if it is required?
Do we really need [Errno 2]? In what cases the code helps users? This makes the message longer and breaks human readability.
$ dvc exp run
ERROR: failed to reproduce 'dvc.yaml': [Errno 2] No such file or directory: '/Users/dmitry/src/test/myproj/data'
full path. It is supposed to be relative. Why: 1) to make it short - the full path provides zero value in most of use cases; 2) it makes it hard to submit reports (some users are not comfortable to share their directories struture - See '/Users/dmitry/src/test/ - bc it might contain confidential info like user and project names.
$ mkdir data
$ dvc exp run
ERROR: failed to reproduce 'dvc.yaml': [Errno 2] No such file or directory: '/Users/dmitry/src/test/myproj/src'
the same questions - [Errno 2], Full path.
why it was not checked in dvc init? Or was not created?
$ mkdir src
$ dvc exp run
…
python: can't open file 'train.py': [Errno 2] No such file or directory
ERROR: failed to reproduce 'dvc.yaml': failed to run: python train.py, exited with 2
“exited with 2” Is it useful information? Where the exit code 2 belongs to? It might confuse users. Error code can be in debug errors not here.
Another issue - ideally, we should have a reference to stage (a user might have multiple stages with the same or similar commands). The message might look like: ERROR: failed to execute stage ‘train’ from ‘dvc.yaml’
The text was updated successfully, but these errors were encountered:
“exited with 2” Is it useful information? Where the exit code 2 belongs to? It might confuse users. Error code can be in debug errors not here.
I disagree with this, exit codes are important, well that's how you know it's succeeded or failed (or crashed).
Do we really need [Errno 2]? In what cases the code helps users? This makes the message longer and breaks human readability.
$ dvc exp run
ERROR: failed to reproduce 'dvc.yaml': [Errno 2] No such file or directory: '/Users/dmitry/src/test/myproj/data'
This is unrelated to dvc exp init and out of scope to be honest for this. This is part of a larger issue with DVC and happens in all of the commands. When I brought this a year ago for #5387, there were disagreements on how to handle these errors (cc @efiop).
From #7130:
Why is it
unexpected
error? It should be like “ERROR: hyperparameters file ‘params.yaml’ is missing”.🤔 Whydvc exp init
does not create it if it is required?Do we really need [Errno 2]? In what cases the code helps users? This makes the message longer and breaks human readability.
full path. It is supposed to be relative. Why: 1) to make it short - the full path provides zero value in most of use cases; 2) it makes it hard to submit reports (some users are not comfortable to share their directories struture - See
'/Users/dmitry/src/test/
- bc it might contain confidential info like user and project names.whydvc exp init
checkedparams.yaml
but didn’t check (or create)data/
&src/
?the same questions - [Errno 2], Full path.
why it was not checked indvc init
? Or was not created?“exited with 2” Is it useful information? Where the exit code 2 belongs to? It might confuse users. Error code can be in debug errors not here.
Another issue - ideally, we should have a reference to stage (a user might have multiple stages with the same or similar commands). The message might look like: ERROR: failed to execute stage ‘train’ from ‘dvc.yaml’
The text was updated successfully, but these errors were encountered: