🐛 Частые ошибки

← К оглавлению урока

⚡ Топ-3 ошибки

  • Установить не тот clip пакет и получить ошибку module has no attribute load.
  • Считать CLIP softmax «абсолютной правдой», хотя это относительная оценка по выбранным меткам.
  • Положить HF_TOKEN в код или репозиторий вместо .env.

1. Неправильный пакет CLIP

Код урока ожидает OpenAI CLIP: import clip, clip.load(...), clip.tokenize(...). Устанавливайте пакет из официального GitHub.

pip install git+https://github.com/openai/CLIP.git

2. Изображение не в RGB

Некоторые изображения открываются как RGBA, P или CMYK. Перед препроцессором безопасно привести к RGB:

image = Image.open(path).convert("RGB")

3. Забыли torch.no_grad() и model.eval()

На инференсе градиенты не нужны. Без no_grad() расходуется больше памяти, а eval() фиксирует режим модели.

4. Неверная интерпретация softmax

Вероятности CLIP зависят от набора вариантов. Если среди меток нет правильной, модель всё равно распределит вероятность между неправильными. Добавляйте «none of the above» не получится буквально, но можно расширить список альтернатив.

5. Токен Hugging Face в коде

Так делать нельзя:

token = "hf_..."  # плохо: секрет попадёт в историю git

Правильно: .env + python-dotenv + .gitignore.

6. Не проверяете ошибку API

При raw HTTP ответ может быть не изображением, а JSON с ошибкой лимита/доступа. Проверяйте status_code и Content-Type, либо используйте InferenceClient.

7. Слишком общий промпт

A nice picture почти не управляет моделью. Добавляйте объект, сцену, стиль, свет, композицию и качество. Но не перегружайте промпт противоречивыми требованиями.

8. Игнорирование этики и прав

Не выдавайте сгенерированное изображение за реальную фотографию, не используйте чужие имена/стили без понимания рисков, не генерируйте вредный контент. В учебном отчёте честно указывайте, что изображение создано моделью.