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("границ")        # найти практику по фрагменту текста

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(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 - 15 готовых кодовых шаблонов для практических заданий.
  • 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.3.tar.gz (73.5 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.3-py3-none-any.whl (75.4 kB view details)

Uploaded Python 3

File details

Details for the file cv_study_utils-0.1.3.tar.gz.

File metadata

  • Download URL: cv_study_utils-0.1.3.tar.gz
  • Upload date:
  • Size: 73.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cv_study_utils-0.1.3.tar.gz
Algorithm Hash digest
SHA256 457d99b612d847c7a823501cadf4df76f11471573c58974100cc6bf7779fd837
MD5 84feff9614ad3763b2520c5419d36277
BLAKE2b-256 c14b510a07adc2d11314e3eb4d5a3f8c43b3a26ef79c753211fed375b7c83364

See more details on using hashes here.

File details

Details for the file cv_study_utils-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: cv_study_utils-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 75.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for cv_study_utils-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c5447e647c05cafb328b89a3f4370b5b06fa66c7eef2729bcdf39cc08c2c2674
MD5 74b67cc650ca1dcf02ecf12b9cdbe0c2
BLAKE2b-256 b407fb005f0ae5bf8b6ea05d8f16ac9e622d82a59f4fb7763d4a37260c773ba0

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