Pull to refresh
42
11
Subscribers
Send message
Я вообще не понимаю почему здесь могут быть противоречия. Помойму всё очевидно. Современная программа — это точное описание того что должно происходить.
Например на «человеческом» языке это будет выглядеть так.

Возьми переменную и положи в аккумулятор a
Возьми переменную и положи в аккумулятор b
Сложи аккумулятор a и b
И т.д.


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

А вот если люди хотят что то типа — компьютер задай мне сцену древнего замка. Ага — так. Добавь мне героя. Ага так. Дракона туда на задний фон. То тут это просто сильный ИИ. Который должен понять что человек имеет ввиду — и воссоздать в программе.
Не разбираетесь здесь вы. Прошу не флудить.

P.S. Статья не про сырцы команды gdebi, а про то как в пару команд побороть баги ClamAV.
тут в комментариях сказано почему.

Вкратце — сайт адрес откуда качаются базы данных database.clamav.net да и сам сайт clamav.net — забанен для России.
Спасибо за развёрнутый комментарий. Я так глубоко не копаю, объём задач такой что едва хватает времени находить работоспособные пути и двигаться дальше. Но наверняка многим эта информация будет весьма полезной.
В в Linux ИМХО вообще много странного. Одних команд просмотра состояния сети наверно штук 10.
Просто если гуглить «ubuntu установка deb пакетов» — то в топе висит статья Установка deb пакетов в Ubuntu и там как раз советуется способ:
sudo apt-get install gdebi

При этом там же сказанно что способ с dpkg сулит проблемами с зависимостями.

Собственно gdebi это просто один из способов. Каждый выбирает себе сам.
Ради интереса посмотрел высоту орбиты для станции Мир — 354км. МКС летает на 400. Получается что снижение до 354км никаких особых опасностей не несёт. А до этой высоты станция будет опускаться исходя из цифр 2км в год — 23 года.

Я конечно понимаю что мои расчёты тут засмеют, но мне просто интересно развитие диалога и квалифицированный ответ на этот вопрос.
Вопрос не мой — уже встречал его тут. Звучит примерно так:

Скорость снижения МКС составляет около 2 километров в год. Высота полёта 400 км. Ну пусть за 8 лет она снизится до 386км (конечно я тут не учитываю скорость снижения от высоты, просто арифметика).
Так вот за 8 лет она устареет настолько что, её уже списывать надо будет. За 8 лет США новую станцию запустят. Ну и подобное.

Так почему в подобных статьях пишут что без грузовиков Прогресс станция упадёт в океан чуть ли не через месяц.
Смешно конечно получилось. От ящика который никто не смотрит зависит целый проект.
Ну звук работающего двигателя да ещё и с редуктором — не думаю что он тихий. А соленоид вообще никаких звуков не издаёт. Ну да ладно.
Есть ещё целое семейство индикаторов — блинкеры. Раньше стояли на всяких вокзалах на табло и автобусах. Это то что сделал автор. Сейчас из светодиоды заменили.
Как по мне лучше бы сделать стержень с 2 катушками — по краям. Подал ток на одну — стержень втянулся в одну строну. Подал на другую — в другую. Надёжность и простота на порядок выше чем у двигателей с кучей шестерней.

Или просто 2 соленоида — конструктивно один открывал, другой закрывал бы сегмент.
Не конечно не работал. Мне всё это приснилось. А в реальном мире у всех домохозяек стоит *nix. А красноглазики возятся со своим Windows и смотрят на всех с высока.

И да у меня встречный вопрос — а вы статью тоже хотя бы по диагонали просматривали или сразу в обвинения пошли?

Если нет — то там в статье написано. Если настроить и не трогать машину, то она работает годами. Собственно у нас есть сервера которые более 5 лет не выключались и не перезагружались. Ну и обновления под строгим учётом и перепроверкой работоспособности нужных модулей.
Какая мышка? Вы статью вообще вообще хотя бы наискосок смотрели? Какой гуй? Я работаю с сервреом только по SSH — и считаю это очень удобным.

По поводу RAID — ну ка расскажите какая там консоль когда ставишь систему с 0 на голые диски. С разбитием секторов и прочего.Конечно гуем это не назвать, но это и не так консоль про которую мы все знаем.

Если вы такого не делали то расскажу — там идёт ряд настоечных консолеподобных окон где делаются все действия. Надо было создать несколько разделов а потом объединить их в RAID. И делалось это весьма нетривиальным способом. И как раз на последних этапах ничего не работало.

И да RAID можно делать и на установленной системе. Например когда диски добавляешь к уже рабочей системе. Тогда да — мы пользуемся стандартными улитами для создания RAID из привычной консоли.
Дополню решение «багов». У нас сервер поддерживает загрузку больших файлов. Но ClamAV вылетал с ошибкой без пояснения при попытке проверить такой файл.
Оказалось есть такая настройка в clamd.conf:

StreamMaxLength


которая по дефолту ровнялась 25 мегабайтам.

Собственно такой размер явно прослеживается от максимального размера прикреплённого файла для email (хотя этот параметр очень разный в зависимости от сервера). И т.к. ClamAV ориентирован на mail сервера.

Установка параметра в 1024M — помогла проверять файлы до гигабайта. 800 метров на тестовой средней машине проверялось где то за полторы секунды. Хороший результат.
Ради интереса залез посмотреть в конфиг clamav-freshclam. И там есть 2 интересные строчки:

DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror database.clamav.net


Т.е. достаточно найти зеркала баз данных.
Ну я написал вроде в статье почему.
С официальной репы качалась только версия 0.102.1. Меня в принципе она бы устроила. Но эта версия устарела настолько что не качала базы данных. При попытке скачать их так и писалось — мол ваша версия очень древняя и не может скачать базы данных.

Я пытался сделать так что бы по команде apt-get качалась не офф-версия, а последняя — но для этого мне надо было бы перенастроить сервер с офф-репозитория на экспериментальный (с новым версиями). Собственно я не захотел идти на этот шаг — потому как велик риск угробить сервер.
Я выбрал путь просто скачать и установить dep пакет с последней версией. Но она оказалась без демонов. Собственно про это всё я писал в статье. Плюс потом демон API упорно не слушал порт. Как это починить я как раз и написал.

А что по поводу баз данных. Я уже думаю как решить этот вопрос. Ведь базы данных это просто 4 файла (я так думаю). И получается что просто надо найти где ещё эти файлы лежат в сети (а это open source, где то же ещё лежать должны), и скачать их напрямую. Даже демон clamav-freshclam не нужен будет. Для закачки этих файлов я могу и своего написать.
Только что решил проверить качаются ли бызы.

root@ubuntu:~# service clamav-freshclam stop
root@ubuntu:~# freshclam
ClamAV update process started at Thu Mar 17 09:45:09 2022
daily database available for update (local version: 26472, remote version: 26484)
Current database is 12 versions behind.
Downloading database patch # 26473…
Time: 0.2s, ETA: 0.0s [========================>] 16B/16B
WARNING: downloadPatch: Can't download daily-26473.cdiff from database.clamav.net/daily-26473.cdiff
WARNING: Incremental update failed, trying to download daily.cvd
Time: 0.1s, ETA: 0.0s [========================>] 16B/16B
ERROR: Can't create freshclam.dat in /var/lib/clamav
Hint: The database directory must be writable for UID 111 or GID 117
WARNING: Can't download daily.cvd from database.clamav.net/daily.cvd
WARNING: FreshClam received error code 403 from the ClamAV Content Delivery Network (CDN).
This could mean several things:
1. You are running an out-of-date version of ClamAV / FreshClam.
Ensure you are the most updated version by visiting www.clamav.net/downloads
2. Your network is explicitly denied by the FreshClam CDN.
In order to rectify this please check that you are:
a. Running an up-to-date version of FreshClam
b. Running FreshClam no more than once an hour
c. If you have checked (a) and (b), please open a ticket at
github.com/Cisco-Talos/clamav/issues
and we will investigate why your network is blocked.
WARNING: You are on cool-down until after: 2022-03-18 09:45:10
ERROR: Database update process failed: Forbidden; Blocked by CDN
ERROR: Update failed.


Мда… Вовремя я статью написал…
Жесть… Ещё вчера-позавчера www.clamav.net заходил без проблем…
Как то давным-давно разговаривал с владельцем немаленького завода. И ему надо было идти на операцию. И он сказал что очень рад что его будет оперировать молодой специалист, а не старый. Не помню что он против старых имел ввиду, что то вроде — они сто раз делали одно и тоже и на 101 раз могут с пренебрежением отнестись к делу.
Меня тогда поразила его логика.
Никакой морали в этом нет, просто факт из жизни.
Операция прошла хорошо.
Искусственная нейронная сеть за сколько найдет кота?


Современные сети по распознаванию картинок узко специализированные. Сеть которая распознаёт китайские лица, не сможет распознавать котиков. Конечно можно изнасиловать сеть и сделать что бы она распознавала и то и другое — но думаю что качество такого распознавания упадёт ниже плинтуса.

Человеческий мозг может распознавать сотни тысяч образов в одной «мясной» сети. Без потери качества распознавания. Т.е какой-нибудь котик похожий на китайца, не распознается китайским лицом.
Разумеется проблема только в скорости распознавания. Но мозг не машина что бы работать на гигагерцах и потреблять мегаватты.

Мозг в миллионы раз медленней.


Ну если считать приведённый вами параметр в 5мс, то это только в 500 тысяч раз медленее чем гигагерц. Но мозг медленность отдельного нейрона — компенсирует одновременной работой миллиардов нейронов и триллионов их связей.
Опять же малая частота переключений способствует малому энергопотреблению.

Мозг медленней в числодробилках. Но он и не для этого создавался природой. Он быстрый в других задачах. Нелинейной логиге. Обработка образов. Разных — а не однотипных. Не в миллионе одинаковых котов, а в миллионе разных объектов.

И на процессоре нейронные сети не считают сложные, есть видеокарты


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

Грубо говоря видеокарта тот же процессор но с большим количеством потоков. и с невозможностью работы каждого процессора индивидуально. Только группами.
Сколько там таких процессоров для современных видюх? 4000 тысячи на карту? Но это не отменяет того факта что нейроны нам надо эмулировать — от этой эмуляции дикий провал в производительности по сравнению с нативной реализацией нейронов.
Опять же ограничения что не каждый процессор индивидуален как нейрон. Это будет накладывать опять оверхед на реализацию нейронной сети на видеокарте.

Да, только выбор структуры сети непонятно как делать.


Да, я уверен что открытие архитектуры мозга впереди. Как поймём общие принципы — и построим грамотную архитектуру, возможно и не надо будет сумасшедшие вычислительные мощности, что бы прям каждый нейрон мозга эмулировать.
Это было справедливо лет 20 назад. Сейчас по распознаванию информации нейронные сети опережают


Современые нейронные сети достаточно примитивны. Я сам их писал например для распознавания капч. Если грубо то работают они так. На вход подаётся картинка. Разбивается на блоки, допустим до чисел. Далее числа поступают на входной слой сети.
Кстати картинку которую вы привели это как раз и есть персептрон (хот там и написано это).
Далее информация проходит от слоя к слою. В принципе для простых вещей достаточно одного-двух слоёв. Данные между слоями проходят в зависимости от того пропустит нейрон их дальше или нет. А вот эта способность зависит от того как мы обучаем сетку. Процесс обучения — подаём на вход например цифру 9. Потом смотри выход. Например у нас 10 выходов. И мы настраиваем веса нейронов в слое что бы в результате сигнал пришёл на 9 выход. Так прогоняем кучу картинок для всех цифр. И настаиваем сеть.
До недавнего времени такая схема использовалась практически для всех нейросетей по распознаванию картинок, в тех или иных вариациях.
Но относительно недавно учёные рассмотрели под микроскопом часть мозга куда входит нервы от глаз. Посмотрели как устроены там нейроны — и придумали свёрточные сети. Это был прорыв.

Но опять же почему я называю все эти сети примитивными. Потому ка кони работаю как конечные автоматы. Подал сигнал на вход. Получил сигнал на выходе. А вот в мозге после «мясной» свёрточной сети — которая раскладывает видеопоток на образы, данные поступают более глубокие части обработки. Где и происходит вся магия.
К чему я это. Допустим наша сетка обучена распознавать котиков. Сколько там надо для этого ресурсов? Процессоров, памяти. Но эта сетка абсолютно не способна распознавать например деревья. Получается надо уже 2 сети. И так по всем образам? Не многовато ли надо ресурсов? Мозг же определяет всё одновременно.
И ещё ест один феномен. Что бы обучить сеть надо скормить гигабайты дадасетов. Т.е. гигабайты картинок — что бы установить веса для нейронов.
Человеческому взрослому же мозгу достаточно показать например 1 «чужого»-монстра из кинофильма. И человек абсолютно на всех картинках определит этого чужого.
А в искусственных нейронных сетях структуру можно менять на ходу,

Вся проблема искусственных нейросетей то что они эмулируют нейроны. Т.е. написана программа которая делает виртуальный нейрон и его поведение. Я думаю не будет спора в то насколько такая эмуляция неэффективна? Ведь для того что бы например сделать 1 такт работы такого виртуального нейрона — в реальности это куча инструкций процессора, куча чтений из памяти и запись в память. Куча операций АЛУ. И всё это ПОСЛЕДОВАТЕЛЬНО.
А вот в мозге это происходит почти мгновенно. Данные в аксоне передаются электрическим полем. Таймауты в основном только на приём данных уже непосредственно в нейроне. Но тут опять же надо смотреть что за тайм ауты. Ведь данные между нейронами передаются в частотной кодировке.
И при этом все нейроны работают одновременно.
И да как работают современные нейросети непонятны только обывателям — кто их пишет им всё понятно.

Information

Rating
Does not participate
Registered
Activity