Notebook-friendly study utilities for computer vision theory and practice snippets.
Project description
CV Study Utils
Небольшая библиотека для подготовки к экзамену по машинному зрению. Она выводит ответы на теоретические вопросы и готовые кодовые шаблоны для практических заданий прямо в Jupyter/Colab.
Установка
Из этой папки:
pip install -e .
После загрузки проекта на GitHub в Colab/Jupyter можно будет ставить так:
!pip install git+https://github.com/<your-user>/<your-repo>.git
После публикации на PyPI:
!pip install cv-study-utils
Использование
from cv_study_utils import theory, practice, find
theory(5) # ответ на теоретический вопрос 5
theory(5, variant="short")# короткий вариант того же ответа
practice(3) # код для практического задания 3
find("Canny") # поиск по теории и практике
practice("границ") # найти практику по фрагменту текста
practice("билет 27") # найти присланный экзаменационный вариант
find("YOLOv11 Pascal VOC mAP", kind="practice")
theory(12, copy=True) # скопировать ответ, если доступен clipboard
practice(15, copy=True) # в ноутбуке появится кнопка Copy, если pyperclip недоступен
Локальная LLM для Jupyter без API-ключей:
from cv_study_utils import ask_local, llm_status
llm_status() # проверить, видит ли библиотека Ollama или LM Studio на localhost
ask_local("Объясни алгоритм Canny и напиши основные этапы")
ask_local("Дай код для сегментации изображения", context_kind="practice")
По умолчанию ask_local(...) обращается к Ollama на http://localhost:11434.
Если используешь LM Studio, запусти Local Server в LM Studio и вызывай так:
ask_local(
"Кратко объясни U-Net",
engine="lmstudio",
model="local-model",
)
Для локального режима компьютер должен быть включен, Jupyter должен запускаться на этом же компьютере, а Ollama или LM Studio должны быть заранее открыты с загруженной моделью. В Colab localhost указывает на сервер Google, поэтому локальная модель на твоём компьютере оттуда напрямую не видна.
Проверка буфера обмена:
from cv_study_utils import clipboard_status
clipboard_status()
Для системного clipboard можно дополнительно поставить pyperclip. Если пакет уже опубликован, удобнее ставить с extra:
!pip install "cv-study-utils[clipboard]"
Или отдельно:
!pip install pyperclip
В Colab код выполняется на удаленной машине, поэтому системный clipboard через pyperclip часто недоступен. В этом случае copy=True покажет браузерную кнопку Copy и текстовое поле для ручного копирования.
Командная строка:
cvstudy theory 5
cvstudy practice 3 --copy
cvstudy find "Vision Transformer"
cvstudy llm-status
cvstudy ask "объясни Canny" --engine ollama
Памятка команд
pip install --upgrade --no-cache-dir cv-study-utils # установить/обновить библиотеку
from cv_study_utils import theory, theory_short, practice, find # основной импорт
theory() # список всех теоретических вопросов
theory(5) # полный ответ на вопрос 5
theory(5, variant="short") # короткий ответ на вопрос 5
theory_short(5) # короткий ответ через отдельную функцию
theory("Canny") # поиск теории по тексту
theory(5, copy=True) # скопировать ответ по теории
practice() # список всех практических заданий
practice(3) # код практического задания 3
practice("сегментация") # поиск практики по тексту
practice("билет 27") # пайплайн OpenCV/Pillow/Matplotlib из билета 27
practice("Salt-and-Pepper PSNR SSIM") # экзаменационный вариант с шумами
practice("watershed Dice IoU") # экзаменационная сегментация и метрики
practice("YOLOv11 Pascal VOC mAP") # детекция без дообучения
practice(3, copy=True) # скопировать код практики
find("U-Net") # поиск по теории и практике
find("Canny", kind="theory") # поиск только по теории
find("сегментация", kind="practice") # поиск только по практике
from cv_study_utils import all_theory, all_theory_variant, all_practice
all_theory() # вывести всю полную теорию
all_theory_variant(variant="short") # вывести всю короткую теорию
all_practice() # вывести все практические шаблоны
from cv_study_utils import clipboard_status, ask_local, llm_status
clipboard_status() # проверить копирование
llm_status() # проверить Ollama/LM Studio на localhost
ask_local("Объясни алгоритм Canny") # спросить локальную Ollama
ask_local("Дай код для сегментации", context_kind="practice") # LLM с контекстом практики
ask_local("Объясни CNN", context_kind="theory") # LLM с контекстом теории
ask_local("Объясни U-Net", engine="lmstudio", model="local-model") # спросить LM Studio
python -m cv_study_utils.cli theory 5 # CLI: полный ответ
python -m cv_study_utils.cli theory 5 --variant short # CLI: короткий ответ
python -m cv_study_utils.cli theory --all # CLI: вся полная теория
python -m cv_study_utils.cli practice 3 # CLI: практика 3
python -m cv_study_utils.cli practice --all # CLI: вся практика
python -m cv_study_utils.cli find "Vision Transformer" # CLI: поиск
python -m cv_study_utils.cli llm-status # CLI: проверка локальной LLM
python -m cv_study_utils.cli ask "объясни Canny" --engine ollama # CLI: спросить Ollama
Что внутри
cv_study_utils/theory_answers.py- 48 кратких ответов на теоретические вопросы.cv_study_utils/theory_short.py- короткий вариант теории для быстрого повторения.cv_study_utils/theory_full.py- расширенные ответы на теоретические вопросы.cv_study_utils/theory_extras.py- формулы, схемы архитектур и внешние источники для теории.cv_study_utils/practice_solutions.py- 25 готовых кодовых шаблонов для практических заданий.cv_study_utils/exam_practice_extra.py- решения новых экзаменационных вариантов с поиском по номеру билета, датасету, алгоритмам и метрикам.cv_study_utils/llm.py- локальные LLM-вызовы через Ollama или LM Studio наlocalhost.content/theory_answers.mdиcontent/practice_solutions.py- человекочитаемые экспортные файлы, которые можно открыть отдельно.Ответы_теория_МЗ2026.docx,Ответы_теория_коротко_МЗ2026.docxиОтветы_практика_МЗ2026.docx- Word-версии материалов.dist/- готовые wheel/sdist артефакты для загрузки на PyPI.
Источники
Основой являются файлы из папки экзамена и лекции lecture_2 - Lecture_8. Для актуализации API и формулировок использованы официальные документации OpenCV, Pillow, Matplotlib, scikit-image, scikit-learn, PyTorch/torchvision, TensorFlow/Keras, Ultralytics YOLO, а также оригинальные статьи R-CNN/Fast R-CNN/Faster R-CNN, YOLO, SSD, U-Net, Mask R-CNN, GAN, DDPM, Transformer, ViT и image captioning.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cv_study_utils-0.1.4.tar.gz.
File metadata
- Download URL: cv_study_utils-0.1.4.tar.gz
- Upload date:
- Size: 83.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d660c84ad678c8e8c318134138f7a7bf2b9a427bc08ef482d83cf15d070c831
|
|
| MD5 |
1d883fe023212f6ca52b4211e741a2e7
|
|
| BLAKE2b-256 |
eec2fac629b94908bd2b4d7ef7439a2435a8bff344c13e206da362e0abfe5b80
|
File details
Details for the file cv_study_utils-0.1.4-py3-none-any.whl.
File metadata
- Download URL: cv_study_utils-0.1.4-py3-none-any.whl
- Upload date:
- Size: 84.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b59515b66e68858f341eb7c76009a11f1a97d57d64a2885d7a8abd6f535963
|
|
| MD5 |
e5951e5799422cae1d85aa6d478593de
|
|
| BLAKE2b-256 |
41338695b9c6d30eabe29ab897a4cb7e145b2324db35c68ece88863e21f1085c
|