Цифровое искусство NFT Продажи токенов ICO

Как я обучил нейронную сеть в Nushell: новый взгляд на машинное обучение в терминале

Цифровое искусство NFT Продажи токенов ICO
How I Trained a Neural Network in Nushell

Узнайте, как инновационный подход с использованием Nushell, Nutorch и Termplot позволяет обучать нейронные сети и визуализировать данные прямо в командной строке. Погружение в особенности и преимущества современной работы с данными и ИИ без традиционных программных языков.

В мире машинного обучения и анализа данных Python давно занимает лидирующую позицию. Однако новые технологии и инструменты постепенно меняют привычные подходы, предлагая уникальные и эффективные альтернативы. Одной из таких инноваций стал Nushell — современная оболочка командной строки, ориентированная на работу со структурированными данными, и её интеграция с библиотекой libtorch, лежащей в основе PyTorch. Недавно я реализовал обучение нейронной сети в Nushell, открыв возможности работы с нейросетями и визуализацией данных напрямую в терминале. Этот опыт совершает революционный шаг в том, как инженеры и исследователи взаимодействуют с данными и моделями машинного обучения в повседневной работе.

Nushell: оболочка нового поколения Nushell отличается от классических UNIX-оболочек, таких как bash или zsh, своей специализацией на структурированных данных. Это делает её более мощным и удобным инструментом для обработки информации, поскольку данные передаются в виде таблиц и записей, а не простого текста. Реализованная на языке Rust, Nushell сочетает быстрое выполнение, строгую типизацию и современную систему плагинов, позволяя расширять функционал и интегрироваться с разнообразными библиотеками и платформами. Одной из ключевых причин, почему я выбрал Nushell для тренировки нейронных сетей, стало желание интегрировать вычисления на GPU и обработку данных непосредственно из командной строки. В отличие от Python, который, будучи языком программирования, не является командной оболочкой, Nushell позволяет передавать данные между инструментами без необходимости многократных импортов и конвертаций, что значительно ускоряет и упрощает анализ.

Nutorch: GPU-вычисления и тензоры в Nushell Чтобы сделать работу с нейронными сетями в Nushell возможной, я разработал плагин Nutorch. Этот инструмент, написанный на Rust, является обёрткой вокруг tch-rs — самого Rust-интерфейса для libtorch, официальной C++ библиотеки, используемой PyTorch. Nutorch обеспечивает создание и манипуляции с тензорами, которые являются базовой структурой данных для нейросетей и аналитики. В Nutorch API максимально адаптирован под привычный PyTorch-стиль, что облегчает переход для тех, кто знаком с этой экосистемой. Но помимо этого, он предоставляет специфические возможности Nushell, например, возможность напрямую передавать данные из результата одной команды в тензоры другой, что сокращает время и ресурсозатраты на преобразования.

Тензоры в Nutorch могут создаваться как из имеющихся данных, так и генерироваться с нуля на выбранном устройстве: CPU, CUDA GPU или Apple M1 GPU (MPS). Все тензоры сохраняются в памяти плагина, которая остаётся активной до десяти секунд после последней команды — этого достаточно для эффективного взаимодействия с данными в рамках рабочей сессии. Termplot: визуализация данных в терминале Вторая важная составляющая моего проекта — Termplot. Этот инструмент, базирующийся на Node.js, запускает безголовый браузер с React-приложением, которое рендерит графики с помощью Plotly.

js и других веб-библиотек. Termplot делает снимок результата и выводит его в терминал с помощью ANSI-цветовых кодов, что позволяет создавать красивые и информативные графики непосредственно в командной строке. Чтобы повысить быстродействие и удобство, я разработал специальный плагин Termplot для Nushell, который поддерживает браузер в фоне. Это резко сократило время отклика с пары секунд до долей секунды — теперь визуализация происходит почти мгновенно, что особенно важно при циклической тренировке нейросетей и наблюдении за метриками в реальном времени. Объединение Nutorch и Termplot: скрипт beautiful.

nu Для более простой и эстетичной генерации конфигураций графиков Plotly я написал скрипт beautiful.nu, который использует популярную цветовую тему Catppuccin. Этот скрипт выступает связующим звеном между тензорными вычислениями Nutorch и визуализацией Termplot, позволяя создавать красочные, читаемые графики без сложных настроек и лишнего кода. Пример экспоненциальной функции в одну строку Чтобы продемонстрировать силу связки Nutorch и Termplot, достаточно привести короткий пример. Команда torch arange 0 10 0.

1 --device mps | torch exp | torch value | [{y: $in}] | beautiful lines | termplot реализует генерацию тензора от 0 до 10 с шагом 0.1 на GPU Apple M1, вычисляет экспоненту для каждого значения, загружает результат обратно в Nushell, преобразует в формат для графика и отрисовывает его в терминале. Такой единичной строкой достигается результат, для которого в иных условиях потребовался бы целый комплексный скрипт и графический интерфейс. Обучение нейронной сети на данных с тремя кластерами Для самой основной задачи машинного обучения — классификации — я сгенерировал набор искусственных данных, содержащий точки, разбитые на три группы. Используя Nutorch, я инициализировал параметры двухслойной нейронной сети с функцией активации ReLU.

Затем создал функции для прямого прохода модели, вычисления кросс-энтропийной функции потерь и обновления весов через стохастический градиентный спуск. Обучение происходило в цикле на заданное количество эпох. Каждые N шагов (например, по 100 эпох) фиксировалось значение ошибки и выводились сообщения о прогрессе. После завершения обучения визуализировались исходные данные, динамика потерь и прогнозы модели с отображением граничных решений. Все графики были построены с помощью Termplot.

Для проверки корректности реализации я воспроизвёл тот же алгоритм на Python, применяя PyTorch и Matplotlib. Благодаря использованию libtorch в ядре обеих технологий и одинаковому фиксированному зерну генератора случайных чисел результаты полностью совпали, что подтверждает точность и надёжность Nushell-решения. Преимущества использования Nushell для работы с машинным обучением Подобный подход демонстрирует, что современные технологии позволяют существенно переосмыслить процесс анализа и обучения. Использование Nushell даёт несколько ключевых преимуществ. Во-первых, взаимодействие с тензорами и операциями над ними происходит в привычной командной строке, что снижает порог входа и облегчает интеграцию с остальными инструментами и скриптами.

Во-вторых, за счёт эффективной работы с структурированными данными коммуникация между различными этапами анализа не требует сложных промежуточных форматов и преобразований. Можно легко подключать сторонние UNIX-утилиты, что увеличивает гибкость и адаптивность процессов. Наконец, визуализация результата происходит быстро и качественно прямо в терминале, что даёт возможность оперативно мониторить состояние обучения и принимать решения без переключения контекста и использования дополнительных GUI. Перспективы развития и применения Сейчас Nushell, Nutorch и Termplot находятся ещё на ранних стадиях развития, однако они уже демонстрируют огромный потенциал. Возможность использовать мощь GPU вычислений и современные методы машинного обучения в командной строке открывает новые горизонты для автоматизации, быстрого прототипирования и обучения моделей прямо в консоли.

Кроме того, гибкий плагинный подход позволяет расширять функциональность, интегрировать новые библиотеки и улучшать визуализацию. В ближайшем будущем подобные инструменты смогут составить конкуренцию привычным языкам и средам анализа, особенно для тех, кто ценит скорость, компактность и мощь терминала. Заключение Опыт обучения нейронной сети с использованием Nushell показывает, что современная командная оболочка способна выйти за границы простого исполнения команд и стать полноценной средой для разработки и исследования в области искусственного интеллекта. Nutorch и Termplot вместе открывают новые возможности для анализа и визуализации прямо в терминале, что полезно как для начинающих, так и для опытных специалистов. Такая интеграция повышает производительность работы, упрощает тестирование и позволят эффективно использовать оборудование, включая GPU, без дополнительных сложных интерфейсов.

Если вы много времени проводите в терминале и хотите быстро и удобно работать с нейросетями, Nushell с пакетами Nutorch и Termplot — достойный инструмент для вашего арсенала.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
The toxic side of free – how I lost the love for my side project (2015)
Понедельник, 20 Октябрь 2025 Темная сторона бесплатных проектов: как я потерял любовь к своему сайд-проекту

История человека, создававшего бесплатный онлайн-сервис JS Bin, и того, с какими трудностями и злоупотреблениями он столкнулся, что в итоге снизило его мотивацию и изменило отношение к проекту. Рассказ о проблемах поддержки бесплатных цифровых продуктов и уроках, вынесенных автором.

Celtuce
Понедельник, 20 Октябрь 2025 Целлуз: уникальный овощ с восточным происхождением и множеством полезных свойств

Подробный обзор целлуза — овоща с необычным вкусом и текстурой, его происхождения, способов выращивания, кулинарного применения и пользы для здоровья.

Visited Places: Apple Maps iOS 26's most useful new feature
Понедельник, 20 Октябрь 2025 Посещённые места в Apple Maps iOS 26: новая функция, меняющая навигацию навсегда

Подробное рассмотрение новой функции Visited Places в Apple Maps iOS 26 и её роли в улучшении пользовательского опыта, сохранении истории посещений и обеспечении безопасности данных.

Rust's Result in 200 lines of TypeScript
Понедельник, 20 Октябрь 2025 Rust Result в TypeScript: Как реализовать надежную обработку ошибок за 200 строк кода

Подробный обзор использования подхода Rust Result для обработки ошибок в TypeScript. Рассматриваются основы, преимущества и практические примеры применения, а также возможности автоматического объединения ошибок для создания надежного и масштабируемого кода.

Democrat proposes cognitive tests to root out geriatrics in Congress
Понедельник, 20 Октябрь 2025 Демократ предлагает когнитивные тесты для выявления возрастных проблем у членов Конгресса

Обсуждение инициативы по внедрению когнитивных тестов для членов Конгресса с целью оценки их умственных способностей и обеспечения эффективного управления государством.

What We Govern: The 5 Pillars
Понедельник, 20 Октябрь 2025 Пять столпов управления облачной инфраструктурой: ключ к безопасности, эффективности и контролю расходов

Управление облачными ресурсами требует четкого понимания основных областей ответственности. Пять столпов управления облаком формируют основу для создания безопасной, эффективной и прозрачной среды, обеспечивающей соответствие требованиям и оптимизацию затрат.

Show HN: Assholes who care. Vetting gofundme campaigns in Uganda Africa
Понедельник, 20 Октябрь 2025 Ответственное финансирование: проверка кампаний GoFundMe в Уганде

Анализ важности надлежащей проверки краудфандинговых кампаний на GoFundMe, направленных на помощь в Уганде. Разбираются проблемы с мошенничеством, роль прозрачности и как активисты и доноры могут способствовать эффективной поддержке нуждающихся.