Spaces:
Build error
Build error
| # Как работать с dvc в этом проекте? | |
| ```shell | |
| # Выбираем ветку | |
| git branch -a # выдаст все ветки | |
| # если нужная ветка только в remote | |
| git branch --track branch-name origin/branch-name # скачали ветку | |
| git checkout branch-name | |
| # Загружаем данные. Ключи не нужны, хранилище открытое. | |
| dvc pull | |
| ``` | |
| ## Выбираем только нужные презентации из датасета | |
| Допустим я собираю датасет для POC. Он должен состоять примерно из 20ти отобранных презентаций. Но сейчас у меня уже ~80. С помощью dvc можно создать версию датасета, в которой будут только нужные презентации. При этом на диске не будет дубликатов. | |
| Вот структура директории. `./data/raw` уже отслеживается dvc: | |
| ``` | |
| ./data | |
| ├── raw | |
| │ ├── business # 7 items | |
| │ │ ├── business_incognita | |
| │ │ └── insider_infor | |
| │ ├── data-science # 73 items | |
| │ │ ├── aiconf | |
| │ │ └── yappi-days | |
| │ └── weird-slides | |
| └── raw.dvc | |
| ``` | |
| Презентации по бизнесу я собираю сейчас - все они подходят для POC. А по data-science надо выбрать подходящие. Используем для этого `.dvcignore` - как `.gitignore`, только для dvc. Вот полезные паттерны для `.ignore` файлов: | |
| [Паттерны .gitignore:](https://git-scm.com/docs/gitignore) | |
| - `*` - мэтчит любую последовательность символов | |
| - `/**/` - мэтчит любую последовательность вложенных папок | |
| - `!<pattern>` - отрицание на паттерн - игнорируй все, что не `<pattern>` | |
| - `!*<part of filename>*` игнорируй все, что не содержит `<part of filename>` | |
| Теперь к задаче: | |
| - Выберем нужные презентации из `data-science`. Хватит названия файла, можно не записывать полный путь. | |
| - Попросим dvc игнорировать все файлы из `data-science`, кроме избранных. | |
| Воспользуемся отрицательными паттернами. | |
| В итоге получим вот такой `.dvcignore` | |
| ```shell | |
| # ignore папку с data-science презентациями | |
| raw/data-science/**/*.pdf | |
| # выбираю нужные презентации. | |
| !*1.За рамками сценария_Эмели Драль_вер.3* | |
| !*2.Kolmogorov Arnold Networks_Павел Плюснин_вер.2* | |
| !*4.Обзор уязвимостей и техник защиты для LLM_Евгений Кокуйкин_вер.3* | |
| !*6.Увеличиваем число обнаружений в задачах_Дмитрий Колесников_вер.4* | |
| ``` | |
| Проверим, что все прошло по плану: | |
| ```shell | |
| dvc diff # Выдаст список Deleted: | |
| dvc list -R data --dvc-only # список файлов, отслеживаемых dvc | |
| ``` | |
| Убедились, что мы удалили все файлы, кроме выбранных. Коммитим. | |
| ```shell | |
| dvc commit | |
| # сохраним в гит | |
| git add .dvcignore data/raw.dvc | |
| git commit -m "Select presentations for POC | |
| ``` | |
| Чтобы скачать презентации только для POC: | |
| ```shell | |
| git checkout POC | |
| dvc pull | |
| ``` | |