Spaces:
Build error
Build error
File size: 3,824 Bytes
bf51a26 767faf3 bf51a26 767faf3 ff3ad18 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | # Как работать с 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
```
|