Skip to main content

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

cv_study_utils-0.1.4.tar.gz (83.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cv_study_utils-0.1.4-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

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

Hashes for cv_study_utils-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4d660c84ad678c8e8c318134138f7a7bf2b9a427bc08ef482d83cf15d070c831
MD5 1d883fe023212f6ca52b4211e741a2e7
BLAKE2b-256 eec2fac629b94908bd2b4d7ef7439a2435a8bff344c13e206da362e0abfe5b80

See more details on using hashes here.

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

Hashes for cv_study_utils-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 85b59515b66e68858f341eb7c76009a11f1a97d57d64a2885d7a8abd6f535963
MD5 e5951e5799422cae1d85aa6d478593de
BLAKE2b-256 41338695b9c6d30eabe29ab897a4cb7e145b2324db35c68ece88863e21f1085c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page