
Я не знаю как правильно назвать обзор/гайд про эту плату. Самая китайская плата? Самая загадочная? Самая неоднозначная? В любом случае - одна из самых интересных!
Поговорим про OrangePi AIpro, плату от запрещённой в половине мира Huawei.
image processing
Я не знаю как правильно назвать обзор/гайд про эту плату. Самая китайская плата? Самая загадочная? Самая неоднозначная? В любом случае - одна из самых интересных!
Поговорим про OrangePi AIpro, плату от запрещённой в половине мира Huawei.
Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.
И да, вынесем за скобки вопрос о том, насколько GDB в целом удобная или неудобная программа, и что в принципе лучше использовать для дебаггинга: в данной статье будет рассматриваться именно работа с GDB.
В статье будет рассматриваться отладка кода на C в ОС Linux.
Здравствуйте меня зовут Дмитрий. Как известно модернизировать можно только десктопы. Ноутбуки-же в случае устаревания просто выбрасываются на помойку. Но сегодня я расскажу вам про свой опыт модернизации ноутбука. И мне для этого понадобился всего лишь 3-d принтер.
Знаете многие люди ругают фирму Intel за то что она каждые два года выпускает новый сокет, аргументируя это тем, что энергопотребление новых процессоров выросло столь значительно, что старый сокет просто неспособен передать достаточную мощность на новый процессор. Но некоторые люди видят в этом запланированное устаревание для материнских плат, что-бы люди почаще покупали новые платы, а не сидели из года в год на одной и той-же.
Так вот ситуация с ноутбуками ещё более ужасна. Если у вас устарел ноутбук, то нельзя поменять процессор с материнской платой, надо выкинуть старый ноутбук и купить новый. И это ужас, ведь например у меня остался старый ноутбук в котором работает матрица и клавиатура и SSD, и все это я получается должен выкинуть на свалку. Но благодаря тому что у нас есть 3-d принтер мы можем разорвать этот ужасный порочный круг. Итак давайте приступим.
Недавняя статья об новой архитектуре нейронных сетей на основе теоремы Колмогорова-Арнольда (KAN — Kolmogorov-Arnold Networks) вызвала большой ажиотаж: уже было представлено множество вариаций того, как правильно создавать такие сети, ведутся горячие дебаты, а рабочая схема и имеет ли право на жизнь и многое другое. Цель этой статьи постараться ответить на простой вопрос: могут ли KAN справляться с компьютерным зрением?
Замечания о математике, алгоритмах и методах, применяемых при компьютерной симуляции флюидов (например, огня и дыма) в режиме реального времени.
Исходный код к этой статье выложен на GitHub.
Огонь как явление очень интересен с точки зрения компьютерной графики. Раньше огонь было принято имитировать. Например, в фильме «Властелин колец» Питера Джексона для изображения огня использовались спрайты с огромным количеством дыма (на тот момент симуляция флюидов обходилась слишком дорого, даже при бюджете блокбастера). Когда требовалось моделировать огонь в режиме реального времени, например, в видеоиграх, использовались почти исключительно нефизические подходы.
В последние годы странно всплыла тема ленточных микрофонов. Их, казалось бы, давно списанные в запасники истории, внезапно полюбили музыканты и звукорежиссеры, и все их фатальные недостатки (нехватка отдачи на высоких частотах, специфический характер звучания, малая чувствительность и проч.) внезапно стали превозносить, как достоинства. И... их стали делать. Причем — во всех ценовых категориях. Справедливости ради, надо сказать, что ленточный микрофон при всех тонкостях, конструктивно и технологически, наверное, самый простой из возможных. Вся его конструкция — это магнитная система и гофрированная ленточка из алюминиевой фольги. И это, пожалуй, единственный микрофон, который можно сделать буквально на коленке. Вот этим мы и займемся. Сразу скажу: получить сразу микрофон «мирового уровня» будет непросто. Но не боги горшки обжигают. Здесь — только начало этого пути.
На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрения.
Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.
Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.
В последнее время активно разрабатываются технологии экстремально малоразрядного квантования, например, BitNet и 1.58 bit. Они пользуются большим интересом в сообществе машинного обучения. Основная идея данного подхода заключается в том, что перемножение матриц с квантованными весами можно реализовать и умножения, что потенциально полностью меняет правила игры применительно к скорости вычислений и эффективности больших моделей машинного обучения.
Эта статья написана в схожем ключе, но нас наиболее интересует, возможно ли напрямую квантовать предобученные модели при экстремальных настройках, в том числе, при двоичных весах (0 и 1). Уже имеющиеся работы нацелены на обучение моделей с нуля. Но в открытом доступе сейчас достаточно много отличных предобученных моделей, таких как Llama2. Более того, обучение с нуля — это ресурсозатратная задача в пересчёте как на вычисления, так и на данные, поэтому такие подходы не слишком доступны в свободном сообществе.
В этой статье мы подробно разберём крайне малоразрядное (2 и 1-разрядное) квантование предобученных моделей с применением HQQ+. HQQ+ — это адаптация HQQ (полуквадратичного квантования), в которой для повышения производительности используется адаптер с низкой размерностью. Наши результаты показывают, что при обучении лишь небольшой части весов в верхней части HQQ-квантованной модели (даже одноразрядной) качество вывода значительно возрастает, такая модель может даже превосходить небольшие модели полной точности.
Модели находятся на Hugging Face: 1-разрядная, 2-разрядная.
В последние годы появляется всё больше технологий с использованием Computer Vision: это и беспилотные автомобили, и Face ID в телефоне, и умные камеры, способные фиксировать утечку теплоизоляции крыши. Кто-то прогресс приветствует, кто-то нет, но неизменно одно – процесс этот неостановим. Особенно активно развивается технология распознавания лиц, которую мы разберем в этой статье. Только в этот раз вас ожидает не классический пайплайн системы, но разбор технологии на микрокопьютерах. Подготовил ее я, Саша Шувалов – аналитик-разработчик компании Кросстех Солюшнс Групп.
Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.
Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.
В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.
А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.
В этой статье вашему вниманию представлено сравнение двух инструментов для поиска ошибок в работе с памятью в программах, написанных на memory-unsafe (небезопасных при работе с памятью) языках — Sanitizers и Valgrind. Эти два инструмента работают совершенно по-разному. Поэтому, хоть Sanitizers (разработанный инженерами Google) имеет ряд преимуществ перед Valgrind, у каждого из них есть свои сильные и слабые стороны. Следует сразу отметить, что проект Sanitizers имеет название во множественном числе, потому что он состоит из нескольких инструментов, которые мы рассмотрим в этой статье в совокупности.
Простой и популярной реализацией закона управления обратным маятником является PID регулятор. Современные средства настройки коэффициентов PID регулятора позволяют решать подобные задачи нажатием пары кнопок даже без знания математики, физики и вообще без каких-либо технических знаний. Рассмотрим пример настройки PID регуляторов в Simulink для классического обратного маятника.
Объект управления (Plant)
Модель перевернутого маятника соберем в библиотеке Multibody. Для этого нам не понадобится знание физики и математики. Библиотека Multibody предоставляет нам готовые блоки степеней свободы, твердых тел, преобразований координат, которые нужно только верно соединить. Собираем подсистемы отдельно для маятника и отдельно для тележки, и собираем все вместе. Результат на рисунке, модель в прикрепленных файлах.
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // зловещий хакинг чисел с плавающей запятой на уровне битов
i = 0x5f3759df - ( i >> 1 ); // какого чёрта?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // первая итерация
// y = y * ( threehalfs - ( x2 * y * y ) ); // вторая итерация, можно удалить
return y;
}
Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.
Многие слышали про волшебства вроде замедления времени, сокращения длины, относительности одновременности, парадокса близнецов и т.д., но мало кто понимает почему так происходит.
В этой статье я хочу наглядно показать, что все это проще, чем кажется на первый взгляд.
Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.
В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных (от АЦП) выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.
Хотел выкинуть этот Т1100Plus но машинка показала удивительную волю к жизни - пришлось восстанавливать. Или история "источника вдохновения" для первого советского ноутбука Электроника МС1504