HeadlinesBriefing favicon HeadlinesBriefing.com

Нейронная сеть Numberwang на 100 строках Python

Hacker News •
×

Небольшая нейронная сеть решает, является ли число Numberwang. Модель — это JSON-файл размером 1,8 МБ, а вывод — около 100 строк чистой стандартной библиотеки Python — без PyTorch, без NumPy. Клонируйте и запустите: python3 numberwang.py 2222 выдаёт "THAT'S NUMBERWANG!" (уверенность: 99,3%).

Запустите без аргументов для интерактивного режима. Требуется Python 3.8+. В коде load_model и wang_probabilities возвращают четыре вердикта: не Numberwang, Numberwang, не число или Wangernumb. Он принимает цифры, слова на одиннадцати языках, арифметику, римские цифры, порядковые числительные, отрицательные, десятичные, валюту, единицы, время и вымышленные числа.

Архитектура: chars → Embedding(32) → Conv1d(128, k3) → ReLU → Conv1d(128, k3) → ReLU → global max pool → Linear(128) → ReLU → Linear(4) → softmax. 80 804 параметра. Нет токенизатора или движка правил. Демо работает на Hugging Face Spaces; gradio только для демо.

Точность — 88,9% на 486 отложенных решениях (macro-F1 0,896). Арифметика на невиданных операндах слаба (44–72%). Лицензия MIT.

Ключевые сущности: Компании: GitHub, Hugging Face Spaces