All streams
Search
Write a publication
Pull to refresh
86
0

разнорабочий

Send message
Добрый день, спасибо за статью. Пытаюсь добавить поддержку трансляции на телевизор в свое приложение, убил несколько дней, но не получается.

Тестовые устройства:
— Самсунг СмартТВ QLED
— Телефон Xiaomi Mi MIX 8 с Андроидом 8
— Планшет Samsung с Андроидом 7

1. Для начала я бы хотел обойтись простым MediaRouter API без необходимости встраивать в приложение ключи разработчика. Это возможно вообще? Чем отличаются «wireless display» от «chrome cast device» на диаграмме? Для работы с хром-каст устройствами нужен ключ разработчика, а для беспроводных дисплеев нет?

2. Телевизор Самсунг определяется как «Беспроводной дисплей» (TV Samsung Q9 Series (65)) и я могу подключиться к нему через настройки смартфона и транслировать на него экран телефона целиком.
— На планшете такой системной настройки нет, но я могу подключиться к нему из приложения YouTube Kids.

3. Встроил в приложение кнопку androidx.mediarouter.app.MediaRouteButton (и еще добавил в меню)
— в меню она просто не появляется, в варианте MediaRouteButton отображается неактивной
— mediaRouter.getRoutes() возвращает один рут (который default route и он не телевизор)
— вызываю mediaRouteBtn.showDialog() по другой кнопке, появляется диалог выбора устройства для трансляции и в нем телевизора нет (в диалоге крутится прогресс с поиском и никогда не заканчивается).

4. Но! Если на телефоне я подключаюсь к дисплею через системные настройки, кнопка становится активной и появляется та, которую я добавлял в меню! В списке mediaRouter.getRoutes() появляется еще один путь — этот самый телевизор. При этом если вызвать диалог mediaRouteBtn.showDialog(), то там видно подключенный телевизор и есть опция отключиться от него. Одна проблема — нафига она нужна, если я и так уже подключен к дисплею.
— На планшете глобального способа подключиться к телевизору не нашел, поэтому на нем такой вариант не работает.

Попоробовал еще поставить тестовое приложение отсюда:
codelabs.developers.google.com/codelabs/cast-videos-android/index.html?index=..%2F..index#2

Не показывает кнопку ни на смартфоне, ни на планшете.
Обновил слайды про нейрон с сигмоидой
speakerdeck.com/sadr0b0t/bol-shiie-dannyie-liektsiia11-loghistichieskaia-rieghriessiia-ghradiientnyi-spusk-s-sighmoidoi

и про обучение сети из 3-х нейронов (в этом году получилось ее обучить — в прошлом году была ошибка в коде)
speakerdeck.com/sadr0b0t/bol-shiie-dannyie-liektsiia12-mnoghosloinyi-piertsieptron-mnoghomiernyi-ghradiient-obratnoie-rasprostranieniie

И про TensorFlow есть вариант видео-лекция (слайды пока не выложил):
vk.com/video?z=video53223390_456239477%2Fpl_cat_updates

они, правда, теперь там старый АПИ прячут в обертку Keras в новых версиях, поэтому планирую дальше переходить на PyTorch
я бы и рад согласиться, но вот это

> Creators know their content best, and should set the designation themselves.
> We also use machine learning to help us identify this content,
> Many creators around the world have created quality kids content for their audiences, and these changes will have significant impact.
> We’re committed to helping creators navigate this new landscape and to supporting our ecosystem of family content.

совершенно не про то
а потом еще и женится… страшно представить, как его от этого огородить
спасибо, для взрослых тоже подойдет — добавляйте свои каналы в список, оно будет показывать их
Хороший проект, делайте дальше!
На то, чтобы разобраться, весной довольно плотно обложившись книгами потратил полтора-два месяца (перед этим еще года два эпизодически неплотно заходил на тему, не вникая в суть происходящего — например, запускал примеры из интернета с обучением сетки на MNIST). Тогда же подготовил слайды для лекций с основной канвой повествования. На статью сейчас потратил примерно месяц (не каждый день, по паре-тройке часов по вечерам), большая часть времени ушла на перерисовку картинок (вскрылось множество мелких неточностей или опечаток, что можно быстро пролистать на лекции, в статье уже оставлять нельзя), анимацию и на войну с MayAvi последнюю неделю. Когда картинки есть и стоят в нужном порядке, текст уже идет сам.

По производной сначала тоже хотел оттолкнуться от тангенса (это важно для понимания дальнейших телодвижений), предварительно дав ссылку, например, на этот ролик: www.youtube.com/watch?v=OniFjwZ3b00. Но когда все остальное было готово, решил, что гулять, так гулять, и сделал всё целиком.

Книги порекомендую две основные упомянутые: С. Николенко, Глубокое обучение, погружение в мир нейронных сетей и Себастьян Рашка, Python и машинное обучение.

Обе, в общем, маст хэв.

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

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

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

В качестве продолжения рекомендую еще полистать мои слайды
Нейрон с сигмоидой (планирую конвертировать в такую же статью):
speakerdeck.com/sadr0b0t/bol-shiie-dannyie-liektsiia11-loghistichieskaia-rieghriessiia-ghradiientnyi-spusk-s-sighmoidoi

И, наконец, попытка объединить нейроны в сеть и обучить ее в таком же ручном режиме:
speakerdeck.com/sadr0b0t/bol-shiie-dannyie-liektsiia12-mnoghosloinyi-piertsieptron-mnoghomiernyi-ghradiient-obratnoie-rasprostranieniie

Последнее пока не получилось, там, похоже, включаются какие-то граничные условия, но зато стало понятно, почему у нейронов должна быть нелинейная активация и почему с линейной ничего не выдет.
Код здесь приведен в учебных целях для наглядности. Для практических применений лучше взять какую-нибудь готовую библиотеку с реализацией нейросетки, должно быть что-то и для JS.

Если хотите строить на JS такие же графики, то не знаю, возможно и для JS есть что-то подобное, но, вообще, именно за такие графики и манипулирование многомерными массивами многие любят как раз Пайтон.
Да, перцептроном Розенблатта обычно называют многослойную структуру с нелинейной активацией, но в литературе, когда начинают рассказывать про нейросетки, повсеместно говорят об однослойном перцептроне, который по сути есть единичный нейрон.
Не распарсил, в чем разница между картинками. Или это сарказм?
здесь восхищаться, здесь не восхищаться, а здесь рыбу заворачивали :)
здесь восхищаться, здесь не восхищаться, а здесь рыбу заворачивали, бгг :)
github.com/unwireddevices/RIOT/commits/loralan-public

О, так вы все-таки соизволили форкнуть ртос, авторов которого поливаете у себя в фб, а теперь выдаете их работу за образчик профессионализма команды Unwired Devices? Спасибо, хоть исходники не зажали, бэгэгэ
вы правы, формально битность архитектуры определяют по битности регистров, которые в AVR 8 бит, хотя адреса, команды и арифметика у нее по большей части 16-битные. Подумаю, как лучше поправить, чтобы не вводить людей в заблуждение, но и не запутать при этом
8-битный микроконтроллер

да пишите сразу 4-битный, чего уж там

Каким из этих компонентов надо восхищаться? Или я что-то забыл?

Она умеет запускать код, написанный на Си/С++, скомпилированный с gcc, для меня этого достаточно
Скажем так, я знаю, что такое интегрированная среда разработки с автоформатированием, автодополнением, всплывающей документацией при наведенении мышки на вызов, переходом по клику к исходнику любой системной функции, деревьями проектов, автоматическим рефактором, отладчиком с условными точками останова, профайлером памяти в реальном времени и т.п. При разработке на Java этого добра хватает на разный вкус в не одном варианте. При этом видел разработчиков, которые, если у них выдернуть из-под ног всю эту красоту, начинают теряться, вставать в ступор и протестовать примерно, как офисные барышни, у которых в новом офисе все кнопочки не на своем месте (по моим наблюдениям это в большей степени относится к пользователям как раз МС Вижуалстудии, чем к жабщикам, возможно, потому, что жабщики привыкли от проекта к проекту прыгать между Эклипсом, Нетбинзом и Идеей, а у МС среда единственная и неповторимая на все времена).

Это я к тому, что если очень хочется, то можно и IDE настроить, не вижу в этом ничего плохого, а если нет под рукой IDE, то и текстовый редактор + make + gcc в консольке — нормальный инструмент, ничем не хуже, местами лучше (спросите емаксера или вимера, что он думает о редакторе вижуалстудии или эклипса). Можно обсуждать их удобства и преимущества для разных ситуаций, но никак не повод кичиться, тем более сводить целую платформу с развесистой экосистемой к убогому текстовому редактору.
Обсуждается Arduino IDE
Или программирование тестов на C/C++?

и то и другое

Arduino Create

не знаю, если туда можно загружать сторонние библиотеки, то может быть

Arduino UNO на ATMega168?

в меньшей степени, как один из примеров
Ардуино это аппаратная платформа с низким порогом вхождения в мир микроконтроллеров, а не микроконтроллер.

золотые слова!
вообще да, но по смыслу оба слова довольно близки, и то и другое можно перевести, как макет
www.multitran.ru/c/m.exe?CL=1&s=mockup
www.multitran.ru/c/m.exe?l1=1&l2=2&s=mock

Information

Rating
Does not participate
Location
Россия
Registered
Activity