Задать вопрос
  • Как перерисовать фотографию с помощью ИИ?

    @rPman
    Современный ИИ не способен решать такую задачу универсально.
    Качество существующих результатов очень низкое, и в лучшем случае требуется пользовательское вмешательство (тюнинг промпта или дополнительные инструменты) и банальный выбор лучшего варианта из сгенерированных (десятки попыток).

    openai буквально на днях презентовала свою мультимодальную gpt4o но ни полноценного доступа ни тем более api еще нет. Доступна только текстовая модель по api (у них есть возможность как и для старой версии добавлять в контекст изображения) без генерации, но попробовать можно.

    Да, тот же stable diffusion с оговорками способен к примеру заменять указанные элементы на странице. А с помощью внешних алгоритмов (та же facebook публиковала бесплатно) можно получить описание изображения вплоть до получения маски каждого (т.е. изображение разбивается на объекты, каждый объект будет подписан и для каждого будет маска по его границам).

    Т.е. решение твоей задачи будет примерно таким - проанализировать изображение и разобрать его на объекты, дополнительно получить описание изображения, скормить полученный текст ИИ и спросить, какие объекты нужно заменить и какой промпт добавить, и соответственно подсовывать маску этих объектов в image painting для stablediffusion и смотреть что получится.

    По умолчанию там будет все не очень красиво. Нужно будет подбирать .vae модели и pipeline, и в теории может даже что то получится.
    Ответ написан
    Комментировать
  • Как выбрать ии?

    @rPman
    так как вопрос задан в общем то и ответ будет общим

    фаза 0 - выбираешь, что именно будет отдано на откуп ии а что на opencv
    фаза 1 - собираешь обучающие данные
    фаза 3 - создаешь нейронную сеть (выбор алгоритма/архитектуры, выбор гиперпараметров типа количества слоев)
    фаза 4 - обучение (подготовка данных в нужном формате, деление выборки на обучающую и тестовую, обучение, периодическое сравнение метрик качества на основной и обучающей для выявления переобучения)
    фаза 5 - создание алгоритма для проверки эффективности результата

    все это заворачиваешь в цикл от фазы 0 до 5 до тех пор пока метрики эффективности для тебя не станут достаточными.

    p.s. советую для начала остаться на opencv и понять, где именно у тебя тормоза, займись для начала профилированием, какой именно алгоритм у тебя занимает большее время, и попробуй его заменить на что то по проще.

    очень часто, вместо сравнения изображений, может хватить сравнение их частей или каких то быстро вычисляемых характеристик... возможно тебе достаточно будет сравнить несколько точек?
    Ответ написан
    Комментировать
  • Как вызвать source при выполнении .sh файла?

    @rPman
    если тебе cd ...;source activate долго писать ручками, сделай это алиасами bash
    Ответ написан
    Комментировать
  • Простое решение для десктопа?

    @rPman
    расчеты разные с последующей сборкой пояснительной записки проекта
    рассчеты на чем то основываются? данные от куда то подгружаются? итог куда то отправляется?

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

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

    Графические интерфейсы и писать для web проще, исключение - какой-нибудь winforms от msvc и его идеологический последователь wpf, но они имеют смысл если целевой интерфейс - огромное количество сложных форм, и скорость разработки критична, и да есть поддержка веб но только с майкрософтовским сервером.
    Ответ написан
    6 комментариев
  • Подключение к Bitcoin Core удаленно?

    @rPman
    пробовали добавить флаг?
    curl --http0.9 ...
    и конечно если какая то проблема возникает, смотри логи, у bitcoind в момент запроса и у curl, добавив -v

    p.s. не шифрованный доступ к bitcoind? вы уверены что ваш провайдер не мониторит трафик? а так же провайдер vps и еще 100500 провайдеров между вами, у каждого стоит dpi, мало ли какие там правила они понаписали?

    у bitcoind есть поддержка самоподписанных сертификатов
    А еще, настоятельно не рекомендуется какие либо не публичные сервисы публиковать в сеть, баги, ddos, да просто знание первому попавшемуся автоматическому сканеру что у вас тут деньги лежат! поднимайте vpn или пользуйтесь банальным ssh port forwarding
    Ответ написан
  • Можно ли создать аналог my gpts с загрузкой производных файлов через API open AI?

    @rPman
    В общем случае скорее всего нет.
    Лучший gpt у нас у openai, ему на пятки наступают anthropic claude и google gemini (их нормальные модели не доступны бесплатно, а от гугла еще и очень в ограниченном количестве стран, и формально все они не доступны в России). По деньгам они будут сравнимы.

    Если брать готовые модели, они могут оказаться тупо дороже (с оговорками про свое железо но добыть по адекватным ценам это не просто) и главное, открытые модели (с доступными весами) в разы слабее.

    https://chat.lmsys.org/?leaderboard выбирай

    К сожалению ни одна из адекватных доступных моделей не является мультимодальной, т.е. не сможет принимать на вход pdf файл или изоброжения, а значит адекватного ответа универсально с их помощью не получить. Это значит, pdf файл необходимо преобразовать в текст и это большая проблема, особенно для русского языка. Таблицы, графики, все это проблема, которую не решить простыми способами но по отдельности возможны разные варианты (очень не простые).

    Так же проблема открытых моделей - маленькое контекстное окно (llama3 - 8k токенов, только очень маленькие pdf файлы можно в них поместить). А раз не помещаются в контекстное окно, значит потребуется самморизация и деление на части, в общем когда доберешься до конца, итоговый результат будет низкого качества.

    p.s. такие решения на сколько я знаю пилят с переменным успехом, и универсального решения точно не будет.
    Ответ написан
  • На каких сайтах не используются куки?

    @rPman
    Куки - это механизм сохранения 'состояния' веб приложения, привязанное к пользователю, между сессиями его (приложения) использования.

    Для собственно авторизации куки не обязательны, ведь это состояние можно передавать и через GET/POST запрос или #anchor ссылки или просто настройка кастомных заголовков (работает только для ajax запросов но не для обычных). Другой вопрос в том, что пользователи привыкли, что сайты сохраняют какое то время авторизацию и не требуют ввода логина и пароля уже для следующего посещения.
    Ответ написан
  • Стоимость трафика у AWS S3?

    @rPman
    requester pays bucket
    за чтение и запись таких будет платить клиент (соответственно анонимный доступ невозможен)
    Ответ написан
    Комментировать
  • Какой сервис озвучки самый естественный по вашему мнению?

    @rPman
    <на правах шутки>
    openai gpt4o
    Мне кажется на текущий момент это лучшая технология, которую можно приспособить для озвучки, иначе вложиться в обучение своих голосовых моделей (много текстов профессиональный диктор должен наговаривать). На грани зловещей долины, или уже вышла за нее, голос живой, да русский не идеален.

    api пока нет, доступа у всех пока нет, только 6 голосов но в некоторых пределах можно 'настраивать' их стиль, стоит 20$ в месяц, лимиты на объемы текстов в минуту, управление на естественном языке.

    p.s. у openai есть api и сервисы по распознованию и синтезу речи, потестируй их, возможно они окажутся достаточно качественными
    Ответ написан
    Комментировать
  • Как через openvpn linux клиента иметь доступ во всю подсеть?

    @rPman
    Делаешь тип сетевого подключения, создаваемого openvpn, tap (настраивается на сервере в конфиг файле строчка "dev tap").

    Отключаешь все dhcp и вообще настройки ip адрес, достаточно комментировать строки ifconfig, server-bridge и push route.
    spoiler
    можно и с ним но у меня когда то давно win7 странно глючил, являясь сервером (к нему подключался удаленный клиент), причем не регулярно, он выдавал ip адрес сетевому устройству которое часть сетевого моста, и сеть переставала работать пока в проводнике, в списке сетевых устройств, не нажать f5, как так можно было проглючить я хз, но глюк был

    Объединяешь виртуальное tap устройство на сервере и на клиенте с сетевым адаптером, который подключен к локальной сети соответственно на стороне сервера и на стороне клиента (если на клиенте нет сети то не надо).

    И да, это работает в обе стороны, т.е. так можно дать доступ к локальной сети клиента пользователям локальной сети сервера.

    В результате, после поднятия openvpn подключения, клиентский компьютер будет подключен в удаленную локальную сеть, точно так же как это бы произошло, если бы он был подключен физически к ней (по ethernet или wifi), и если роутер а точнее dhcp сервер не запрещает этого, то клиентской машине будет выдан ip адрес из удаленной локальной сети и все будет работать. ip адрес можно выдать вручную, если адрес не будет конфликтовать с ip адресами этой сети (иначе можно нарушить ее работу). Осторожно с двумя одновременно работающими dhcp серверами в сетях сервера и клиента, если желаешь объеденить их в одну, они могут конфликтовать и машинам выдавать ip адреса из своих диапазонов, и если они будут пересекаться, будут глюки. К сожалению нет красивого решения, как разграничить доступ к dhcp в разных подсетях, нужно ставить нормальный фаервол на обоих машинах (не уверен, сможет ли фаервол напрямую влиять на пакеты в сетевом мосту,. как минимум на windows нет).

    Умные маршрутизаторы в локальной сети могут ограничить пакеты от устройств с 'неправильным' mac адресом, т.е. админстратор удаленной сети может запретить такое подключение. Не очень изучал, до какой степени эта защита работает, так как mac адрес можно изменить на клиенте.
    Ответ написан
  • Как запустить программу без прав администратора?

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

    Если бы можно было создать дополнительного пользователя с постоянным паролем либо вместе со сменой пароля администратора, вручную менялся бы пароль у задачи в task scheduler, то достаточно было бы создать задачу в диспетчере задач, прописать что она требует повышение привилегий и указать, нужен ли доступ к консоли пользователя, если это gui.

    Некрасивое решение - запускаешь свое приложение как service, не как task, есть готовое приложение srvany.exe. Службы запускаются под заданным пользователем, без запроса логина пароля. Недостаток - служба не имеет доступа к консоли пользователя (так было во времена win7 может изменилось, проверяй), таким образом можно запускать только консольные приложения, вывод которых скрыт.
    Ответ написан
    1 комментарий
  • Как работает языковые модели и нейроны?

    @rPman
    Так как никто не ответил, коротко:
    1. Как реализуема память у языковых моделей и как ее реализовать?
    над реализацией памяти языковых моделей бьются ученые, 'бьются пожарные, бьется милиция,..' пока безуспешно, лучшее что придумали с практической точки зрения, используя instruct модели, добавляют в беседу (контекст) нужные факты в каком-либо виде каким либо способом (это основа методологии RAG, гугли). Потребует обучение дополнительной модели на создание индекса, создание не простой модели базы данных (например делают древовидную базу отношений знаний)... в общем все что позволит каким то способом выбирать из всей базы данных только те знания что нужны, и уже тут проблема, как разделить имеющиеся знания на куски.
    Если говорить про языковую модель и только про нее, знания она получает исключительно из обучающих данных, и этого недостаточно, что бы модель могла эти данные эффективно использовать, тюнат с помощью reinforced learning human feedback, собирая высококачественные датасеты вопросов и оценки качества ответов модели (хорошо плохо), с каждым шагом повышения качество модели, люди, размечающие данные, должны быть все более разносторонними специалистами... и речь идет не о той крохе, которую ты хочешь добавить в датасет, а о повторном тюнинге по всем знаниям из обучающих данных. В общем это очень дорогой процесс, сравнимый с созданием языковой модели (речь о десятках миллиолнов баксов)
    2. Как «вбить» языковой модели «личность»? А именно ее имя и стиль речи. А также правила.
    Личность языковой модели настраивают стартовым (системным) промптом и finetuning, это дообучение модели на своих данных (не сильно большом количестве), ты можешь попросить как быть гениальным физиком математиком так смешным тупицей с дефектами речи, это сработает если знание об этом уже было в обучающих данных. Это не добавление данных и знаний, а определение формата или стиля общения. Например можно скормить чат как датасет и попросить сетку продолжить общение, она будет имитировать участников.
    3. Как преобразовать текст чтобы входящие нейроны поняли запрос?
    ключевые слова - используют токенизер, алгоритм, который на основании базы текстов, настраивает словам или их частям (токенам) вектор чисел, определяющих буквально их смысло, расстояние (там могут использовать не только евклидовое как метрику) между похожими по смыслу словами будет быть ближе чем между далекими.
    Собственно все контекстное окно токенов преобразуется в рядом стоящие вектора по каждому токену, и это и есть входы нейронной сети... То же самое происходит с аудио и как я понимаю видео, оно токенизируется неким алгоритмом (качество которого очень важно, алгоритмы есть, гугли), превращаясь в вектора, описывающие смысловую единицу, и уже их набор идет как вход. И да, выход gpt это один символ - точнее таблица вероятностей, какой выбрать токен следующим (количество выходов - количество токенов)
    4. Как дать ИИ возможность к действию? К примеру воспользоваться API.
    Модели, тюненные как instruct, могут воспринимать инструкции на естественном языке, с примерами api, описанием их работы и прочее... чем лучше модель тем лучше будет результат, с gpt4 например это работает просто отлично, собственно многие сети обучают сначала на программиста (использую github как датасет) и сети уже понимаю формальные языки программирования, форматы данных, то же json/csv и т.п. и могут использовать их в запросах и ответах, если попросишь
    5. Нужно ли быть гением математических наук чтобы написать такую модель?
    Нужно быть гением в разработке ИИ чтобы разрабатывать ИИ. Не зря топовые компании мира как пылесосом прошлись по рынку и собрали букально всех до кого могли дотянуться. Если ты не крутился какое то время в нейронных сетях, то пока не наверстаешь упущенное, соваться в самый пик и мейнстрим технологий будет сложно. Одной математики тут точно недостаточно. Да и формально, это нужно тем кто пишет низкоуровневые методы, типа разработка той же библиотеки transformer (которую пилит гугл), а вот пользователям этого нужно просто понимать базовые основы математики и тервера, не нужно прям очень туда углубляться, в матанализе например можно бесконечно плавать и ни капли не коснуться чего то связанного с нейронками.
    6. Каким образом нейроны выводят нормальный ответ?
    Никто не знает. Но,если экстраполировать, используя как пример алгоритмы распознавания и классификации изображений, то построенная нейронная сеть, состоящая из нескольких слоев, на первых слоях буквально в весах содержит куски изображений в виде примитивов - градиенты, линии, кривые,.. на втором слое более сложно - фигуры, на третьем появляются более высокие понятия типа шерстинки, усы, носы, и т.п. и так каждый следующий слой нейронной сети содержит все более усложняющуюся модель данных, но чем глубже заглядываешь тем сложнее понять что есть что. Собственно в новостях мелькают различные исследования в этом направлении, то там поняли что вот этот нейрон конкретной сетки если его подергать, вот то то происходит, и 100500 страниц описания как этот нейрон обнаружить, то тут типа нашли способ заставить сетку забыть данные исключительно файнтюном и особым подбором обучающих данных и т.п. в общем народ работает, но что то мне говорит чтобы эти знания получать нужно иметь на руках приличные вычислительные мощности (именно они делают нейронки дорогими) а с мелкими сетками каши не сваришь, они не способны на что то вразумительное
    7. Как совместить 2 в 1? А точнее языковую модель и ии для распознания изображений.
    создать токенизер сразу на мультимодальные данные, собрать качественный датасет, содержащий и то и другое, собрать мощностей побольше (на пару порядков наверное чем для просто текстового ИИ) и т.п. гугли, открытые мультимодальные сетки есть и от фейсбук, и от китайцев (qwen) ну может openai какие публикации выдала...
    8. Какие именно правила обработки информации для обучения есть? (К примеру что нужно отсекать).
    ХБЗ. Главное что дало принципиальную возможность обучить современный ИИ на базе gpt - это когда перестали пытаться создать качественный и вылизанный датасет знаний, а скормили нейронке как можно больше мусора, т.е. вместо качества, взяли количеством (на пару порядков больше чем это имело бы смысл), добавив так же абсурдно много слоев и весов, затратив абсурдно больше вычислительных ресурсов, внезапно получили результат.

    Да, ИИ создали случайно, первоначально transformer загадывался как переводчик с языка на другой язык, а потом стали щупать, а он как орешки стал щелкать задачи обработки текста, классификации и т.п. а затем обнаружили что генерация бреда оказалась не такой уж и бредовой, в попытке найти закономерности в тоннах мусора, нейронная сеть сумела построить внутри себя модель интеллекта и знаний, криво, косо, глючно (через невероятно странный механизм, где добавление вероятностного механизма, т.е. буквально вместо нужной следующей буквы добавляют вероятность выбрать не самую лучшую, но это почему то улучшает итоговое качество а не ухудшает) у исследователей получилось эти знания от туда вытаскивать.
    Ответ написан
    Комментировать
  • Что за неизвестное занятое пространство в WinDirStat?

    @rPman
    В общем есть два случая, когда windirstat не должен быть способен посчитать место:
    * недостаточно прав (решается запуском под администратором с повышением привилегий)
    * shadow copy, режим теневых копий, смотреть в консоли с помощью утилиты
    vssadmin list shadowstorage
    vssadmin list shadows

    * еще есть момент, случайно так не получится, у ntfs файлов могут быть расширенные атрибуты, они могут занимать место но для получения их списка нужны специализированные утилиты, первое что нагуглилось, не проверял. На сколько я знаю если знаешь имя то можно открыть файл file_name:extended_attribute_name я так слышал вирусы себя прятали (можно сохранить так exe файл и запустить его) на практике этим мало кто пользуется официально и большого объема там не хранится
    Ответ написан
    Комментировать
  • Почему скорость работы асинхронного кода снижается?

    @rPman
    Скажи, о каких скоростях идет до и после повышения количества доменов?
    Что показывает нагрузка на процессор (асинхронный код использует в основном только одно ядро).

    Добавь подсчет количества запросов в секунду на каком то разумном интервале (например 1..10сек), по коду это просто переменная, которую увеличиваешь на 1 с каждым запросом и сбрасываешь, если остаток от деления текущего времени в timestamp на интервал в секундах изменилось, с последнего вывода, ну и выводишь значение переменной, поделив на этот же интервал.

    И главный вопрос, а с чего ты взял что сайт ifconfig.me будет отвечать тебе с бесконечной скоростью? Почти наверняка ты упираешься в какие то лимиты и тебе понижают количество запросов в секунду, через некоторое время лимит сбрасывается и твои тесты с малым количеством запросов работают быстрее.
    Ответ написан
  • Как и где легче создать свой шаблонный образ linux?

    @rPman
    Создавать qcow2 образ нужно локально на своей машине с помощью того же qemu, первоначальное создание пустого с помощью qemu-img.

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

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

    Интерфейс qemu для linux - libvirt, но если тебе однократно, то нет никакой необходимости в этом, достаточно разобраться в простых ключах коммандной строки.

    p.s. выбирай ту же архитектуру что использует провайдер vps, обычно это amd64 (x86_64), но возможны разные ситуации, вплоть до arm
    Ответ написан
    2 комментария
  • Как стримить изображение с видеокамеры, подключенной по HDMI к ПК на телевизоры в локальной сети?

    @rPman
    видеокамеры, подключенной по HDMI к ПК
    такое подключение возможно только при наличии карты видеозахвата с соответствующим входом (либо hdmi либо dvi-d, т.е. цифровой). Выбор карт определяется ее возможностями, usb карты не позволят брать несжатый поток, а дешевые не позволят адекватно настраивать качество сжатия. pci-e карты расширения по ценам начинаются от 7т.р.

    Софт - ffmpeg или vlc если нужен gui, позволяют запускать трансляции с карты видеозахвата или вести запись с перекодированием (если хватит мощности железа), кстати с ограниченной поддержкой gpu ускорения.
    Ответ написан
    1 комментарий
  • Подсчитывается ли интернет-трафик самой системой linux?

    @rPman
    Чтобы не устанавливать дополнительно приложений, просто прочитай файл /proc/net/dev, его читать достаточно удобно и глазами, и программно
    Ответ написан
  • Как создать хранилище с raid 1?

    @rPman
    raid бывают разные, под разные задачи. И да, резервировать данные можно и без raid, например простым копированием.

    Первое что нужно помнить, единственное от чего защищает raid1/3/5/6 - это от одного класса поломок оконечных устройств (в твоем случае жестких дисков) но не защитит от поломки контролера (или материнской платы) проблем с софтом или кривых рук пользователя (нажавшим удалить все).

    Для защиты от большинства проблем нужны инкрементальные бакапы с ограниченным доступом (т.е. к бакапам должен быть доступ только на чтение, кроме единственного приложения - которое делает эти бакапы).

    Теперь как - не важно, постоянно включен у тебя массив или эпизодически, делать его можно одинаково. Либо с помощью аппаратного контроллера (или целого nas или устройства в компютер raid controller), либо с помощью програмной настройки ОС

    В windows это можно сделать в свойства мой компьютер - управление компьютером - управление дисками - создать динамические тома (при их инициализации или конвертировать), можно делать сразу на основе целого диска или разделах (на разных дисках разделы должны быть одинакового размера). К сожалению майкрософт сильно ограничивает создание таких дисков, если они подключены по usb, т.е. это возможно и должно работать но почти наверняка штатно из gui создать не получится... но есть консольная gparted.

    В linux есть mdadm либо специализированные файловые системы типа btrfs или zfs.

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

    p.s. постоянное включение/выключение hdd вредит ему сильнее чем постоянная работа.
    Ответ написан
    2 комментария
  • Как правильно документировать разрастающуюся БД?

    @rPman
    Описывай все
    Очень хороший тон писать самодокументируемый код, среды разработки и всякие doxygen для обычных языков программирования, и хоть как то описывай базу данных, комментарии, правильное именование и само собой документация. Недостаточно сказать что вот тут лежат записи таких то объектов, опиши их отношения, количественные и не только ограничения, порядок участия в бизнеспроцессах и т.п.
    Ответ написан
    4 комментария
  • Как максимально сжать файлы в архиве?

    @rPman
    Уже сжатые изображения можно уменьшить только за счет понижения качества.

    Но есть надежда на нейронные сети (например сверточные или похожей архитектуры), особенно если изображения группировать по сходству и стилистики (например отдельно природа, отдельно портреты, отдельно космоснимки, отдельно снимки в микроскоп...) и для каждой группы обучать свою нейронную сеть (формально это произойдет само с одной сеткой, но такая может оказаться больше и обучаться будет дольше).
    spoiler
    Особенно хорошо это будет работать с видео (точно помню на хабре статью, где экспериментаторы сжимали видео до 20кб на кадр, получилось крипово но идея стоящая). На этом принципе кажется nvidia делает видеоэнкодер для видеочатов, со сверхнизким битрейтом (буквально пара килобайт/сек + полная передача первого кадра).


    Готовый код выуживать у исследователей, ссылок гуглится тьма но что то мне говорит в них разбираться сложно и долго
    Ответ написан
    Комментировать