profile
viewpoint
Eugene Zhulenev ezhulenev Google SFBA http://eugenezhulenev.com/ Software Engineer at Google Brain, working on @tensorflow.

ezhulenev/orderbook-dynamics 651

Modeling high-frequency limit order book dynamics with support vector machines

ezhulenev/ergodicity 81

Akka Actor based trading system for Moscow Stock Exchange (http://moex.com/en/)

ezhulenev/distributo 70

ECS Scheduler for Running Massive Parallel Computations

ezhulenev/marketdb 32

Market time series database

ezhulenev/scala-openbook 32

Scala library for parsing TAQ NYSE OpenBook Ultra

ezhulenev/akka-var-calculation 14

Akka Cluster for Value-at-Risk calculation

ezhulenev/hyperloglogplus 12

Haskell implementation of HyperLogLog++ & MinHash for efficient cardinality and intersection estimation

ezhulenev/scalafi 3

Financial data analysis and market models in Scala language

ezhulenev/finagled-movie-db 2

Seamless migration from monolithic application to Finagle services

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

pull request commenttensorflow/tensorflow

Enable Conv + Biasadd + LeakyRelu Fusion with Eigen implementation in CPU

CopyConv2DAttributes is missing an activation pointer, and it does not copy the alpha value. Can you please also add a test to catch this bug.

retonym

comment created time in a month

pull request commenttensorflow/tensorflow

Enable Conv + Biasadd + LeakyRelu Fusion with Eigen implementation in CPU

LeakyRelu alpha is 0.0 in test, but 0.2 in _FusedConv2D node.

retonym

comment created time in a month

pull request commenttensorflow/tensorflow

Enable Conv + Biasadd + LeakyRelu Fusion with Eigen implementation in CPU

It was automatically rolled back because of internal test failure. Will take a look tomorrow.

"strided_convolution_stack_layer_test.py", line 119, in test_strided_conv2d_stack_leaky_relu
    self.assertTrue((output >= 0).all())
AssertionError: False is not true
retonym

comment created time in a month

pull request commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

Still waiting for internal team to fix the problem on their side. The gist is that they use selective op registration, and they are running large integration test to verify that they can register all TF ops in their binary. Hopefully will get some results this week.

ShengYang1

comment created time in a month

PullRequestReviewEvent

pull request commenttensorflow/tensorflow

[INTEL MKL] Enable NCHW to NHWC conversion for CPU - part1.

This PR failed internally:

tensorflow/core/grappler/optimizers:generic_layout_optimizer_test |  
Build Flags: --config=cuda --compilation_mode=opt
third_party/tensorflow/core/grappler/optimizers/generic_layout_optimizer_test.cc:224: Failure
Expected equality of these values:
  attr->s()
    Which is: "NHWC"
  attr_value
    Which is: "NCHW"
mdfaijul

comment created time in a month

pull request commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

I did a little bit of debugging, and it seems like it's purely internal problem. I'll try to roll it forward tomorrow.

ShengYang1

comment created time in a month

pull request commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

{{node Greater_6}} = Greater[T=DT_FLOAT, _output_shapes=[[?,1,50,1]], _device="/job:localhost/replica:0/task:0/device:CPU:0"](Reshape_28, Greater_1/y) device: /job:localhost/replica:0/task:0/device:CPU:0

{{node ToFloat_12}} = Cast[DstT=DT_FLOAT, SrcT=DT_BOOL, Truncate=false, _output_shapes=[[?,1,50,1]], _device="/job:localhost/replica:0/task:0/device:CPU:0"](Greater_6) device: /job:localhost/replica:0/task:0/device:CPU:0
ShengYang1

comment created time in a month

pull request commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

	.  Registered:  <no registered kernels>

Rewrite accidentally swapped nodes for unsupported types? Does not see the type in the logs unfortunately.

ShengYang1

comment created time in a month

Pull request review commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

 TEST_F(RemapperTest, FuseConv2DWithSqueezeAndBias) { } #endif +#define REGISTER_TEST_ALL_TYPES(TEST) \+  REGISTER_TEST(TEST, DT_FLOAT);      \+  REGISTER_TEST(TEST, DT_BFLOAT16);++#define REGISTER_TEST(CMP, TYPE)                                              \

Can you pull this test into a template function and reduce the size of the macro. Ideally I would not use macros at all, and just manually create all the test combinations, or at least leave only the function call inside the macro body.

ShengYang1

comment created time in 2 months

Pull request review commenttensorflow/tensorflow

[INTEL MKL] Comparison and cast op fusion

 bool FindFusedBatchNormEx(const RemapperContext& ctx, int node_index,   return false; } +bool FindComparisonWithCast(const RemapperContext& ctx, int node_index,

Can you please document what pattern this function is looking for, it's a bit hard to parse it from the code.

ShengYang1

comment created time in 2 months

pull request commenttensorflow/tensorflow

[Intel MKL] Code clean up based on static code analysis

It can't actually be null because of the properties of graph view, if it is null it's a serious bug that I'd prefer to get a segfault then silently returning false.

yimeisun123

comment created time in 3 months

pull request commenttensorflow/tensorflow

[Intel MKL] Code clean up based on static code analysis

Is it the problem with "maybe null pointer"? Or it actually fails at runtime with nullptr dereferencing?

yimeisun123

comment created time in 3 months

Pull request review commenttensorflow/docs-l10n

[RU] Translated keras.md (TensorFlow 2.x in TFX) into Russian

+# Использование TensorFlow 2.x в рамках TFX++[Библиотека TensorFlow 2.0 появилась в 2019 году](https://blog.tensorflow.org/2019/09/tensorflow-20-is-now-available.html) и, помимо прочих нововведений, представила такие [улучшения](https://www.tensorflow.org/guide/effective_tf2#a_brief_summary_of_major_changes), как [тесная интеграция с Keras](https://www.tensorflow.org/guide/keras/overview), использование [режима eager execution](https://www.tensorflow.org/guide/eager) по умолчанию и [выполнение функций с использованием естественного синтаксиса Python](https://www.tensorflow.org/guide/function).++В этом руководстве подробно рассмотрены технические особенности работы с TF 2.x в среде TFX.++## Совместимость версий++Платформа TFX совместима с TensorFlow 2.x и высокоуровневыми API из TensorFlow 1.x (в частности, с Estimator).++### Создание проектов в TensorFlow 2.x++Так как в TensorFlow 2.x остались высокоуровневые возможности из TensorFlow 1.x, использовать старую версию в новых проектах нецелесообразно, даже если новые функции не нужны.++Соответственно, при создании проекта на TFX лучше сразу перейти на TensorFlow 2.x. В будущем, когда появится полная поддержка Keras и другие важные функции, вам придется внести гораздо меньше изменений в код, если он изначально создавался под TensorFlow 2.x, а не TensorFlow 1.x.++### Перенос уже имеющихся проектов на TensorFlow 2.x++Код, написанный для TensorFlow 1.x, в основном совместим с TensorFlow 2.x и продолжит работать на TFX.++Однако если вы хотите использовать возможности и улучшения новой версии, выполните [миграцию на TF 2.x](https://www.tensorflow.org/guide/migrate).++## Estimator++API Estimator остался в TensorFlow 2.x, однако нововведения его не коснулись. Код, написанный для TensorFlow 1.x или 2.x с использованием Estimator, будет работать на TFX как и прежде.++Вот законченный пример использования Estimator в чистом виде на TFX: [Taxi (Estimator)](https://github.com/tensorflow/tfx/blob/r0.21/tfx/examples/chicago_taxi_pipeline/taxi_utils.py).++## Keras с функцией `model_to_estimator`++Функция `tf.keras.estimator.model_to_estimator` позволяет преобразовать модель Keras в объект Estimator и работать с ней так же, как с любым другим объектом данного типа. Для этого:++1. Постройте модель Keras.+2. Передайте скомпилированную модель в функцию `model_to_estimator`.+3. Используйте результат функции `model_to_estimator` в компоненте Trainer в качестве объекта Estimator.++```py+# Построение модели Keras.+def _keras_model_builder():+  """Создание модели Keras."""+  ...++  model = tf.keras.Model(inputs=inputs, outputs=output)+  model.compile()++  return model+++# Создание типовой функции trainer+def trainer_fn(trainer_fn_args, schema):+  """Построение estimator с помощью функции model_to_estimator."""+  ...++  # Преобразование модели в estimator+  estimator = tf.keras.estimator.model_to_estimator(+      keras_model=_keras_model_builder(), config=run_config)++  return {+      'estimator': estimator,+      ...+  }+```++Изменяется только пользовательский модуль компонента Trainer; остальная часть конвейера остается прежней. Вот законченный пример использования Keras с функцией model_to_estimator на TFX: [Iris (model_to_estimator)](https://github.com/tensorflow/tfx/blob/r0.21/tfx/examples/iris/iris_utils.py).++## Нативный Keras (Keras без функции `model_to_estimator`)++Примечание. Хотя полная поддержка всех возможностей Keras еще не реализована, в большинстве случаев Keras на TFX работает корректно. Разреженные признаки при работе с FeatureColumns пока что не поддерживаются.

Разреженные признаки (Sparse Features)? Чтобы было проще найти как это называется в коде.

gitlocalize-app[bot]

comment created time in 3 months

Pull request review commenttensorflow/docs-l10n

[RU] Translated keras.md (TensorFlow 2.x in TFX) into Russian

+# Использование TensorFlow 2.x в рамках TFX++[Библиотека TensorFlow 2.0 появилась в 2019 году](https://blog.tensorflow.org/2019/09/tensorflow-20-is-now-available.html) и, помимо прочих нововведений, представила такие [улучшения](https://www.tensorflow.org/guide/effective_tf2#a_brief_summary_of_major_changes), как [тесная интеграция с Keras](https://www.tensorflow.org/guide/keras/overview), использование [режима eager execution](https://www.tensorflow.org/guide/eager) по умолчанию и [выполнение функций с использованием естественного синтаксиса Python](https://www.tensorflow.org/guide/function).++В этом руководстве подробно рассмотрены технические особенности работы с TF 2.x в среде TFX.++## Совместимость версий++Платформа TFX совместима с TensorFlow 2.x и высокоуровневыми API из TensorFlow 1.x (в частности, с Estimator).++### Создание проектов в TensorFlow 2.x++Так как в TensorFlow 2.x остались высокоуровневые возможности из TensorFlow 1.x, использовать старую версию в новых проектах нецелесообразно, даже если новые функции не нужны.++Соответственно, при создании проекта на TFX лучше сразу перейти на TensorFlow 2.x. В будущем, когда появится полная поддержка Keras и другие важные функции, вам придется внести гораздо меньше изменений в код, если он изначально создавался под TensorFlow 2.x, а не TensorFlow 1.x.++### Перенос уже имеющихся проектов на TensorFlow 2.x++Код, написанный для TensorFlow 1.x, в основном совместим с TensorFlow 2.x и продолжит работать на TFX.++Однако если вы хотите использовать возможности и улучшения новой версии, выполните [миграцию на TF 2.x](https://www.tensorflow.org/guide/migrate).++## Estimator++API Estimator остался в TensorFlow 2.x, однако нововведения его не коснулись. Код, написанный для TensorFlow 1.x или 2.x с использованием Estimator, будет работать на TFX как и прежде.++Вот законченный пример использования Estimator в чистом виде на TFX: [Taxi (Estimator)](https://github.com/tensorflow/tfx/blob/r0.21/tfx/examples/chicago_taxi_pipeline/taxi_utils.py).++## Keras с функцией `model_to_estimator`++Функция `tf.keras.estimator.model_to_estimator` позволяет преобразовать модель Keras в объект Estimator и работать с ней так же, как с любым другим объектом данного типа. Для этого:++1. Постройте модель Keras.+2. Передайте скомпилированную модель в функцию `model_to_estimator`.+3. Используйте результат функции `model_to_estimator` в компоненте Trainer в качестве объекта Estimator.++```py+# Построение модели Keras.+def _keras_model_builder():+  """Создание модели Keras."""+  ...++  model = tf.keras.Model(inputs=inputs, outputs=output)+  model.compile()++  return model+++# Создание типовой функции trainer+def trainer_fn(trainer_fn_args, schema):+  """Построение estimator с помощью функции model_to_estimator."""+  ...++  # Преобразование модели в estimator+  estimator = tf.keras.estimator.model_to_estimator(+      keras_model=_keras_model_builder(), config=run_config)++  return {+      'estimator': estimator,+      ...+  }+```++Изменяется только пользовательский модуль компонента Trainer; остальная часть конвейера остается прежней. Вот законченный пример использования Keras с функцией model_to_estimator на TFX: [Iris (model_to_estimator)](https://github.com/tensorflow/tfx/blob/r0.21/tfx/examples/iris/iris_utils.py).

Изменяется только пользовательский модуль компонента Trainer как то не очень звучит, но ничего лучше в голову не приходит. Может быть есть еще какие то альтернативы?

gitlocalize-app[bot]

comment created time in 3 months

Pull request review commenttensorflow/docs-l10n

[RU] Translated keras.md (TensorFlow 2.x in TFX) into Russian

+# Использование TensorFlow 2.x в рамках TFX++[Библиотека TensorFlow 2.0 появилась в 2019 году](https://blog.tensorflow.org/2019/09/tensorflow-20-is-now-available.html) и, помимо прочих нововведений, представила такие [улучшения](https://www.tensorflow.org/guide/effective_tf2#a_brief_summary_of_major_changes), как [тесная интеграция с Keras](https://www.tensorflow.org/guide/keras/overview), использование [режима eager execution](https://www.tensorflow.org/guide/eager) по умолчанию и [выполнение функций с использованием естественного синтаксиса Python](https://www.tensorflow.org/guide/function).++В этом руководстве подробно рассмотрены технические особенности работы с TF 2.x в среде TFX.++## Совместимость версий++Платформа TFX совместима с TensorFlow 2.x и высокоуровневыми API из TensorFlow 1.x (в частности, с Estimator).++### Создание проектов в TensorFlow 2.x++Так как в TensorFlow 2.x остались высокоуровневые возможности из TensorFlow 1.x, использовать старую версию в новых проектах нецелесообразно, даже если новые функции не нужны.++Соответственно, при создании проекта на TFX лучше сразу перейти на TensorFlow 2.x. В будущем, когда появится полная поддержка Keras и другие важные функции, вам придется внести гораздо меньше изменений в код, если он изначально создавался под TensorFlow 2.x, а не TensorFlow 1.x.++### Перенос уже имеющихся проектов на TensorFlow 2.x++Код, написанный для TensorFlow 1.x, в основном совместим с TensorFlow 2.x и продолжит работать на TFX.++Однако если вы хотите использовать возможности и улучшения новой версии, выполните [миграцию на TF 2.x](https://www.tensorflow.org/guide/migrate).++## Estimator++API Estimator остался в TensorFlow 2.x, однако нововведения его не коснулись. Код, написанный для TensorFlow 1.x или 2.x с использованием Estimator, будет работать на TFX как и прежде.

Estimator API звучит более натурально.

gitlocalize-app[bot]

comment created time in 3 months

more