Size: a a a

AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2

2021 April 13

RY

Ruslan515 Y in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
ок
источник

in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Сделай свою функцию, обрабатывающую запрос callable объектом, а модель закинь как атрибут
источник

M

Max in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Всем привет 🙋🏻‍♂️ Подскажите, пожалуйста, может кто знает. Нужно из csv через питон вытащить данные в SQL оракловый. В строке csv есть пустые значения, обозначаются «\N». Как их преобразовать в NULL для SQL?
источник

D

Dima in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
'' ,когда инсертишь в оракл,вроде,как нал интерпретируется (но не уверен, в постгре точно так работает)
источник

M

Max in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
В питоне не работает. Если в таблице стоит тип number, то выкидывает ошибку😬
источник

D

Dima in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
перед инсертом преобразовать в строку?) ( но мб это говнокод будет)
источник

D

Dima in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
еще можно при инсерте не указывать колонку+значение,если значение нал, то оракл самостоятельно вставит нал в запись
источник

M

Max in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Сейчас буду пробовать) Спасибо)
источник
2021 April 14

DD

David Dale in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Если ты модель не пытаешься обучать, а только инференс делаешь, то, если можель написана не через задницу, на параллельность пофиг.
Если глобальный объект никак не модифицируется в процессе вызова функции, то не важно, глобальный он или локальный.
А большинство ML моделек запрограммированы именно так, что во время инференса никакие их параметры не меняются. Все переменные, которые нужны для инференса, либо являются константами, либо вычисляются внутри функции, делающей предсказание (например, метода forward в pytorch). Так что если ты этот метод вызовешь из нескольких потоков одновременно, в каждом вызове он будет работать со своим собственным контекстом.
Поэтому я бы предложил оставить код как есть и расслабиться.
источник

AG

Arseny Gorbunov in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Спасибо, пока оставлю так. Но все равно не понимаю, как происходят параллельные запросы к глобальной модели. Т.е. если нам прилетело несколько запросов на сервер, по хорошему мы должны ждать, пока модель обработает первый запрос, а потом переходить ко второму и т.д. Пытаюсь разобраться, но пока не смог найти где это явно прописано.
источник

DD

David Dale in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Это зависит чисто от того, как устроен сервер.
В целом, в питоне есть около примерно три вида параллельности: multithreading, multiprocessing и асинхронность.
Из них реально опасный только multithreading, т.к. в случае multiprocessing у тебя своя копия модели в каждом процессе, а в случае async ты полностью контролируешь переключение между ветками.
Если ты кодишь на flask и запускаешь сервер на gunicorn, там multithreading и multiprocessing могут быть.
В случае multithreading твой процессор в произвольные моменты времени может переключаться между разными потоками вычислений. Но коль скоро каждый поток работает со своим личным набором неконстантных переменных, то при возвращении в текущий поток его состояние будет таким, в каком мы его оставили, так что ничего страшного происходить не должно.
Трэш  может начаться, если ты в фоновом режиме попробуешь обновлять модель, тогда могут полезть трудноуловимые баги.
источник

AG

Arseny Gorbunov in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Отличный ответ, спасибо. Это примерно то, что я узнал за целый день поиска, но не смог упорядочить. А тут все по полочкам.
Вопросик такой. Получается если моя модель весит 700 мб, то в режиме multiprocessing я получу копию модели в памяти на каждый процесс. Количество процессов равно количество воркеров, которые как бы подгружают модель, чтобы она дала быстрый ответ на запрос. Т.е. при четырех воркерах у меня будет занято почти 3 гига памяти?
В FastAPI, насколько я понял, может решается асинхронностью. Т.е. в случае толстых моделей стоит переходить на него?
источник

DD

David Dale in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Да, про зависимость памяти от количества воркеров утверждение верное.
В случае толстых моделей, я боюсь, асинхронность не сильно поможет, т.к. скорее всего узким местом у тебя будет CPU всё равно
источник

AG

Arseny Gorbunov in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Большое спасибо
источник

MM

Matvey Ma in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Всем привет, скажите пожалуйста, перед подачей изображения на вход условного UNet'а какие приемы применяются для предобработки снимков кроме аугментации. Что дает +- качественный результат. Сегментирую RGB спутниковые снимки
источник

ГГ

Георгий Громов... in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
А кто то вообще знает что то про работу в телеграмме, мб статья какая то есть, а то не на levels fyi, ни на сайте особой инфы нет
источник

D•

Dan • Captain in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
что именно тебя интересует?
источник

MM

Matvey Ma in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
А по глубокому обучению есть еще какие-нибудь чатики?
источник

S

Scientist in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Список айтишных чатов и каналов телеграма:
https://github.com/goq/telegram-list
источник

ГГ

Георгий Громов... in AI / Big Data / Machine Learning 👮‍♂️ Protected by R2D2
Какие команды есть? Какие условия? Как вообще офис выглядит?Как бонусы работают?
источник