Pull to refresh
12
0
Send message

В ближайшие 20 лет космонавтику ждет небывалый прорыв

Reading time6 min
Views45K

Для космических путешествий «напрямую» используя импульсные маневры ракете нужно набрать скорость, достаточную для перехода между точками солнечной системы. Современным сверхтяжёлым химическим ракетам хватает запаса скорости, разве что до Луны слетать. Космические аппараты отправляются в дальний космос не столько своей тягой, а множеством гравитационных маневров. Например, аппарат «Кассини» разгонялся в полете до Сатурна при помощи четырех гравитационных катапульт и тормозил используя гравитацию спутника Ио. Полет занял 7 лет и для человеческой экспансии космоса такие скорости и сроки не подходят.

Читать далее

Сверточный слой: методы оптимизации основанные на матричном умножении

Reading time9 min
Views14K

Введение


Данная статья является продолжением серии статей описывающей алгоритмы лежащие в основе
Synet — фреймворка для запуска предварительно обученных нейронных сетей на CPU.

Если смотреть на распределение процессорного времени, которое тратится на прямое распространение сигнала в нейронных сетях, то окажется что зачастую более 90% всего времени тратится в свёрточных слоях. Поэтому если мы хотим получить быстрый алгоритм для нейронной сети – нам нужен, прежде всего, быстрый алгоритм для свёрточного слоя. В настоящей статье я хочу описать методы оптимизации прямого распространения сигнала в свёрточном слое. Причем начать хочется с наиболее широко распространенных методов, основанных на матричном умножении. Изложение я буду стараться вести в максимально доступной форме, чтобы статья была интересна не только специалистам (они и так про это все знают), но и более широкому кругу читателей. Я не претендую на полноту обзора, так что любые замечания и дополнения только приветствуются.
Читать дальше →

Обзор отладочной платы Altera Cyclone IV EP4CE6

Level of difficultyMedium
Reading time7 min
Views15K
Очередной раз пролистывая Aliexpress, в поисках чего-нибудь интересного из мира FPGA-отладок, я наткнулся на один интересный экземплярчик. Попалась отладка на Altera Cyclone IV с большим количеством всякой периферии на борту + с которой за сравнительно небольшие деньги можно приобрести 4.3’’ LCD дисплей и камеру.

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

Открытый проект встраиваемого модуля для IoT

Level of difficultyHard
Reading time5 min
Views9.3K

Выполнен на чипе семейства Synergy. Если коротко, то: ядро Cortex-M4, 240 МГц, 640 КБ RAM, 32 МБ SDRAM, 4 МБ Flash, LoRA, BLE, Wi-Fi a/b/g/n, uSD, USB HS, IMU, NV RTC, Li-ion Charger, 81 I/O, 7 мкА wakeful sleep.

Читать далее

Что нам стоит диаграмму в Python построить: 5 вариантов привлекающей внимание визуализации данных и кое-что ещё

Reading time6 min
Views17K

Диаграммы помогают визуализировать как простые, так и самые сложные наборы данных. При этом диаграмм — множество видов, у каждого есть свои достоинства и недостатки. О наиболее эффектных и эффективных, реализуемых с Python, мы решили рассказать в сегодняшней подборке. Если вам интересна эта тема – просим под кат. А если у вас есть собственные предпочтения среди графиков (или вы используете что-то ещё), то пишите в комментариях, обсудим. Что же – поехали!

Читать далее

Почему поиск по фото у Google и Apple не способен найти обезьян

Level of difficultyEasy
Reading time7 min
Views44K

В мае 2015 года Google выпустила отдельное приложение «Фотографии». Люди были поражены тем, что оно способно анализировать изображения, разбирать их на детали, а потом маркировать людей, места и вещи. Даже переводить текст!

Была только одна проблема. Google внедрил «категоризацию фотографий» — все фотографии автоматически размечались и организовывались в папках на основании того, что на них было. И через пару месяцев 22-летний программист-фрилансер Джеки Альсине обнаружил, что все фотографии, на которых был изображен он и его девушка, оба чернокожие, были помечены как «гориллы». Причем если на фотографиях был виден белый человек или человек со светлой кожей, Google маркировал их правильно — например, «выпускной» или «поход в бар». М-да.

История сразу разгорелась в Твиттере. После шквала негатива Google поклялась больше не позволять своему приложению классифицировать каких-либо людей как «горилл» и пообещала решить эту проблему. Восемь лет спустя — эта история, оказывается, всё еще не затухла, и влияет на развитие современных ИИ больше, чем можно было бы ожидать.

Читать далее

Как айтишник гигантские арбузы в средней полосе выращивал. Часть 1

Level of difficultyEasy
Reading time8 min
Views27K

Хобби коллег очень многогранны. Сегодня расскажем об ИТ-шном подходе к выращиванию арбузов в регионе, где, казалось бы, нормально вызревать они не должны. Наш девопс, Игорь Иванов, объединил системный подход к сбору информации и комплектующие с AliExpress и из магазинов для садоводов, и уже не первый год собирает отличный урожай. 

Своеобразная “инструкцию для начинающих” получилась довольно объемной. Мы  разделили ее на две части: в первой автор разбирает теоретические основы, а во второй переходит к практике.

Осторожно, много фото!

Читать далее

Как я секреты римской брони в лаборатории разгадывал

Reading time10 min
Views15K

Салют. За время изучения римской брони, у меня осталось несколько зависших в воздухе вопросов. Поскольку ответить на них могла лишь экспериментальная археология, то я пошел по пути изготовления "аналогов" доспехов и их последующего тестирования в лаборатории. Вся история мучений на этом пути, а также что показали испытания в материале ниже.

Год назад в своей статье «Римские и средневековые доспехи. Что лучше?» в качестве одного из параметров сравнения я использовал ударную вязкость. Чтобы понимать, как работает связка свойств – твердость/ударная вязкость в доспехах, представьте себе пластилин и стекло. Если давить пальцем на стекло, то оно будет какое-то время сопротивляться вашему нажиму, но с определенного уровня – трескаться и рассыпаться. Пластилин, напротив, будет тянуться, не давая проникнуть «за». Для доспехов в идеале должны работать оба свойства, но поскольку они противоположны, то на практике нужен компромисс.

Готовы?

Полезен ли сегодня быстрый обратный квадратный корень из Quake III?

Reading time23 min
Views75K

В 2005 году id Software опубликовала под лицензией GPL-2 исходный код своей игры 1999 года Quake III Arena. В файле code/game/q_math.c есть функция для вычисления обратного квадратного корня числа, которая на первый взгляд выглядит очень любопытным алгоритмом:

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;
}

Об этом алгоритме написано множество статей, и ему посвящена хорошая страница Википедии, где он назван fast inverse square root (быстрым обратным квадратным корнем). На самом деле, этот алгоритм упоминался на различных форумах ещё до публикации исходного кода Q3. Ryszard из Beyond3D провёл в 2004-2005 годах исследование и в конечном итоге выяснил, что первоначальным автором алгоритма был Грег Уолш из Ardent Computer, который создал его десятью годами ранее.
Читать дальше →

DIY наушники: реализация мониторного звука

Level of difficultyHard
Reading time7 min
Views17K

О том, как получился магнитопланарный драйвер для наушников с высокой линейностью и быстрым затуханием импульсной характеристики, а также - как и почему это работает. Для подготовленных читателей, уже ознакомленных с предыдущими статьями 1, 2. Ссылка на исходники для сборки в конце статьи.

Читать далее

Дампер картриджей для Денди/Famicom

Level of difficultyHard
Reading time20 min
Views23K
Восемь лет назад я уже писал статью о том, как я делал простенький дампер (устройство для чтения картриджей) для Денди/Famicom. Думаю, пора рассказать о том, как этот проект преобразился спустя эти годы вместе с ростом моих скиллов.


Читать дальше →

Linux на esp32s3

Level of difficultyMedium
Reading time12 min
Views31K

Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.

Читать далее

Тестирование блоков питания. Часть 1. Методическая

Reading time16 min
Views20K
При производстве разнообразных электронных устройств проектирование, тестирование и разработка блоков питания для них зачастую уходит разнообразным подрядчикам в Китае, т.к. именно при таком варианте себестоимость блока питания получается значительно ниже и общая выгода от такого решения очевидна. Но при таком раскладе возникает вопрос — как же проконтролировать качество, как оценить ключевые характеристики и как быстро протестировать целую массу всевозможных демо-образцов с самых разнообразных заводов.

В этом цикле статей я хотел бы подробно рассказать, как я подхожу к решению задачи по тестированию блоков питания. В первой статье из цикла я собираюсь ответить на вопросы: на какую информацию Я опираюсь при составлении методик испытания, какие тесты и при каких условиях нужно провести и что является критериями для вынесения вердикта.

Всем интересующимся — добро пожаловать под кат!
image
Читать дальше →

1-Wire датчик QT18B20 — долгожданный аналог DS18B20 или очередная подделка? Исследуем в лаборатории

Reading time10 min
Views26K

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

Но есть нюанс — DS18B20 часто подделывают, что заставляет проверять каждую купленную партию на оригинальность. И вот однажды нам попалась не просто очередная подделка, а почти настоящий аналог со своим даташитом. Почему «почти»? Подробности под катом.

Читать далее

Умный дом на Home Assistant с дополнениями (Zigbee2MQTT,Portainer...) на любом пк

Level of difficultyEasy
Reading time11 min
Views95K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

Home Assistant - это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Читать далее

Безграничные возможности FFmpeg на примерах

Level of difficultyEasy
Reading time12 min
Views71K

FFmpeg — швейцарский нож для мультимедиа. Совершенно незаменимая программа, которую использует в повседневной жизни почти каждый, даже не зная об этом. Например, вы сняли видео и заливаете на видеохостинг — оно перекодируется и публикуется уже в другом разрешении/формате/размере. Как вы думаете, какая программа выполнила транскодирование? Вполне возможно, что под капотом на сервере работает FFmpeg.

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →

Все, что вы хотели знать о задаче определения остаточного ресурса оборудования

Level of difficultyMedium
Reading time11 min
Views8.4K

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

Как раз про решение одной из типовых задач - задачи определения остаточного ресурса я и рассказывал на конференции https://datastart.ru в ноябре 2022 года, а также на митапе ИИшницы “ИИ в индустрии”, откуда даже сохранилось видео. В этом посте я соберу, структурирую и немного дополню информацию из докладов.

Читать далее

Конструктор для взрослых…

Reading time10 min
Views131K

...и не только!

Это история о том, как я создал конструктор для решения повседневных проблем. Для меня он стал незаменимым помощником по жизни. Возможно, и вам придется по вкусу (древесины:))

В этой статье я познакомлю вас с этим простым, но очень функциональным изобретением.

Читать далее

Как запустить Doom на УАЗ Буханке 2022

Reading time11 min
Views74K

Прошедший 2022 год сильно повлиял на отечественных автопроизводителей. Появились антикризисные комплектации (а остальные исчезли). Произошли откаты на старые экологические нормы, вплоть до евро-2. Кто-то прогнозировал возврат к карбюраторным двигателям, чего, к счастью, не случилось. Люди в шапочках из фольги особенно рады, что из отечественных машин исчезла система ЭРА-Глонасс. Глупцы, она стала ненужной, потому что всех уже чипировали через вакцину.

Мы же продолжали пилить RusEFI - свой ЭБУ с преферансом, барышнями, открытым программным кодом и открытыми аппаратными реализациями.

Читать далее

Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B

Reading time5 min
Views121K

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

Когда я вижу у недавнего выпускника в резюме какой-то из протоколов в котором используется valid/ready, например AXI или AHB, я прошу его спроектировать блок, у которого на входе два числа A и B, а на выходе их сумма. Разумеется не просто написать SUM=A+B, а еще и поставить valid/ready сигналы на каждый из A, B, SUM, чтобы A и B могли приходить в разное время, а также чтобы блок ждал, если SUM не может быть передана другому блоку сразу.

Некоторые не справляются. Грустно смотреть на человека, который потратил 6 лет своей жизни (4 года в бакалавриате и 2 года в магистратуре) и океан денег на образование - и не может сложить два числа и бьется как угорь на сковородке. То блок не работает когда числа приходят в разное время, то создатель забывает снять valid, и блок на 2+2 выдает не 4, а 4-4-4-4-4-4-4... То числа складываются не попарно, а просто записываются в регистры и на выход идет их текущая сумма, хотя количество аргументов A и B не совпадает. То не отрабатывается backpressure и результаты теряются, то (после того как кандидат написал страницу кода на верилоге) блок работает на половинной производительности, то есть не может принимать поток чисел подряд, а ожидает между ними пропуски (gaps). Короче ведет себя как ChatGPT.

Как же прокачаться чтобы такого не было?

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Registered
Activity