New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 836098 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocked on:
issue 836095
issue 836100


Participants' hotlists:
ML-Service


Sign in to add a comment

ML Service: Implement inference part of Mojo service

Project Member Reported by amoylan@chromium.org, Apr 24 2018

Issue description

When a client of ML Service calls Model.CreateGraphExecutor and then GraphExecutor.Execute, we need to use TensorFlow to actually evaluate the given model and return the results.
 
Blockedon: 836100
Cc: napper@chromium.org
Owner: martis@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 5 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/26abcd822eea3e23e262623d0a0bb3ec30af3606

commit 26abcd822eea3e23e262623d0a0bb3ec30af3606
Author: Michael Martis <martis@chromium.org>
Date: Thu Aug 23 20:20:52 2018

ml: Add GraphExecutor implementation.

The GraphExecutorImpl class allows for execution of TensorFlow lite
graphs using input specified via Tensor Mojo messages.

This change also moves all existing logic (except the main
function) into a static library, which is used to run unit tests.

BUG= chromium:836098 
TEST=Unit tests added.

Change-Id: I9448af0465544a8ac436a36376a617e2df621202
Reviewed-on: https://chromium-review.googlesource.com/1166275
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Michael Martis <martis@chromium.org>
Reviewed-by: Michael Martis <martis@chromium.org>

[add] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/graph_executor_impl.cc
[add] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/graph_executor_impl_test.cc
[add] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/tensor_view.cc
[add] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/graph_executor_impl.h
[add] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/tensor_view.h
[modify] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/mojom/tensor.mojom
[modify] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/ml.gyp
[modify] https://crrev.com/26abcd822eea3e23e262623d0a0bb3ec30af3606/ml/mojom/graph_executor.mojom

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/a967f63f5ff7b6ea6b582e8544c5060fd055925d

commit a967f63f5ff7b6ea6b582e8544c5060fd055925d
Author: Michael Martis <martis@chromium.org>
Date: Fri Aug 31 12:23:36 2018

ml: Add Model implementation.

The ModelImpl class holds a loaded TF lite model and produces
GraphExecutor objects that can be used to perform inference with
this model.

This CL also breaks out some test logic into a separate utility,
and adds a global testrunner main (which sets up a Mojo message
loop).

BUG= chromium:836098 
TEST=Unit tests added.

Change-Id: I076bbe91a7e633299405b895f0705b795f0c2b0b
Reviewed-on: https://chromium-review.googlesource.com/1170143
Commit-Ready: Michael Martis <martis@chromium.org>
Tested-by: Michael Martis <martis@chromium.org>
Reviewed-by: Michael Martis <martis@chromium.org>

[modify] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/graph_executor_impl_test.cc
[modify] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/mojom/model.mojom
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/model_impl_test.cc
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/model_impl.h
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/model_impl.cc
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/testrunner.cc
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/test_utils.h
[modify] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/ml.gyp
[add] https://crrev.com/a967f63f5ff7b6ea6b582e8544c5060fd055925d/ml/testdata/add.tflite

Components: UI>ML>Service
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/a74af93c06e4657fd44fd86332c0638c6e190331

commit a74af93c06e4657fd44fd86332c0638c6e190331
Author: Michael Martis <martis@chromium.org>
Date: Sun Sep 09 17:33:50 2018

ml: Add model loading logic to the ML service.

This change allows MachineLearningServiceImpl objects to bind
ModelRequests. They do this using a static list of model
metadata, which right now holds only one test model.

BUG= chromium:836098 
TEST=Unit tests added.

Change-Id: I6b7917f2ef2919e70670b88efbf9ae43d3bd8fcc
Reviewed-on: https://chromium-review.googlesource.com/1172236
Commit-Ready: Michael Martis <martis@chromium.org>
Tested-by: Michael Martis <martis@chromium.org>
Reviewed-by: Michael Martis <martis@chromium.org>

[modify] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/mojom/machine_learning_service.mojom
[modify] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/mojom/model.mojom
[modify] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/machine_learning_service_impl.cc
[add] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/model_metadata.cc
[modify] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/machine_learning_service_impl.h
[add] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/model_metadata.h
[add] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/machine_learning_service_impl_test.cc
[modify] https://crrev.com/a74af93c06e4657fd44fd86332c0638c6e190331/ml/ml.gyp

Status: Fixed (was: Started)

Sign in to add a comment