client icon indicating copy to clipboard operation
client copied to clipboard

Unhelpful Client Errors

Open jinensetpal opened this issue 1 year ago • 0 comments

Cause Stack Trace Notes
Expects a list of file objects, but I provided strings - documentation requests a string of lists Traceback (most recent call last): File "/home/jinen/documents/dagshub/git/yolo-v8/test.py", line 10, in results = model.train(data='coco128.yaml', epochs=1, imgsz=32) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/model.py", line 371, in train self.trainer.train() File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 193, in train self._do_train(world_size) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 377, in _do_train self.run_callbacks('on_model_save') File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 166, in run_callbacks callback(self) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/utils/callbacks/dagshub.py", line 57, in save_artifacts repo.upload_files(glob(os.path.join(trainer.save_dir.as_posix(), '*.yaml')), directory_path='.', commit_message='added arguments', versioning="git", force=True) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 252, in upload_files res = s.put( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_client.py", line 1153, in put return self.request( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_client.py", line 789, in request request = self.build_request( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_client.py", line 351, in build_request return Request( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_models.py", line 1104, in init headers, stream = encode_request(content, data, files, json) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_content.py", line 209, in encode_request return encode_multipart_data(data or {}, files, boundary) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_content.py", line 154, in encode_multipart_data multipart = MultipartStream(data=data, files=files, boundary=boundary) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_multipart.py", line 188, in init self.fields = list(self._iter_fields(data, files)) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_multipart.py", line 202, in _iter_fields yield FileField(name=name, value=value) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/httpx/_multipart.py", line 111, in init raise TypeError(f"Expected bytes or bytes-like object got: {type(fileobj)}") TypeError: Expected bytes or bytes-like object got: <class 'str'>
I created a repository, and triggered dagshub logging, but did not initialize the repo, if I let DDA initialize it sets up a sample commit by default Traceback (most recent call last): File "/home/jinen/documents/dagshub/git/yolo-v8/test.py", line 10, in results = model.train(data='coco128.yaml', epochs=1, imgsz=32) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/model.py", line 371, in train self.trainer.train() File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 193, in train self._do_train(world_size) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 377, in _do_train self.run_callbacks('on_model_save') File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 166, in run_callbacks callback(self) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/utils/callbacks/dagshub.py", line 56, in save_artifacts artifacts.add_dir(trainer.save_dir.as_posix(), glob_exclude="*.yaml", commit_message="added artifacts", force=True) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 420, in add_dir self.commit(commit_message, **upload_kwargs) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 512, in commit self.repo.upload_files( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 249, in upload_files data["last_commit"] = self._api.last_commit_sha(self.branch) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 233, in last_commit_sha return self.last_commit(branch).id File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 230, in last_commit return self.get_branch_info(branch).commit File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 90, in get_branch_info raise BranchNotFoundError(f"Branch {branch} not found in repo {self.repo_url}") dagshub.common.api.repo.BranchNotFoundError: Branch main not found in repo https://dagshub.com/jinensetpal/yolotest Maybe we should just give a user warning and initialize the branch?
This is because it’s an existing file, and the ‘force’ argument is required Traceback (most recent call last): File "/home/jinen/documents/dagshub/git/yolo-v8/test.py", line 10, in results = model.train(data='coco128.yaml', epochs=1, imgsz=32) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/model.py", line 371, in train self.trainer.train() File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 193, in train self._do_train(world_size) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 377, in _do_train self.run_callbacks('on_model_save') File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 166, in run_callbacks callback(self) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/utils/callbacks/dagshub.py", line 56, in save_artifacts artifacts.add_dir(trainer.save_dir.as_posix(), glob_exclude="*.yaml", commit_message="added artifacts", force=True) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 420, in add_dir self.commit(commit_message, **upload_kwargs) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 512, in commit self.repo.upload_files( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 249, in upload_files data["last_commit"] = self._api.last_commit_sha(self.branch) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 233, in last_commit_sha return self.last_commit(branch).id File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 230, in last_commit return self.get_branch_info(branch).commit File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/common/api/repo.py", line 90, in get_branch_info raise BranchNotFoundError(f"Branch {branch} not found in repo {self.repo_url}") dagshub.common.api.repo.BranchNotFoundError: Branch main not found in repo https://dagshub.com/jinensetpal/yolotest The error message shouldn’t refer to last_commit , it seems it’s only used internally. Also, I don’t thing force is a good name for the argument, since git and dvc are both VCS’ and it’s not abnormal to update an existing file. I internalize force as some out of the ordinary user flow.
I am not an owner for this repository, but it gives me a JSONDecodeError Traceback (most recent call last): File "/home/jinen/documents/dagshub/git/yolo-v8/test.py", line 10, in results = model.train(data='coco128.yaml', epochs=1, imgsz=32) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/model.py", line 371, in train self.trainer.train() File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 193, in train self._do_train(world_size) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 377, in _do_train self.run_callbacks('on_model_save') File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/engine/trainer.py", line 166, in run_callbacks callback(self) File "/home/jinen/documents/dagshub/git/yolo-v8/ultralytics/yolo/utils/callbacks/dagshub.py", line 56, in save_artifacts artifacts.add_dir(trainer.save_dir.as_posix(), glob_exclude="*.yaml", commit_message="added artifacts") File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 420, in add_dir self.commit(commit_message, **upload_kwargs) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 512, in commit self.repo.upload_files( File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 259, in upload_files self._log_upload_details(data, res, files) File "/home/jinen/.venv/yolov8/lib/python3.10/site-packages/dagshub/upload/wrapper.py", line 282, in _log_upload_details raise determine_upload_api_error(res) dagshub.upload.errors.UpdateNotAllowedError: Cannot update existing 'artifacts/P_curve.png' file without specifying last_commit

jinensetpal avatar Jun 01 '23 12:06 jinensetpal