Pull to refresh
16
0
Павел @Prokop1977

Разработчик навигационных систем

Send message

Управление Mikrotik с помощью Telegram бота

Reading time3 min
Views20K

Хочу написать об интересных возможностях связки Mikrotik и Telegram бота. Возможно похожие решения, где то публиковались ранее, предложу свои варианты использования

Бот для блокировки интернета

Вариант подойдет для  блокировки и разблокировки интернета на домашних устройствах (ПК, ТВ приставки и прочие гаджеты) например чтобы дети сделали перерыв или пошли делать уроки. Можно конечно скачать приложение Mikrotik на смартфон, но каждый раз возится в настройках Kid Control и правилах Firewall не очень удобно, а с ботом почувствовать себя властелином интернета сможет даже жена

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments4

ExKeyMo — кастомизируем раскладку внешней клавиатуры на Android без root

Reading time3 min
Views2.6K

В статье Кастомизируем раскладку внешней клавиатуры на Android без root мы выяснили, что Android-приложение может предоставлять дополнительные раскладки клавиатуры, и научились собирать такое приложение. Но простому (и даже не простому) пользователю лень собирать приложение. Хочется, чтобы это происходило автоматически, и в этом нам поможет ExKeyMo.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

Нейронные сети для начинающих. Часть 1

Reading time7 min
Views1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments64

Нейросеть в 11 строчек на Python

Reading time8 min
Views540K

О чём статья


Лично я лучше всего обучаюсь при помощи небольшого работающего кода, с которым могу поиграться. В этом пособии мы научимся алгоритму обратного распространения ошибок на примере небольшой нейронной сети, реализованной на Python.

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments17

Обзор методов множественного доступа в беспроводной связи. Часть 1. Как разделить спектр: Частотно-временное разделение

Reading time18 min
Views19K

В настоящее время происходит бурное развитие технологий беспроводной связи: новые поколения сотовой связи (5G, 6G), интернет вещей, спутниковая связь и т.д. Одна из ключевых задач, стоящих перед разработчиками новых систем связи – обслуживание одной радиосистемой как можно большего числа абонентов, т.е. задача эффективной организации множественного доступа. Традиционные технологии временного (TDMA), частотного (FDMA) или кодового (CDMA) разделения пользователей уже не способны удовлетворить возрастающие потребности современного мира, поэтому перед разработчиками стоит острая необходимость в разработке новых, более эффективных и ёмких методов множественного доступа к радиоэфиру. Этой статьёй запускается целая серия, поэтому следите за обновлениями нашего блога. В этой серии статей я попытаюсь дать подробный обзор методов множественного доступа, как широко используемых на данный момент, так и новых, находящихся на стадии теоретической или практической разработки.

В первой части мы рассмотрим технологии множественного доступа, использующие разделение абонентов по времени, по частоте или комбинированное частотно-временное разделение – начиная от традиционных TDMA и FDMA и заканчивая перспективными модификациями OFDM, а также технологиями SEFDM и OTFS.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments10

Создание GUI-приложения с помощью MATLAB

Reading time1 min
Views7.5K

У MATLAB существует целых два инструмента для создания GUI приложений.

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

Для вызова инструмента GUIDE нужно вызвать следующую команду:

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments4

Код, который пишет себя сам

Reading time10 min
Views67K
Источник

Мы уже привыкли к тому, что нейросети генерируют картинки, распознают человеческую речь и на основе этого осуществляют различные действия, даже ведут паблик вместо своего хозяина. А как же обстоят дела насчёт программного кода?

Читать дальше →
Total votes 39: ↑37 and ↓2+47
Comments46

ML в Managed Kubernetes: для каких задач нужен кластер с GPU

Reading time6 min
Views4.9K

Машинное обучение используют в разных сферах: от бизнес-аналитики до астрофизики. Для грамотного потребления ресурсов модели развертывают в контейнерах на выделенных серверах или в облаках. Теперь с ML можно эффективно работать в готовых кластерах Kubernetes — в них появились производительные видеокарты.

Под катом рассказываем, для чего нужны GPU в кластерах Managed Kubernetes и как они ускоряют продакшн ML-сервисов.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments5

Электродвигатели: какие они бывают

Reading time23 min
Views344K


В прошлых статьях был рассмотрен принцип работы синхронного и асинхронного электродвигателей, а также рассказано, как ими управлять. Но видов электродвигателей существует гораздо больше! И у каждого из них свои свойства, область применения и особенности.

В этой статье будет небольшой обзор по разным типам электродвигателей с фотографиями и примерами применений. Почему в пылесос ставятся одни двигатели, а в вентилятор вытяжки другие? Какие двигатели стоят в сегвее? А какие двигают поезд метро?

Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments179

#1 Нейронные сети для начинающих. Решение задачи классификации Ирисов Фишера

Reading time11 min
Views80K

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

Это первая статья серии введения в нейронные сети, «Нейронные сети для начинающих». Здесь и далее мы постараемся разобраться с таким понятием — как нейронные сети, что они вообще из себя представляют и как с ними «подружиться», на практике решая простые задачи.
Читать дальше →
Total votes 26: ↑24 and ↓2+34
Comments9

Марсолет Ingenuity готов к работе: что он из себя представляет и чем займется в ближайшее время?

Reading time4 min
Views11K

О марсолете, у которого есть собственное название, Ingenuity, мы уже писали — как раз тогда, когда рассказывали о посадке ровера на поверхность Красной планеты. Ну а теперь давайте рассмотрим подробнее, что это за летун такой и что он будет делать (чуть приоткроем завесу тайны — летать).

В целом, даже то, что марсолет оказался на Марсе — историческое событие. Если он полетит, на что мы все здесь надеемся — то это будет первый полет на другой планете созданного руками человека «вертолете». Речь, конечно, не о реактивной тяге, не о парении и не о падении — а именно об управляемом вертикальном полете. Все подробности — ниже.
Total votes 58: ↑58 and ↓0+58
Comments16

[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1

Reading time10 min
Views94K


Это первая часть, вот вторая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.

Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments14

[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 2

Reading time8 min
Views40K


Публикуем вторую часть статьи о типах архитектуры нейронных сетей. Вот первая.

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

Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.

Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments2

Шевели элеронами: динамическая регрессия на замену объекта управления

Reading time4 min
Views3.2K

Итак, вам нужно ускорить модель объекта управления в несколько раз. Вы попробовали рекуррентные сетки, а потом решили вспомнить Ляпунова и Понтрягина и сделать это без data science. Поехали!

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments3

Фильтр Калмана

Reading time10 min
Views430K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →
Total votes 178: ↑173 and ↓5+168
Comments84

Навигация квадрокоптера с использованием монокулярного зрения

Reading time5 min
Views41K
Сейчас для многих компьютерное зрение не является тайной за семью замками. Однако новые алгоритмы и подходы не перестают впечатлять. Одним из таких направлений является монокулярное зрение, в особенности SLAM. О том, как мы решали задачу навигации квадрокоптера, оснащенного единственной камерой, и пойдет речь в этой статье.


Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments31

Аналого-цифровое преобразование для начинающих

Reading time8 min
Views590K
В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.

"

Введение

В качестве отправной точки дадим определение аналого-цифровому преобразованию. Аналого-цифровое преобразование – это процесс преобразования входной физической величины в ее числовое представление. Аналого-цифровой преобразователь – устройство, выполняющее такое преобразование. Формально, входной величиной АЦП может быть любая физическая величина – напряжение, ток, сопротивление, емкость, частота следования импульсов, угол поворота вала и т.п. Однако, для определенности, в дальнейшем под АЦП мы будем понимать исключительно преобразователи напряжение-код.

Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments23

Выбор платформы для экспериментов с БПЛА

Reading time8 min
Views55K
Выбрать платформу для экспериментов с БПЛА сейчас есть из чего. Автопилотов на рынке много, поэтому прежде всего последует небольшой обзор доступных устройств, а затем рассмотрим победителя — Pixhawk (да да, вот так, сразу, никакой интриги).

Критерии выбора:

  • открытая архитектура (software & hardware);
  • современная элементная база (отпадает все по шаблону *avr*);
  • грамотная, красивая архитектура (отпадают шаблоны *ardu*o и *Rasberi*);
  • механизмы SIL/HIL симуляции;
  • наличие открытого ПО наземной станции.

Посмотрим, что осталось:
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments41

Epsilon3 (YC S21) — программное обеспечение для космических аппаратов и сложных операций

Reading time4 min
Views2K
image

Привет, Хабр!

Мы — Лаура, Макс и Аарон, основатели Epsilon3. Мы создаем программное обеспечение, чтобы помочь космическим компаниям выполнять миссии на миллиарды долларов и избегать дорогостоящих и катастрофических ошибок. Когда вы строите ракету или спутник, у вас есть письменные контрольные списки и процедуры для их тестирования и эксплуатации. Вы не поверите, но большинство компаний до сих пор делают эту на бумаге или в Microsoft Word. Мы делаем это цифровым. Думайте об этом как об усиленных чеклистах, плюс контроль версий (например, Asana+Github). Это полезно для космической отрасли, и для всех, кто занимается сложными процессами тестирования и эксплуатацией.

Сейчас наблюдается рост количества космических стартапов, количества космических аппаратов и людей летающих в космос что-то. Полезная нагрузка улетает в космос несколько раз в день, о большинстве запусков вы не слышите. Есть очень много компаний, которые создаю порясающие технологии для космоса (отели, роботы-конструкторы, сборщики мусора и пр). Но чтобы поддержать этот рост и обезопасить всех, отрасли необходимо программное обеспечение значительно лучшего качества, чем те неэффективные и подверженные ошибкам вещи, которые существуют сейчас.

Неудачи космических миссий США обошлись в 18,6 миллиарда долларов (31 миллиард долларов по всему миру), а в среднем компания тратит 400 тысяч инженерных часов в год на неэффективное управление процедурами.
Читать дальше →
Total votes 9: ↑6 and ↓3+5
Comments1

Программное обеспечение для ракет и космических кораблей SpaceX

Reading time5 min
Views12K
image

С самого своего начала полёты в космос зависели от компьютеров, как на земле, так и в самом космическом аппарате; SpaceX поднял этот принцип на новый уровень. Недавно мы поговорили с руководителем разработки ПО Dragon Стивеном Гердингом о сложных особенностях разработки программного обеспечения для различных миссий SpaceX.

23 апреля SpaceX и НАСА запустили на Международную космическую станцию вторую миссию Dragon (Crew-2), ставшую первой космической миссией на проверенных лётными испытаниями Falcon 9 и Dragon. Примерно 24 часа спустя Dragon автономным образом состыковался с МКС, благодаря чему к орбитальной лаборатории впервые оказались пристыкованными два Crew Dragon. Это ознаменовало начало новой эры SpaceX, теперь цель компании заключается в регулярной отправке астронавтов на МКС.

Работа Гердинга и других инженеров-ракетчиков над разработкой ПО в основном выполняется на языке C++, который является главной опорой для кода компании со времён её основания. Программное обеспечение считывает текстовые конфигурационные файлы. «Мы изобрели простые специализированные языки для описания такой информации, чтобы их могли настраивать другие инженеры компании, не занимающиеся разработкой ПО».
Total votes 27: ↑22 and ↓5+28
Comments5

Information

Rating
Does not participate
Location
Дубна, Москва и Московская обл., Россия
Registered
Activity