Склеить модель

Jul 22, 2022 13:07

Тем, кто занимается нейронками, надо срочно ввести в массовое употребление термин "склеил", чтобы фраза "мальчик в клубе склеил модель" обрела третье дыхание ( Read more... )

программирование

Leave a comment

Comments 18

lyuden July 22 2022, 06:34:01 UTC
> То, что в Python библиотеки ставятся глобально, а работу с разными наборами библиотек предлагают решать переключением глобальной среды - это конечно архитектурно-пользовательская дичь, за которую Гвидо Россума надо хорошенько поджарить.

А чем воркфлоу с виртуальными окружениями отличается принципиально от любого другого языка с пэкет менеджментом, я не очень понимаю чем в 99% случаев pip, отличается от npm. Ну т.е. да можно конечно поставить библиотеки питоновские на всю систему, ну так и у npm есть global. Но я за всю свою более чем десятилетнюю карьеру питон программиста этого не делал (в трезвом уме и сознании в том что потом пошло в продакшен :) ). Тем более после появления докера. Мне кажется что просто не хватает информации. python -m venv ?

Reply

kvisaz July 22 2022, 06:55:10 UTC
тем что локализация изменений - это не пустой звук, это архитектурный принцип, выстраданный за десятки лет

глобальную установку можно делать и в npm, и многие так и делают - особенно если инструмент требуется пользователю, а не программе. К примеру, установщик каких-то шаблонов или утилита для работы с файлами.

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

Спустя годы ты возвращаешься к этой программе и хопа - она работает!
А уже спустя полгода мне надо снова разбираться в Python пакетах - под какой средой они у меня ставились и вообще сохранилась ли эта среда

Reply

lyuden July 22 2022, 07:02:13 UTC
> но если нам нужны конкретные версии библиотеки для работы пакета, то их лучше класть рядом с пакетом, в его личную папку зависимостей - это снижает вероятность конфликта и обеспечивает работоспособность спустя годы.

Hу да это стандартная практика сколько я себя помню питон программистом. Очень давно мы делали gz файлы, типа тех что сейчас требуются для Amazon Lambda.

Сейчас это все опять же делается через докер образы в которых зашиты конкректный код библиотек.

Да видимо документации где то не хватает, чтобы люди пользовались best practices, но нет это не проблема, по крайней мере где то с 2016го ( а скорее всего и раньше)

Reply

kvisaz July 22 2022, 07:06:54 UTC
докер - решение от безысходности. Давайте мы к нашей системе подсадим еще почти полноценную систему в виртуальной коробке.

Одобряю докер как лекарство против того, что есть. Избегаю докера когда это возможно.

Невозможно завернуть в докер все необходимые программы - ни одно железо не потянет.

Reply


lipkalapka July 22 2022, 06:54:33 UTC
«Конкретно для игр это когда-то было актуально, но с ростом разрешений и текстур мы пришли к тому, что средняя современная игра по весу составляет под сто гигабайт и дать полную независимость за счет включенных внутрь, а не общих решений было бы дешевым решеним», - ну вот поэтому и не желают ещё и библиотеки с собой таскать, что картинками сто гигов забито ( ... )

Reply

kvisaz July 22 2022, 07:12:28 UTC
несжатые текстуры - лангольеры жестких дисков )

А еще их может быть несколько пачек, если решили поддерживать и низкое разрешение на слабых компьютерах.

За PC игры не отвечу, но в мобильных приложениях несколько паков текстур под разные разрешения - официально рекомендуемая практика от Google

Reply

lipkalapka July 22 2022, 07:25:40 UTC
«несколько паков текстур под разные разрешения» -- это не проблема, в трехмерках от первого лица всё одно текстуры на разный «масштаб» идут, пока нейросетку не приучили их на ходу перерисовывать : )
тут встречный момент/вопрос: текстуры же эти не кисточкой на бумажке перерисовывают (я надеюсь), а процедурно творят из нескольких накликанных картинок. Чтобы их не создавать при запуске приложения на "темп-диске", а подтиркой этого хлама чтобы система занималась?

Reply

kvisaz July 22 2022, 07:50:48 UTC
а регенерация текстуры или уменьшение - это нагрузка на процессор, то есть для слабых машин опять засада ))

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

Reply


alser69rus July 22 2022, 08:26:57 UTC
А еще в ряде случаев проще собрать exe'шник pyinstaller'ом чем поддерживать зависимости, поскольку виртуальные окружения имеют свои глюки. Хотя это на корню убивает идею интерпретируемости скрипта.

Reply

kvisaz July 22 2022, 11:59:49 UTC
хорошая тема кстати
возьму на вооружение

Reply


justy_tylor July 22 2022, 14:52:20 UTC
Гадюшня глобальных установок это не изобретение Гвидо, а канононичный Unix way (юнихвей). Когда всё в одну помойку, а если не влезает - придумываются другие помойки вроде usr. Отсюда и "установка" вместо "копирования", и прочие неприятности.

А чтобы сделать хорошо (но при этом дедуплицированно) - желательны сильно альтернативные сегодняшним решения даже в плане файловых систем.

Reply

kvisaz July 23 2022, 07:47:17 UTC
спасибо за анализ
я сам с историей и настройками Unix знаком хуже

Reply


Leave a comment

Up