问题标签 [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: