问题标签 [dvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dvc - 损坏的 dvc.lock
我将 DAGsHub 存储用作远程并遇到以下错误消息(尝试 DVC 拉取时):
错误:锁定文件“bias_tagging_model/dvc.lock”已损坏。
我以为我可能搞砸了,但是当再次克隆 git repo 和 DVC 拉动时,我仍然遇到这个问题。在浏览器中查看时,数据看起来不错。如果您有任何想法,我将不胜感激您的帮助!
dvc - 如何在不拉取整个文件夹内容的情况下将文件添加到 dvc 跟踪的文件夹?
假设我在 git/dvc 存储库中工作。有一个文件夹data包含 100k 个小文件。根据文档的建议,我将 DVC 作为单个元素进行跟踪:
而且因为根据我的经验,DVC 在逐个跟踪这么多文件时有点慢。
我将 repo 克隆到另一个工作区,现在我在data.dvc本地拥有该文件,但内部还没有任何实际文件。我想在文件夹中添加一个名为newfile.txt的data文件并使用 DVC 跟踪它。有没有办法做到这一点而不拉动data本地的全部内容?
我现在尝试过的:
再次添加
data文件夹:该
data.dvc文件是从data仅包含的本地状态再次构建的,newfile.txt因此这不起作用。将文件添加为文件夹中的单个元素
data:我得到:
按照建议使用 dvc commit
与 1. 类似,
data.dvc从 的本地状态再次重建data。
dvc - 运行 dvc push 到 DAGsHub 时,Git bash 命令提示符挂起
我在将带有 DVC 的文件推送到 DAGsHub 时遇到问题。
工作流程:
- 我用我的电子邮件注册了 DAGsHub。
- 我创建了一个 repo 并将其克隆到我的计算机上。
- 我将文件添加到 repo 并使用 DVC 和 Git 跟踪它们来跟踪指针文件。
- 运行 DVC push -r origin,它要求我输入密码。当我输入密码并按回车键时 - 没有任何反应。
它坐着等待,甚至阻止我使用 Ctrl+C 取消操作。我被迫手动关闭终端,打开一个新终端,在任务管理器中结束“Python”进程并删除 .dvc/tmp/lock 中的锁定文件。
docker - 在 Gitlab CI/CD 中运行 Docker 容器的问题
我正在尝试使用 Gitlab CI/CD 构建和运行我的 Docker 映像,但是即使在本地一切正常,我也无法解决一个问题。
这是我的 Dockerfile:
这就是我运行容器的方式:
docker run --volume ${PWD}:/src --env=GOOGLE_APPLICATION_CREDENTIALS=<path_to_json> <image_name> ./dvc_configs/free/dvc.yaml --force
在本地运行时一切正常,但在 Gitlab CI/CD 上运行时失败。
这会导致以下错误:
ERROR: you are not inside of a DVC repository (checked up to mount point '/src')
万一您不知道 DVC 是什么,这是一个用于机器学习的工具,用于对模型、数据集、指标进行版本控制,此外,还可以设置您的管道,在我的案例中使用它。
本质上,它需要两个文件夹.dvc,并且.git在dvc repro执行的目录中。
.dvc在这种特殊情况下,鉴于文件夹的内容完全相同并且两者都存在,我不知道为什么它无法运行此命令.git。
提前致谢!
git - 是否可以在不拉取文件的情况下检查 DVC 元数据文件跟踪的文件版本是否存在于远程存储中?
我的团队有一个设置,我们在其中跟踪 DVC 中的数据集和模型,并有一个 GitLab 存储库来跟踪我们的代码和 DVC 元数据文件。我们在我们的开发 GitLab 管道中有一项工作(在每次推送到合并请求时运行),其目标是检查以确保开发人员记得运行dvc push以使 DVC 远程存储保持最新。现在,我们这样做的方式是dvc pull在 GitLab 运行器上运行,它会失败并显示错误,告诉您哪些文件(新文件或现有文件的最新版本)没有找到。
这种方法的缺点是我们将存储在 DVC 中的全部数据加载到 GitLab 运行器上,并且我们遇到了内存不足的问题,更不用说下载所有数据的运行时间很长了。由于对象的路径和 md5 哈希存储在 DVC 元数据文件中,我认为这就是 DVC 需要能够回答“远程存储系统是最新的”问题所需的所有信息。
它似乎dvc status与我要求的相似,但比较了缓存或工作区和远程存储。换句话说,它要求文件实际存在于进行调用的任何文件系统上。
是否有某种方法可以实现我上面提出的目标(“通知开发人员他们需要运行dvc push”)而不从 DVC 中提取所有内容?
dvc - git-ignore dvc.lock 在仅使用 DVC 管道的存储库中
我想在 git 存储库中使用 dvc 的管道功能。数据以其他方式管理,不应由 dvc 进行版本控制。唯一需要的功能是 dvc 在dvc repro调用时重现管道所需的步骤。在新系统上检查存储库应该会导致一个“空”存储库,其中没有存储任何管道步骤。
因此, - 如果我理解正确 - 不需要跟踪存储库中的 dvc.lock 文件。但是,将 dvc.lock 添加到 .gitginore 文件会导致错误消息:
有什么方法可以禁用 .gitignore 中的 dvc.lock 检查这个用例吗?
dvc - DVC 实验正在恢复已删除的文件
我正在使用 DVC 在我的项目中运行实验
现在,当我对文件(例如 train.py)进行更改并运行“dvc exp run”时,一切顺利,但我的问题是通过删除文件(例如 train.py 或数据文件夹中的图像)进行更改时一旦我运行“dvc exp run”,文件就会恢复。如何阻止这种情况发生?
这是我的 dvc.yaml:
