Блог им. DenisVo

Эксперимент: торговая система на базе глубокого обучения от начала до реальных торгов. Часть III. Начинаем работу с TFX

Всем привет, 
если кому-то все еще интресно, мы продолжаем. Ох и медленно длится у меня процесс )

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



Код представленный в видео имеется на гитхабе, ссылка в описании. Так же имеются субтитры на русском.
★4
14 комментариев
Если не сложно, напишите несколько строк о характере проблем с TFX, пожалуйста.
старый трейдер, возможно мои проблемы возникают из-за слабого понимания внутренней реализации, однако как я уже описал выше, продукт немного сыроват. Все отлично работает на примерах от команды тенсорфлоу, но не очень работает на других примерах. 

Как я в видео упоминал, возникает первая же проблема при использовании ExampleGen компонента. Он отвечает за ввод данных в конвеер, а так же производит разбиение данных, однако что бы найти как это все работает надо покопаться :) и как выясняется, хоть этот компонент поддерживает разбиение данных на разные подсеты, остальные компоненты конвеера все еще продолжают работать только с test,eval подсетами. 
Так же к сожалению он не поддерживает разбиение времянных рядов по заданному времени. Люди предлагают написать свой компонент, но выглядит это как то не очень красиво. 
Что ж, эти проблемы решаемы предобработкой данных. 
Статистика генерируется на удивление без проблем :) так же как и генерирование описания данных, однако как я понял, если описание данные сгенерино исходя из статистики, то поменять его нельзя, ну или это не просто. Можно просто свое описание на вход подать. Но тут я глубоко не копал. 
Еще было замечено что именно перавый компонент не очень быстро работает. :) Надо будет посмотреть как обработка и генерация фич будет работать.
avatar
старый трейдер, нет, не совсем. Что касается разбиение на подсеты, то в зависимости от нужд. В целом конечно двумя подсетами можно всегда обойтись. 
следующий компонент в пайплайне, после этих четырех, как раз таки и отвечает за обработку данных: трансформация, нормализация, фича генерация… и тд. Там вроде как можно весь чудо функционал использовать и использовать и автоматически должно все распараллеливаться, строиться графы и все остальное. Именно этот компонент является наиболее интересным, так как функцию трансформации дальше можно и нужно деплоить совместно с моделью, соответственно мы получим один и тот же алгоритм обработки фич что для тренировки, что для работы в продакшене, это на мой взгляд довольно важный момент.
Но я пока еще в процессе, не могу точно сказать сработает ли так как задумано, хотя бы простое генерирование одной входной фичи для rnn.
avatar
Denis, от конкретного подхода зависит, мне достаточно обычного разбиения и нормализации, фичегенерация собственная.
старый трейдер, ну тут автоматически тоже фичи не создадутся. Я имел ввиду, что можно подавать на вход пайплайна например уже сгенерированные фичи которые прямо сразу в модель отправлять, а можно, и опять таки скажу — нужно, их создавать в определенном месте. Т.е. если у нас есть просто набор сырых данных и мы их как то трансформировать собираемся, тут лучше это делать в компоненте трансформ. Но сами сырые данные нужно подготовить заранее :)
avatar
Denis, ок, почитаю, убедили.
старый трейдер, можно все проще сделать… в какой нить фласк запихнуть, но это другая тема уж.
avatar
Denis, у меня уже сделано, читаю, чтобы не отстать от жизни.
Мне кажется вы в какой-то странной последовательности к вопросу подступаетесь — городите какую-то достаточно сложную систему не проверив, будет ли вообще какой-то результат от DL.  
avatar
Михаил, Вы возможно правы, однако когда при готовом конвеере менять модели, и проводить анализ их работы, должно быть довольно легко. 
avatar
Denis, на сколько я понимаю эта балайка придумана для масштабных проектов, где десятки моделей регулярно выкатываются и обновляют для доступа через веб, над моделями работает много инженеров и нужна формализация процесса на всех этапах. Соответсвенно, там накладных огромное количество. Если вы собираетесь эти модели крутить потом на тиковых данных, то имхо это не подходящий вариант. Тут нужно думать в сторону интегрированного решения с минимальными накладными расходами.
avatar
Denis, имхо лучше написать свой минималистичный тренинг луп, а не копаться с дебрях общего решения, которое совсем не под трейдинг заточено. 
avatar
Михаил, всегда можно пойти простым путем, даже спорить не буду :)
avatar

теги блога CloseToAlgoTrading

....все тэги



UPDONW
Новый дизайн