Как стать автором
Обновить

Комментарии 5

Привет. Судя по всему я единственный, кто прочитал этот длинный маркетинговый текст.
1. По тексту встречаются f-strings, значит у вас питон старше 3.7. В таком случае (да вообще уже в любом случае) `pip install asyncio` делать НЕ надо, это builtin библиотека.
2. `if a.attachments is not None and len(a.attachments)>0` — типичный код человека, пришедшего из мира C# :) if a.attachents более чем достаточно, оно проверит и на неравенство с None и если это контейнер — на то что он не пустой.
3. К чему тут было упоминание вашей библиотеки я не понял, но по ней тоже очень чувствуется, что люди пришли из мира энтерпрайза и теперь им хочется усложнить все пайплайнами.

Точно не единственный, я тоже это прочитал до конца. За замечания спасибо! Не очень понял, почему текст маркетинговый: я в докладе старался показать, как сделать конкретную поделку, какие сервисы выбрать и как использовать для этого.
Насчет пайплайнов, вопрос интересный: если мне нужно, к примеру, взять набор картинок из директории, применить к ним ряд преобразований (масштабирование, поворот, что-то ещё из компьютерного зрения) и потом это подать на вход нейросети — как это сделать кошерно, Pythonic way? В keras, например, есть ImageDataGenerator, но он решает одну конкретную задачу. Если я хочу например формировать входные данные для тренировки сиамской сети, или triplet loss — мне нужно делать свой DataGenerator на основе существующего. В то же время функциональный подход позволяет строить композицию простых шагов обработки, и из них собирать требуемую функциональность как из конструктора. Я беседовал с людьми на ряде питоновских конференций, и кажется такой подход выглядит вполне симпатичным.

Такие штуки в питоне делаются на итераторах и генераторах. Если же очень хочется принести именно пайплайны — стоило посмотреть на их реализацию в sklearn.pipeline

Наши пайплайны — это и есть генераторы, поверх которых навешен синтаксис пайплайнов из библиотеки Pipe и набор функций, позволяющих функционально описывать операции над полями структур, проходящих через цепочки обработчиков. Образно говоря, мы сделали для Python то, чем является LINQ для классического C#

pythonic и unpythonic это же про синтаксис и оформление, а не про то, что внутри. Скрывать генераторы с помощью неявного синтаксиса впрямую противоречит второму коану питона:
www.python.org/dev/peps/pep-0020
Зарегистрируйтесь на Хабре, чтобы оставить комментарий