В 20 веке предварительное планирование определённо провалилось.
сравнили перспективные системы машинного обучения с реакцией в реальном времени с толпой старых маразматиков ни за что не отвечающих и собирающихся раз в 5 лет поболтать )
Капитализм и свободный рынок — это именно что про конкуренцию планов.
дополнил в ответ 0xd34df00d:
основная приятная фича современного капитализма что небольшая группа особо богатых лиц имеет подавляющее большинство капиталла, что отражается не только в их покупательной способности но ещё в так сказать.помягче… РЕАЛЬНОЙ ВЛАСТИ, включаа юридическую власть и возможность проплатить большому количеству людей какую то акцию и т.п.
хух.
а так крупная корпорация это считай тоталитарное плановое государство — не только не эффективно, но всё больше сил кидают на борьбу друг с другом разными способами от захвата рекламы и заканчивая судами за авторство на дизайн прямоугольника, не увеличивающими полезную экономическую работу (то есть качетсвеннее товар и т.п.)
с другой стороны, конструктивный современный уклад требует укрупления производсва. Нужен калькуляционный способ решения, барыжничество — это артифакт 19 века…
Доведенное до абсурдного абсолюта планирование, спускаемое сверху государством
только в том случае если сверху люди которые вниз гонят бред, а нет автоматический системы агрегации данных (хештег деперсонифицированно )вроде обратного распостранения.
Впрочим капиталисты могут спать спокойно, уже видно что это будущее которое НЕ будет.
Государственное вмешательство оправдано только в тех случаях, когда защищает базовые права граждан — жизнь, свободу, собственность. .
Если посмотреть детальнее что 'свобода' это отсутсвие доверительной информационной инфраструктуры, чтобы особо предприимчивые становились посредниками)))
что за ерунда, можно хотя бы элементы батча паралельно пускать, а так расчёт реккурентной цепи конечно последовательный но умножение матриц всегда можно распаралелить с выигрышем
Можно интерпретировать без знания кераса что написана белиберда.
В функции создаётся параметрический уровень (self.W) который потом скалярно умножается (K.dot) на входной вектор
этого в коде не происходит.
Интуитивно читается:
пусть на входе полносвязный слой в 120 элементов, заданы features_dim = 20, step_dim =3,
решепим в вход: (6 ,20) dot(20,1) = (6,1) => (2,3) что бредово, так как одна карта W применена к разным позициям полносвязного вектора со страйдом как свой размер.
Почему W решейпится каждый раз?
Или на входе батч, но тогда не надо решейпить?
Далее нормировка вдоль каждых 3-х элементов, автор уверен в этом?
Может я неправильно интерпретирую говнокод Кераса, следовало написать на numpy или в псевдокоде чистый код на 3 строки.
моё видение:
— пропускаем вход x через обычный полносвязный слой y = x*w + b
— применяем активацию ya = norm(exp(tanh(x))
Кстати, напишите пожалуйста в комментариях, если вы узнали в этой логике какую-то математическую высокоуровневую функцию.
напоминает некий мульти-софтмакс что ли…
— выходом будет x*ya
Кстати, теоретически слой может быть и не один
автор не только понимает принципы чистоты кода, но и не поленился указать обратное распостранение. Там считается производная произведения типа (x*softmax(tanh(x))' = x' * softmax(tanh(x)) + x* (softmax(tanh(x))'
помня что производная от софтмакс линейная будет: softmax(tanh(x)) + x* (softmax(tanh(x)) * (tanh(x))'
помня что производная от танха будет 1 — tanh^2(x):
dx = y/ x+ y * ( 1 - tanh^2(x))
Хух. конечно скорее всего я где то в рассуждениях не прав, прошу подкоректировать.
P.S а стоп, я уже сплю не сразу допёр что если взять логарифм будет log(x) + log_softmax(tanh(x*w+b)) то есть атеншн слой эквивалентен resnet с log активациями?
стоп, вышеописанный код для тебя — статическая, динамическая типизация или безтипная? потому что тут может быть и статическая смотря как работает rand))
если потом будет присвоение другому типу там test = 42.0, согласен в питоне есть ряд вещей которые я бы подкоректировал или поудалял, сделав его таким языком чтобы других ненадо было ))
варианты не только «без типизации» и со «статической типизацией». Опять 25 — моё предложение — возможность включать / отключать типизацию, плюс инспекция действительно ли переменная динамическая, или её можно заменить одной (вроде auto ) или несколькими статическими в препроцессинге
Pyton фактически избежал типизации потому что arg:type толком не работает, сам тестил туда без какого либо сообщения пролезает тип который там быть не должен.
Да щас я тут кучу минусов понахватаю)
Вообщем у сеток проблемы выделять и валидировать крупные абстракции, написать связное предложение или нарисовать отдельный элемент проще, а вот скомпоновать чтоб всё вместе — много предложений или картинка в целом имело смысл там начинается ужас. Из сценария сделать кино это ещё куда ни шло, а вот сделать сам сценарий. А чтоб заставить сетку всё таки уметь так делать нужны чрезмерно большие расчёты. Пройдёт лет 10 и вы увидите что сетки это только для первоначальной сенсорики или генерации конечных образов, а системы работающие с настоящим смыслом — там другие архитектуры, у меня даже есть предположения какие)))
Лучше бы уделили внимание правовым вопросам видеонаблюдения, такие как снятие видео о частных лицах «в личных целях» а не для бизнеса, нарушая закон о конфединциальности личной жизни против обычных людей для прикола.
На облаке данные разумеется должны зашифрованы, о чём тут ним слова, так что трудно докопаться что и как снимали. Но админ облака всё равно может просто так эффективно майнить события из большого числа видео и сливать налево за бабло даже без ведома заказчика облака, законы по этому поводу не айс вообще в мире а уж особенно в РФ так что хрен докопаешься.
Обозначенные приимущества, кроме разве что размера архива, никак не связанны именно с разгрузкой на облако. Это пакет сервисов которые можно установить и локально. Локально — значит БЕЗ ИНТЕРНЕТА, а просто сурово камера -> канал -> ваш комп. По пунктам:
уведомления о событиях онлайн;
интегрированные модули видеоаналитики;
модуль распознавания образов/ событий, не зависит от того, в облаке это или нет.
высокая совместимость с клиентским оборудованием;
в смысле «высокая совместимость», гении?
надежная защита и гарантированная сохранность записей до 365 дней и более;
чтоб не хранить большие архивы можно сразу разпозновать события и хранить только представляющие интерес куски видео, а остальное 99.99% сразу удалять.
удобное управление доступом с гибкой системой распределения прав между пользователями;
и ещё админом облака
онлайн просмотр трансляций и архива с любых платформ (Win, Linux, MacOS, Android, iOS);
а нефиг онлайн смотреть то что должно остаться локально в тайне)))
эффективная работа с архивом и трансляцией – одновременный просмотр множеством пользователей.
отлично, клуб вуаэристов приносит неплохое бабло )))
главное не производительность а качество кода. А так на дворе 21 век так что можно задуматься можно ли сделать компилятор на паралельной платформе например CUDA какой нить.
В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86.
а можно поподробнее о задаче, какие там точно действия после AST, желательно на русском, может и я на питоне что то накалякаю, сравним. Всё думаю о написании универсального компилятора, с контролем юзера над действиями и типом результата…
Её компилятор состоял из 4581 строки
для питона — гигантский проэкт, может там всё таки имеется флуд?
кстати с eval нечестно, но прелесть питона в том что там за строк 10 пишется свой eval
Другой пример мощи метапрограммирования и динамической типизации — 400-строчный файл visit.rs, это в основном повторяющийся шаблонный код, реализующий визитора на куче структур AST. В Python это может быть короткая функция примерно на 10 строк, которая рекурсивно интроспектирует поля узла AST и посещает их (используя атрибут __dict__).
А разве нельзя в другом языке сделать стирание типов например один класс ASTNode, с присваиванием функций даже java 8 там может, вместо того чтоб расписывать флуд, чем являются паттерны програмирования
Как поклонник Rust и статически типизированных языков в целом, я склонен отметить, что система типов очень полезна для предотвращения ошибок и для производительности.
Проверять ошибки можно, а при непредсказуемой структуре нужно в рантайме, в python это элегантно делается декоратором, при этом вы имеете приимущество встраивания любых своих проверок и возможностью включать и выключать по желанию. Собсветнно я сторонник включения / выключения проверки типов во желанию.
Ну вот зачем архаичный язык почти такой же как и другие императивные, только со спамом $ тащить в двадцать первый век? Неужели нельзя перестать быдлокодить одни и те же низкоуровневые операции 10000 раз и сделать модуль для веб разработки, генерирующийся из модели???
ахаха, ко всему можно придраться но код всё таки чище многих реальных якобы крутых проджектов. хотя бы читается, карл, не зная языка — а это уже что то. самое быдло тут перехват ошибок обычными условиями if err != nil вместо механизма эксепшнов, который везде должен быть. Мелочи — разный стиль формирования строк:
fmt.Sprintf("%s — %s %s", name, ip, region) тут типа printf
а тут прибавление
url = «cloud.digitalocean.com/droplets» +
strconv.Itoa(droplet.ID)
а вот опять плюсы
systray.SetTooltip(«You have » + strconv.Itoa(len(dropletList)) + " droplets")
вспоминаю очень строгого препода, который говорил что все константы, строковые в том числе, должны быть извлечены наверх проги
мож что то ещё тут, подозреваю что слишком специализированный код но я не знаю это уго
Например, вопрос «Определите, есть ли в связном списке цикл». Предполагается, что кандидат должен придумать решение типа «черепаха и заяц», опубликованное в обильно цитируемой научной статье 1967 года.
что за бред?
Смысл связного списка в том чтобы просто так его полностью не обходить каждый раз, и то что в списке нет недолжного цикла в первую очередь определяется его использованием в программе.
Второе, чтобы не болтаться туда сюда несколько раз, цикл проходим один раз с эффективным хешированием узлов, например по мере создания присваиваем узлу номера 0,1,2,3 и т.п. и составляем битовую лукап-таблицу из известных номеров узлов с флагами 1<< номер, смотрим туда в местах когда вы хотите контролировать что цикл не будет создан.
Мы написали самый полезный код в своей жизни,
не, изобрели динамическую валидацию при стёртых типах, которая слабо похожа на что там в SOAP. Приятно видеть что эта маленькая функция которую очень кратко можно написать для питона с валидацией по типам, полям и т.п. — это «самый полезный код», ребята что же вы намриер про трейс исполнения кода по строкам в Питоне то скажите…
А потом да, говнокодищеес большой буквы Г)))
странно подтверждает эмпирический закон что то не напишешь на JS получишь быдлокод)))
из пустого в порожнее темплейты, потом слишком специализированный код для видители робота )))
ребята, кидайте обязательно этот код в резюме!!!
я не пойму, в бизнесе люди настолько тупые что не делают бекапы систем, а органы настолько тупые что не могут влезть притворившись хакерами, или отсделить движение денег, и провайдер настолько тупой что не может определить адреса трафика товарищей, или у них таки крыша??
а ничего что по идее должно выбрасываться exception и исполнение прекращается, а тут проглатываются эксепшены и выдаётся None которое может стать ложноположительным?
очень хорошо что начали курс, но можно меньше слов и больше дела бы в этом курсе, а то так 6 минутное видео где не сказано ничего — не оптимальная реклама…
циклическая зависимость легко может разрешаться интерпретатором без жалобы на якобы ошибки, зря что так не встраивают. Странное дело её не разруливает даже maven в своих проэктах…
очень классно было бы действительно по желанию включать проверку либо по названию класса либо структуры обьекта в рантейме и где можно на этапе интерпретации, а то перепутаешь места в функции, а ошибку выдаёт из чёрт знает какого места, а потом в коде хорошо протестенном отключать
и очень интересная фича LRU кэш, я чессно не знал и dict юзал
кста вроде одинакого по скорости этот кэш и ручной через dict, кто нибудь протестил нормально скорость??
имхо, в Питон версии 100500 + следует ввести:
инспекцию структуры любого обьекта с преттипринтом или лучше в визуальном представлении, когда берёшь неизвестный модуль, где документация плохая а все типы стёрты
обьединить нотацию для класса и dicta, inst['field'] эквивалентно inst.field
интерпретировать сложные comprehention декларативно с оптимизаций и кешем где надо
встроить без геморa частичные функции, с поддержкой интерпретатора заместо partial:
def fn ( a,b,c)
k = fn(1,2) #-> обьявление частичной функции k(c) c изсестными a,b,
потом
k[0] = 3 # безгеморная замена параметра на определённом месте
сложные lambda обьявления с функционалом как обычный метод
fib = lambda @lru_cache(maxsize=512), a: int ,b : int -> int : if number == 0: return 0
if number == 1: return 1
сравнили перспективные системы машинного обучения с реакцией в реальном времени с толпой старых маразматиков ни за что не отвечающих и собирающихся раз в 5 лет поболтать )
дополнил в ответ 0xd34df00d:
основная приятная фича современного капитализма что небольшая группа особо богатых лиц имеет подавляющее большинство капиталла, что отражается не только в их покупательной способности но ещё в так сказать.помягче… РЕАЛЬНОЙ ВЛАСТИ, включаа юридическую власть и возможность проплатить большому количеству людей какую то акцию и т.п.
хух.
а так крупная корпорация это считай тоталитарное плановое государство — не только не эффективно, но всё больше сил кидают на борьбу друг с другом разными способами от захвата рекламы и заканчивая судами за авторство на дизайн прямоугольника, не увеличивающими полезную экономическую работу (то есть качетсвеннее товар и т.п.)
с другой стороны, конструктивный современный уклад требует укрупления производсва. Нужен калькуляционный способ решения, барыжничество — это артифакт 19 века…
только в том случае если сверху люди которые вниз гонят бред, а нет автоматический системы агрегации данных (хештег деперсонифицированно )вроде обратного распостранения.
Впрочим капиталисты могут спать спокойно, уже видно что это будущее которое НЕ будет.
Если посмотреть детальнее что 'свобода' это отсутсвие доверительной информационной инфраструктуры, чтобы особо предприимчивые становились посредниками)))
непонятно что происходит.
Можно интерпретировать без знания кераса что написана белиберда.
этого в коде не происходит.
Интуитивно читается:
пусть на входе полносвязный слой в 120 элементов, заданы features_dim = 20, step_dim =3,
решепим в вход: (6 ,20) dot(20,1) = (6,1) => (2,3) что бредово, так как одна карта W применена к разным позициям полносвязного вектора со страйдом как свой размер.
Почему W решейпится каждый раз?
Или на входе батч, но тогда не надо решейпить?
Далее нормировка вдоль каждых 3-х элементов, автор уверен в этом?
Может я неправильно интерпретирую говнокод Кераса, следовало написать на numpy или в псевдокоде чистый код на 3 строки.
моё видение:
— пропускаем вход x через обычный полносвязный слой y = x*w + b
— применяем активацию ya = norm(exp(tanh(x))
напоминает некий мульти-софтмакс что ли…
— выходом будет x*ya
Кстати, теоретически слой может быть и не один
автор не только понимает принципы чистоты кода, но и не поленился указать обратное распостранение. Там считается производная произведения типа
(x*softmax(tanh(x))' = x' * softmax(tanh(x)) + x* (softmax(tanh(x))'
помня что производная от софтмакс линейная будет:
softmax(tanh(x)) + x* (softmax(tanh(x)) * (tanh(x))'
помня что производная от танха будет 1 — tanh^2(x):
dx = y/ x+ y * ( 1 - tanh^2(x))
Хух. конечно скорее всего я где то в рассуждениях не прав, прошу подкоректировать.
P.S а стоп, я уже сплю не сразу допёр что если взять логарифм будет log(x) + log_softmax(tanh(x*w+b)) то есть атеншн слой эквивалентен resnet с log активациями?
если потом будет присвоение другому типу там test = 42.0, согласен в питоне есть ряд вещей которые я бы подкоректировал или поудалял, сделав его таким языком чтобы других ненадо было ))
Pyton фактически избежал типизации потому что arg:type толком не работает, сам тестил туда без какого либо сообщения пролезает тип который там быть не должен.
Да щас я тут кучу минусов понахватаю)
На облаке данные разумеется должны зашифрованы, о чём тут ним слова, так что трудно докопаться что и как снимали. Но админ облака всё равно может просто так эффективно майнить события из большого числа видео и сливать налево за бабло даже без ведома заказчика облака, законы по этому поводу не айс вообще в мире а уж особенно в РФ так что хрен докопаешься.
Обозначенные приимущества, кроме разве что размера архива, никак не связанны именно с разгрузкой на облако. Это пакет сервисов которые можно установить и локально. Локально — значит БЕЗ ИНТЕРНЕТА, а просто сурово камера -> канал -> ваш комп. По пунктам:
модуль распознавания образов/ событий, не зависит от того, в облаке это или нет.
в смысле «высокая совместимость», гении?
чтоб не хранить большие архивы можно сразу разпозновать события и хранить только представляющие интерес куски видео, а остальное 99.99% сразу удалять.
и ещё админом облака
а нефиг онлайн смотреть то что должно остаться локально в тайне)))
отлично, клуб вуаэристов приносит неплохое бабло )))
а можно поподробнее о задаче, какие там точно действия после AST, желательно на русском, может и я на питоне что то накалякаю, сравним. Всё думаю о написании универсального компилятора, с контролем юзера над действиями и типом результата…
для питона — гигантский проэкт, может там всё таки имеется флуд?
кстати с eval нечестно, но прелесть питона в том что там за строк 10 пишется свой eval
А разве нельзя в другом языке сделать стирание типов например один класс ASTNode, с присваиванием функций даже java 8 там может, вместо того чтоб расписывать флуд, чем являются паттерны програмирования
Проверять ошибки можно, а при непредсказуемой структуре нужно в рантайме, в python это элегантно делается декоратором, при этом вы имеете приимущество встраивания любых своих проверок и возможностью включать и выключать по желанию. Собсветнно я сторонник включения / выключения проверки типов во желанию.
fmt.Sprintf("%s — %s %s", name, ip, region) тут типа printf
а тут прибавление
url = «cloud.digitalocean.com/droplets» +
strconv.Itoa(droplet.ID)
а вот опять плюсы
systray.SetTooltip(«You have » + strconv.Itoa(len(dropletList)) + " droplets")
вспоминаю очень строгого препода, который говорил что все константы, строковые в том числе, должны быть извлечены наверх проги
мож что то ещё тут, подозреваю что слишком специализированный код но я не знаю это уго
что за бред?
Смысл связного списка в том чтобы просто так его полностью не обходить каждый раз, и то что в списке нет недолжного цикла в первую очередь определяется его использованием в программе.
Второе, чтобы не болтаться туда сюда несколько раз, цикл проходим один раз с эффективным хешированием узлов, например по мере создания присваиваем узлу номера 0,1,2,3 и т.п. и составляем битовую лукап-таблицу из известных номеров узлов с флагами 1<< номер, смотрим туда в местах когда вы хотите контролировать что цикл не будет создан.
не, изобрели динамическую валидацию при стёртых типах, которая слабо похожа на что там в SOAP. Приятно видеть что эта маленькая функция которую очень кратко можно написать для питона с валидацией по типам, полям и т.п. — это «самый полезный код», ребята что же вы намриер про трейс исполнения кода по строкам в Питоне то скажите…
А потом да, говнокодищеес большой буквы Г)))
странно подтверждает эмпирический закон что то не напишешь на JS получишь быдлокод)))
из пустого в порожнее темплейты, потом слишком специализированный код для видители робота )))
ребята, кидайте обязательно этот код в резюме!!!
очень классно было бы действительно по желанию включать проверку либо по названию класса либо структуры обьекта в рантейме и где можно на этапе интерпретации, а то перепутаешь места в функции, а ошибку выдаёт из чёрт знает какого места, а потом в коде хорошо протестенном отключать
и очень интересная фича LRU кэш, я чессно не знал и dict юзал
кста вроде одинакого по скорости этот кэш и ручной через dict, кто нибудь протестил нормально скорость??
имхо, в Питон версии 100500 + следует ввести:
интерпретировать сложные comprehention декларативно с оптимизаций и кешем где надо
встроить без геморa частичные функции, с поддержкой интерпретатора заместо partial:
def fn ( a,b,c)
k = fn(1,2) #-> обьявление частичной функции k(c) c изсестными a,b,
потом
k[0] = 3 # безгеморная замена параметра на определённом месте
сложные lambda обьявления с функционалом как обычный метод
fib = lambda @lru_cache(maxsize=512), a: int ,b : int -> int : if number == 0: return 0
if number == 1: return 1
return fib_memoization(number-1) + fib_memoization(number-2)