Làm thế nào để sử dụng điều khiển từ xa khác nhau cho các thư mục khác nhau?


8

Tôi muốn dữ liệu và mô hình của mình được lưu trữ trong các nhóm Google Cloud riêng biệt. Ý tưởng là tôi muốn có thể chia sẻ dữ liệu với người khác mà không cần chia sẻ các mô hình.

Một ý tưởng tôi có thể nghĩ đến là sử dụng các mô đun con git riêng cho dữ liệu và mô hình. Nhưng điều đó cảm thấy cồng kềnh và áp đặt một số yêu cầu bổ sung từ người dùng cuối (ví dụ: phải làm git submodule update).

Vì vậy, tôi có thể làm điều này mà không cần sử dụng mô đun con git?

Câu trả lời:


9

Trước tiên, bạn có thể thêm các điều khiển từ xa DVC khác nhau mà bạn muốn thiết lập (giả sử bạn gọi chúng datamodels, mỗi điểm chỉ vào một nhóm GC khác nhau ). Nhưng đừng đặt bất kỳ điều khiển từ xa nào làm mặc định của dự án ; Bằng cách này, dvc pushsẽ không hoạt động mà không có -rtùy chọn (từ xa).

Sau đó bạn sẽ cần phải đẩy mỗi DVC-file riêng biệt để điều khiển từ xa thích hợp, như dvc push -r data data.csv.dvc, dvc push -r data features.dvc, và dvc push -r models model.pkl.dvc.

Nếu bạn muốn yêu cầu tính năng này bằng cách nào đó ánh xạ các tệp / thư mục nhất định với các điều khiển từ xa DVC cụ thể theo mặc định, bạn có thể mở một vấn đề trong https://github.com/iterative/dvc/issues .
CẬP NHẬT: Trên thực tế, một loại tương tự đã tồn tại (Xem Chỉ định loại tệp có thể được đẩy đến từ xa ).


1
@ michael-litvin Tôi nhận xét về vấn đề này cho bạn. Xem: github.com/iterative/dvc/issues/2095#issuecomment-556126420 . Hãy đăng ký vấn đề đó và / hoặc tham gia.
Jorge Orpinel

2
Bạn có thể gói một số tập lệnh bash hoặc tạo một tệp xung quanh các lệnh đó để làm cho chúng ít bị lỗi hơn.
Suor

1
Cảm ơn bạn @ jorge-orpinel!
Michael Litvin

5

Có, bạn có thể sử dụng nhiều điều khiển từ xa mà không cần mô đun con Git.

Có một lệnh riêng để sử dụng các tạo phẩm dữ liệu từ các kho lưu trữ bên ngoài: dvc import http://your-repo datadirLệnh này mang dữ liệu đến repo của bạn và giữ kết nối với repo gốc (để tránh trùng lặp dữ liệu trong các điều khiển từ xa khác nhau).

Trong trường hợp của bạn, một kho lưu trữ có thể được sử dụng cho một tập dữ liệu với dữ liệu từ xa. Một repo thứ hai có thể được sử dụng cho mã và các mô hình nhập dự án dữ liệu trong khi tất cả các mô hình và đầu ra của nó đi đến một dữ liệu từ xa khác.

Với import, không dvc push -r myremotecần thiết. Một mặc định dvc pushđồng bộ hóa dữ liệu trong một điều khiển từ xa thích hợp.

EDITED: Đơn giản chỉ cần sử dụng một repo Git cho tập dữ liệu với thư mục data-remote / S3 của nó và nhập nó từ một repo khác với mã, mô hình và một thư mục data-remote / S3 khác.


Tôi đã đưa ra một nhận xét liên quan với một số ví dụ về mã: github.com/iterative/dvc/issues/2095#issuecomment-560017410
Dmitry Petrov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.