Giter Site home page Giter Site logo

samsung / one Goto Github PK

View Code? Open in Web Editor NEW
414.0 45.0 144.0 774.68 MB

On-device Neural Engine

License: Other

CMake 2.85% C++ 82.89% C 6.12% Shell 2.68% Python 5.11% Dockerfile 0.05% C# 0.05% Java 0.05% Makefile 0.03% Roff 0.09% Assembly 0.08%
on-device-ai neural-network runtime compiler optimization

one's Introduction

GitHub release (latest SemVer) Documentation Status GitHub commit activity Gitter

ONE (On-device Neural Engine)

ONE Logo

A high-performance, on-device neural network inference framework.

Goal

This project ONE aims at providing a high-performance, on-device neural network (NN) inference framework that performs inference of a given NN model on processors, such as CPU, GPU, DSP or NPU.

We develop a runtime that runs on a Linux kernel-based OS platform such as Ubuntu, Tizen, or Android, and a compiler toolchain to support NN models created using various NN training frameworks such as Tensorflow or PyTorch in a unified form at runtime.

Overview

Getting started

  • For the contribution, please refer to our contribution guide.
  • You can also find various how-to documents here.

Feature Request

You can suggest development of ONE's features that are not yet available.

The functions requested so far can be checked in the popular feature request list.

  • If the feature you want is on the list, ๐Ÿ‘ to the body of the issue. The feature with the most ๐Ÿ‘ is placed at the top of the list. When adding new features, we will prioritize them with this reference. Of course, it is good to add an additional comment which describes your request in detail.

  • For features not listed, create a new issue. Sooner or later, the maintainer will tag the FEATURE_REQUEST label and appear on the list.

We expect one of the most frequent feature requests would be the operator kernel implementation. It is good to make a request, but it is better if you contribute by yourself. See the following guide, How to add a new operation, for help.

We are looking forward to your participation. Thank you in advance!

How to Contact

  • Please post questions, issues, or suggestions into Issues. This is the best way to communicate with the developer.
  • You can also have an open discussion with community members through gitter.im channel.

one's People

Contributors

ai-moiseev avatar ashedko avatar balyshevartem avatar binarman avatar chunseoklee avatar d-krylov avatar dayo09 avatar dr-venkman avatar glistening avatar hseok-oh avatar hyunsik-yoon avatar jinevening avatar jyoungyun avatar kvochko avatar lemmaa avatar llfreetimell avatar m-bronnikov avatar mhs4670go avatar periannath avatar ragmani avatar seanshpark avatar seunghui98 avatar slavikmipt avatar stamalakhov avatar struss avatar toomuchsalt avatar underflow101 avatar wateret avatar yongseopkim avatar zetwhite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

one's Issues

[onert] Support fp16 mode on acl

current armnn supports fp16 mode (v19_11)

  • Iv3_2018 (fp32 -> fp16)
    • mem: 343388 kB -> 210848 kB
    • perf: 682.39 ms -> 426.48 ms

Tasks

  • Introduce Half lib from opensource half_float: #44
  • Option fp16_enable: #45
  • Introduce Converting Ops: #47
    • ConvertFp32ToFp16
    • ConvertFp16ToFp32
  • Fix IConstantInitializer for type float16 #184
  • Fix ACL_CL
    • ShapeFixer #171
    • acl_common/Convert.cc asDataType() #183
    • Append KernelGenerator's the ops #170
  • Introduce Fp32ToFp16Converter #200
  • Run Fp32ToFp16Converter by Option FP16_ENABLE #200

[CI] x64-push-builder-tester failed!

Last 50 lines of output:

[       OK ] ShapeInference.DepthwiseConv2D (0 ms)
[ RUN      ] ShapeInference.Concat
[       OK ] ShapeInference.Concat (0 ms)
[ RUN      ] ShapeInference.FullyConnected
[       OK ] ShapeInference.FullyConnected (0 ms)
[----------] 9 tests from ShapeInference (0 ms total)

[----------] 6 tests from AllExecutors/SchedulerTestWithExecutorParam
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/0
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/0 (1 ms)
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/1
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/1 (0 ms)
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/2
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.straight_graph_known_exec_time/2 (1 ms)
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/0
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/0 (1 ms)
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/1
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/1 (0 ms)
[ RUN      ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/2
[       OK ] AllExecutors/SchedulerTestWithExecutorParam.branched_graph_known_exec_time/2 (1 ms)
[----------] 6 tests from AllExecutors/SchedulerTestWithExecutorParam (4 ms total)

[----------] Global test environment tear-down
[==========] 48 tests from 16 test cases ran. (6 ms total)
[  PASSED  ] 48 tests.
============================================
Finishing set 5: /home/jenkins_slave/workspace/nnfw/master/push-x64-builder-tester/Product/out/unittest/test_onert...
============================================
============================================
Starting set 6: /home/jenkins_slave/workspace/nnfw/master/push-x64-builder-tester/Product/out/unittest/test_onert_frontend_nnapi...
============================================
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from MODEL
[ RUN      ] MODEL.model_build
[       OK ] MODEL.model_build (0 ms)
[----------] 1 test from MODEL (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.
============================================
Finishing set 6: /home/jenkins_slave/workspace/nnfw/master/push-x64-builder-tester/Product/out/unittest/test_onert_frontend_nnapi...
============================================
============================================
Failed unit test... exit code: 139
============================================
Build step 'Execute shell' marked build as failure

View full output

[CI] push-tizen-gbs-builder failed!

Last 50 lines of output:

[  361s] [ 98%] Built target onert_backend_acl_cl
[  361s] [ 98%] Linking CXX executable FillFrom_runner
[  361s] [ 98%] Built target FillFrom_runner
[  362s] /home/abuild/rpmbuild/BUILD/nnfw-1.3.0/tests/tools/nnpackage_run/src/args.cc: In member function 'void nnpkg_run::Args::Parse(int, char**)':
[  362s] /home/abuild/rpmbuild/BUILD/nnfw-1.3.0/tests/tools/nnpackage_run/src/args.cc:65:10: warning: variable 'conflicting_options' set but not used [-Wunused-but-set-variable]
[  362s]    65 |     auto conflicting_options = [&](const std::string &o1, const std::string &o2) {
[  362s]       |          ^~~~~~~~~~~~~~~~~~~
[  363s] /home/abuild/rpmbuild/BUILD/nnfw-1.3.0/tests/tools/nnpackage_run/src/nnpackage_run.cc: In function 'int main(int, char**)':
[  363s] /home/abuild/rpmbuild/BUILD/nnfw-1.3.0/tests/tools/nnpackage_run/src/nnpackage_run.cc:233:26: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
[  363s]   233 |   for (uint32_t i = 1; i < args.getWarmupRuns(); i++)
[  363s]       |                        ~~^~~~~~~~~~~~~~~~~~~~~~
[  363s] /home/abuild/rpmbuild/BUILD/nnfw-1.3.0/tests/tools/nnpackage_run/src/nnpackage_run.cc:244:26: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
[  363s]   244 |   for (uint32_t i = 0; i < args.getNumRuns(); i++)
[  363s]       |                        ~~^~~~~~~~~~~~~~~~~~~
[  366s] [100%] Linking CXX executable nnpackage_run
[  366s] [100%] Built target nnpackage_run
[  367s] [100%] Linking CXX shared library libbackend_acl_neon.so
[  367s] [100%] Built target onert_backend_acl_neon
[  383s] [100%] Linking CXX shared library libbackend_cpu.so
[  384s] [100%] Built target onert_backend_cpu
[  395s] [100%] Linking CXX executable nnapi_gtest
[  396s] [100%] Built target nnapi_gtest
[  396s] Makefile:140: recipe for target 'all' failed
[  396s] make: *** [all] Error 2
[  396s] error: Bad exit status from /var/tmp/rpm-tmp.HCvLbi (%build)
[  396s] 
[  396s] 
[  396s] RPM build errors:
[  396s]     Bad exit status from /var/tmp/rpm-tmp.HCvLbi (%build)
[  396s] 
[  396s] 827d9ed124db failed "build nnfw.spec" at Mon Apr 20 11:15:42 UTC 2020.
[  396s] 
๏ฟฝ[33mwarning: ๏ฟฝ[0mbuild failed, Leaving the logs in /home/GBS-ROOT/local/repos/tizen/armv7l/logs/fail/nnfw-1.3.0-1/log.txt
๏ฟฝ[32minfo: ๏ฟฝ[0m*** Build Status Summary ***
=== the following packages failed to build due to rpmbuild issue (1) ===
nnfw: /home/GBS-ROOT/local/repos/tizen/armv7l/logs/fail/nnfw-1.3.0-1/log.txt
=== Total succeeded built packages: (0) ===
๏ฟฝ[32minfo: ๏ฟฝ[0mgenerated html format report:
     /home/GBS-ROOT/local/repos/tizen/armv7l/index.html
๏ฟฝ[32minfo: ๏ฟฝ[0mgenerated RPM packages can be found from local repo:
     /home/GBS-ROOT/local/repos/tizen/armv7l/RPMS
๏ฟฝ[32minfo: ๏ฟฝ[0mgenerated source RPM packages can be found from local repo:
     /home/GBS-ROOT/local/repos/tizen/armv7l/SRPMS
๏ฟฝ[32minfo: ๏ฟฝ[0mbuild logs can be found in:
     /home/GBS-ROOT/local/repos/tizen/armv7l/logs
๏ฟฝ[32minfo: ๏ฟฝ[0mbuild roots located in:
     /home/GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.*
error: <gbs>some packages failed to be built
Build step 'Execute shell' marked build as failure

View full output

[tflchef] Constant data chef for UINT8/INT32

I tried to use 'constant' filler for UINT8 / INT32 tensor, but failed.

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff6ec6801 in __GI_abort () at abort.c:79
#2  0x00007ffff78b9957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff78bfae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff78bfb21 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff78bfd54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff78bb837 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x000055555568acad in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<DataChefFactory, std::default_delete<DataChefFactory> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<DataChefFactory, std::default_delete<DataChefFactory> > > > >::at (
    this=0x555555a2a2c0 <(anonymous namespace)::data_chef_registry(tflchef::TensorType const&)::u8>, __k="constant") at /usr/include/c++/7/bits/stl_map.h:542
#8  0x000055555567c47d in (anonymous namespace)::Registry<DataChefFactory>::lookup (
    this=0x555555a2a2c0 <(anonymous namespace)::data_chef_registry(tflchef::TensorType const&)::u8>, name="constant")
    at **REDACTED**/compiler/tflchef/core/src/ModelChef.cpp:157
#9  0x000055555567a3a3 in tflchef::cook (model_recipe=...) at **REDACTED**/compiler/tflchef/core/src/ModelChef.cpp:333
#10 0x0000555555677757 in entry (argc=3, argv=0x7fffffffdc88) at **REDACTED**/compiler/tflchef/tools/file/Driver.cpp:49
#11 0x00005555556a9373 in main (argc=3, argv=0x7fffffffdc88) at **REDACTED**/compiler/safemain/SafeMain.cpp:41
#8  0x000055555567c47d in (anonymous namespace)::Registry<DataChefFactory>::lookup (
    this=0x555555a2a2c0 <(anonymous namespace)::data_chef_registry(tflchef::TensorType const&)::u8>, name="constant")
    at **REDACTED**/compiler/tflchef/core/src/ModelChef.cpp:157

It seems NYI.

I would take a look how big this task is.

[luci] Introduce negative tests for the number of inputs of Circle nodes

This issue is not urgent, but may be useful in the future.

A Circle node has constraints on the number of its inputs (e.g., CircleAbs must have only one input). Accessing inputs out of its range must be handled properly, e.g., throwing an exception. It would be worthwhile to introduce negative tests for these cases.

Example

TEST(CircleAbsTest, arity_NEG)
{
  luci::CircleAbs abs_node;
  // CircleAbs must have only one input
  ASSERT_NO_THROW(abs_node.arg(0));
  ASSERT_THROW(abs_node.arg(1), std::out_of_range);
}

Compiler FE: Enable Unpack operator

  • tflchef
  • tfldump
  • luci.IR (will be implemented after multi-output circle nodes become available)
  • luci.Import (will be implemented after multi-output circle nodes become available)
  • luci.Export (will be implemented after multi-output circle nodes become available)
  • luci.logex (will be implemented after multi-output circle nodes become available)
  • luci.Service (will be implemented after multi-output circle nodes become available)
  • res/TensorFlowPythonExamples
  • res/TensorFlowLiteRecipes
  • tflite2circle
  • luci.tests (will be implemented after multi-output circle nodes become available)

Compiler FE: Support custom op

Let's support custom op!

  • Convert BatchMatmulV2 to CustomOp tflite
  • Convert CustomOp tflite to circle
  • Read CustomOp information
  • Define circle BatchMatmul builtin op spec (it has been introduced in circle.shema)
  • Convert BatchMatmulV2 pb to BatchMatmul circle

Convert BatchMatmulV2 to CustomOp tflite

To avoid unrolling, an unknown shape must exist.

import tensorflow as tf

reshape_data_ = tf.compat.v1.placeholder(dtype=tf.float32, shape=([None]), name="Hole")

x_ = tf.compat.v1.placeholder(dtype=tf.int32, shape=([1]), name="Hole")
x_shape_ = tf.shape(x_)

reshape_ = tf.compat.v1.reshape(reshape_data_, shape=[1,-1,x_shape_[0],4])

bmm_rhs_ = tf.compat.v1.placeholder(dtype=tf.float32, shape=(1,2,4,4), name="Hole")
bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_)

And, here is the graph.
image

Convert CustomOp tflite to circle

I have made tflite2circle accept custom ops. This is the converted circle graph.

image

Read CustomOp information

BatchMatMulV2 has four args - x, y, adj_x, adj_y
To get meaningful information from custom ops, I got custom attribute according to Args status.

  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_) with float32
  • Custom attribute : 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 84, 0, 3, 3, 16, 11, 3, 1, 3, 0, 0, 0, 4, 104, 104, 6, 36, 1
  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_) with int32
  • Custom attribute : 84, 0, 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 3, 15, 14, 9, 3, 1, 3, 2, 0, 0, 4, 104, 104, 6, 36, 1
  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_,name="bat") with float32
  • Custom attribute : 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 84, 0, 3, 3, 16, 11, 3, 1, 3, 0, 0, 0, 4, 104, 104, 6, 36, 1
  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_,adj_x=True) with float32
  • Custom attribute : 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 84, 0, 3, 3, 16, 11, 3, 1, 3, 0, 1, 0, 4, 104, 104, 6, 36, 1
  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_,adj_y=True) with float32
  • Custom attribute : 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 84, 0, 3, 3, 16, 11, 3, 1, 3, 0, 0, 1, 4, 104, 104, 6, 36, 1
  1. bmm_ = tf.compat.v1.raw_ops.BatchMatMulV2(x=reshape_,y=bmm_rhs_,adj_y=True, adj_x=True) with float32
  • Custom attribute : 97, 100, 106, 95, 120, 0, 97, 100, 106, 95, 121, 0, 84, 0, 3, 3, 16, 11, 3, 1, 3, 0, 1, 1, 4, 104, 104, 6, 36, 1

So, I can get information of adj_x and adj_y from above payload.

  • Attribute[21] : TensorType
  • Attribute[22] : adj_x
  • Attribute[23] : adj_y

If you think of it as ASCII code, the first part is the names of attributes.
97(a), 100(d), 106(j), 95( _ ), 120(x), 0, 97(a), 100(d), 106(j), 95( _ ), 121(y), 0, 84(T)

[runtime] Enable the case when op's output is a dynamic tensor

Goal:

  • support a case when tensor allocation should be done at execution time. (not compile time)
#0 = const(shape = [2,3])
#1 = placeholder([2])
#2 = reshape (input=#0, new_shape=#1)  

#2, the output of reshape should be done at execution time!

  • :rage1: optimization is not a scope of this task

  • FYI, the following op's output can be a dynamic tensor:

    • arg_min_max, batch_to_space, expand_dim, fill, if, mirror_pad, non_max_suppression, one_hot, pad, range, read_variable, reduce, reshape, resize_bilinear, resize_nearest_neighbor, rfft2d, scatter_nd, segment_sum, slice, space_to_batch_nd, space_to_dense, sparse_to_dense, split, strided_slice, tile, topk_v2, transpose_conv, transpose, unique, where, while

Cannot make 'draft' PR

Draft PR should work like this, but I cannot make draft PR from this repo.
image

I am pretty sure this is supported feature as enterprise version have one.
But I am not sure why. Is repo setting not configured? Can only authorized users make draft PR?

[CI] push-cross-runtime-test-debug failed!

Last 50 lines of output:

[2020-04-20T11:28:45.419Z] [Pipeline] stage
[2020-04-20T11:28:45.444Z] [Pipeline] { (CPU test)
[2020-04-20T11:28:45.518Z] [Pipeline] stage
[2020-04-20T11:28:45.543Z] [Pipeline] { (ACL_CL test)
[2020-04-20T11:28:45.617Z] [Pipeline] stage
[2020-04-20T11:28:45.650Z] [Pipeline] { (ACL_NEON test)
[2020-04-20T11:28:47.114Z] [Pipeline] stage
[2020-04-20T11:28:47.164Z] [Pipeline] { (Mixed test)
[2020-04-20T11:28:47.216Z] Stage "CPU test" skipped due to earlier failure(s)
[2020-04-20T11:28:47.337Z] [Pipeline] }
[2020-04-20T11:28:47.370Z] Stage "ACL_CL test" skipped due to earlier failure(s)
[2020-04-20T11:28:47.452Z] [Pipeline] }
[2020-04-20T11:28:47.477Z] Stage "ACL_NEON test" skipped due to earlier failure(s)
[2020-04-20T11:28:47.576Z] [Pipeline] }
[2020-04-20T11:28:47.600Z] Stage "Mixed test" skipped due to earlier failure(s)
[2020-04-20T11:28:47.675Z] [Pipeline] }
[2020-04-20T11:28:47.757Z] [Pipeline] // stage
[2020-04-20T11:28:48.929Z] [Pipeline] // stage
[2020-04-20T11:28:49.075Z] [Pipeline] // stage
[2020-04-20T11:28:50.457Z] [Pipeline] // stage
[2020-04-20T11:28:50.665Z] [Pipeline] }
[2020-04-20T11:28:50.714Z] Failed in branch CPU test
[2020-04-20T11:28:50.739Z] [Pipeline] }
[2020-04-20T11:28:52.537Z] Failed in branch ACL_CL test
[2020-04-20T11:28:52.570Z] [Pipeline] }
[2020-04-20T11:28:52.619Z] Failed in branch ACL_NEON test
[2020-04-20T11:28:52.643Z] [Pipeline] }
[2020-04-20T11:28:52.693Z] Failed in branch Mixed test
[2020-04-20T11:28:52.983Z] [Pipeline] // parallel
[2020-04-20T11:28:53.065Z] [Pipeline] }
[2020-04-20T11:28:53.148Z] [Pipeline] // stage
[2020-04-20T11:28:53.280Z] [Pipeline] stage
[2020-04-20T11:28:53.305Z] [Pipeline] { (Publish)
[2020-04-20T11:28:54.749Z] Stage "Publish" skipped due to earlier failure(s)
[2020-04-20T11:28:54.802Z] [Pipeline] }
[2020-04-20T11:28:54.885Z] [Pipeline] // stage
[2020-04-20T11:28:55.016Z] [Pipeline] stage
[2020-04-20T11:28:55.041Z] [Pipeline] { (Declarative: Post Actions)
[2020-04-20T11:28:56.522Z] [Pipeline] node
[2020-04-20T11:28:56.630Z] Running on builder_serverpool_npubuilder1 in /home/jenkins_slave/workspace/nnfw/master/push-cross-aarch64-runtime-test-debug
[2020-04-20T11:28:56.678Z] [Pipeline] {
[2020-04-20T11:28:56.736Z] [Pipeline] script
[2020-04-20T11:28:56.791Z] [Pipeline] {
[2020-04-20T11:28:58.693Z] [Pipeline] }
[2020-04-20T11:28:58.756Z] [Pipeline] // script
[2020-04-20T11:28:58.848Z] [Pipeline] step
[2020-04-20T11:28:58.889Z] [Set GitHub commit status (universal)] FAILURE on repos [GHRepository@4e665f89[description=On-device Neural Engine,homepage=,name=ONE,fork=false,archived=false,size=33689,milestones={},language=C++,commits={},source=<null>,parent=<null>,responseHeaderFields={null=[HTTP/1.1 200 OK], Access-Control-Allow-Origin=[*], Access-Control-Expose-Headers=[ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset], Cache-Control=[private, max-age=60, s-maxage=60], Content-Encoding=[gzip], Content-Security-Policy=[default-src 'none'], Content-Type=[application/json; charset=utf-8], Date=[Mon, 20 Apr 2020 11:28:42 GMT], ETag=[W/"deaff0b8954f30b4652f714db087d9a3"], Last-Modified=[Mon, 20 Apr 2020 11:14:51 GMT], OkHttp-Received-Millis=[1587382125553], OkHttp-Response-Source=[CACHE 200], OkHttp-Selected-Protocol=[http/1.1], OkHttp-Sent-Millis=[1587382125258], Referrer-Policy=[origin-when-cross-origin, strict-origin-when-cross-origin], Server=[GitHub.com], Status=[200 OK], Strict-Transport-Security=[max-age=31536000; includeSubdomains; preload], Transfer-Encoding=[chunked], Vary=[Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With], X-Accepted-OAuth-Scopes=[repo], X-Content-Type-Options=[nosniff], X-Frame-Options=[deny], X-GitHub-Media-Type=[github.v3; format=json], X-GitHub-Request-Id=[C07A:069D:2C00E4:38FC14:5E9D8769], X-OAuth-Scopes=[admin:repo_hook, repo], X-RateLimit-Limit=[5000], X-RateLimit-Remaining=[4723], X-RateLimit-Reset=[1587382982], X-XSS-Protection=[1; mode=block]},url=https://api.github.com/repos/Samsung/ONE,id=256170081]] (sha:b7df33a) with context:cross-test
[2020-04-20T11:28:58.889Z] Setting commit status on GitHub for https://github.com/Samsung/ONE/commit/b7df33a6778db0d1ada7ad7ba9cd5b5dc62b49e0
[2020-04-20T11:29:00.737Z] [Pipeline] step


View full output

Compiler FE: Enable Exp Op

Lets support Exp Op

  • tflchef
  • tfldump
  • luci.IR
  • luci.Import
  • luci.Export
  • luci.logex
  • luci.Service
  • res/TensorFlowPythonExamples
  • res/TensorFlowLiteRecipes
  • tflite2circle
  • luci.tests

[CI] push-nncc-release failed!

Last 50 lines of output:

[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/floor_div.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/zeros_like.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/svdf.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/reduce.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/neg.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/detection_postprocess.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/local_response_norm.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/one_hot.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/exp.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/strided_slice.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/space_to_depth.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/unpack.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/expand_dims.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/maximum_minimum.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/mul.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/l2norm.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/transpose.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/eigen_support.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/unidirectional_sequence_lstm.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/bidirectional_sequence_lstm.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/sub.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/batch_to_space_nd.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/bidirectional_sequence_rnn.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/div.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/fake_quant.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/dequantize.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/cast.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/resize_bilinear.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/depthwise_conv.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/squeeze.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/embedding_lookup_sparse.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/fully_connected.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/split.cc.o
[ 77%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/logical.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/concatenation.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/layer_norm_lstm.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/lsh_projection.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/kernel_util.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/gemm_support.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/add.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/unidirectional_sequence_rnn.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/embedding_lookup.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/transpose_conv.cc.o
[ 78%] Building CXX object externals/tflite-1.12/CMakeFiles/tensorflowlite-1.12.dir/externals/TENSORFLOW-1.12/tensorflow/contrib/lite/kernels/topk_v2.cc.o
[ 78%] Linking CXX static library libtensorflowlite-1.12.a
[ 78%] Built target tensorflowlite-1.12
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Build step 'Execute shell' marked build as failure

View full output

[CI] push-cross-runtime-test failed!

Last 50 lines of output:

[2020-04-20T11:13:32.000Z] [Pipeline] stage
[2020-04-20T11:13:32.024Z] [Pipeline] { (CPU test)
[2020-04-20T11:13:32.097Z] [Pipeline] stage
[2020-04-20T11:13:33.711Z] [Pipeline] { (ACL_CL test)
[2020-04-20T11:13:33.800Z] [Pipeline] stage
[2020-04-20T11:13:33.825Z] [Pipeline] { (ACL_NEON test)
[2020-04-20T11:13:33.897Z] [Pipeline] stage
[2020-04-20T11:13:33.921Z] [Pipeline] { (Mixed test)
[2020-04-20T11:13:33.980Z] Stage "CPU test" skipped due to earlier failure(s)
[2020-04-20T11:13:34.051Z] [Pipeline] }
[2020-04-20T11:13:34.076Z] Stage "ACL_CL test" skipped due to earlier failure(s)
[2020-04-20T11:13:34.147Z] [Pipeline] }
[2020-04-20T11:13:34.172Z] Stage "ACL_NEON test" skipped due to earlier failure(s)
[2020-04-20T11:13:34.244Z] [Pipeline] }
[2020-04-20T11:13:34.269Z] Stage "Mixed test" skipped due to earlier failure(s)
[2020-04-20T11:13:35.488Z] [Pipeline] }
[2020-04-20T11:13:35.585Z] [Pipeline] // stage
[2020-04-20T11:13:35.672Z] [Pipeline] // stage
[2020-04-20T11:13:35.809Z] [Pipeline] // stage
[2020-04-20T11:13:35.899Z] [Pipeline] // stage
[2020-04-20T11:13:36.017Z] [Pipeline] }
[2020-04-20T11:13:37.755Z] Failed in branch CPU test
[2020-04-20T11:13:37.803Z] [Pipeline] }
[2020-04-20T11:13:37.900Z] Failed in branch ACL_CL test
[2020-04-20T11:13:37.949Z] [Pipeline] }
[2020-04-20T11:13:37.996Z] Failed in branch ACL_NEON test
[2020-04-20T11:13:38.021Z] [Pipeline] }
[2020-04-20T11:13:38.070Z] Failed in branch Mixed test
[2020-04-20T11:13:44.168Z] [Pipeline] // parallel
[2020-04-20T11:13:45.864Z] [Pipeline] }
[2020-04-20T11:13:46.008Z] [Pipeline] // stage
[2020-04-20T11:13:46.250Z] [Pipeline] stage
[2020-04-20T11:13:46.274Z] [Pipeline] { (Publish)
[2020-04-20T11:13:47.901Z] Stage "Publish" skipped due to earlier failure(s)
[2020-04-20T11:13:47.993Z] [Pipeline] }
[2020-04-20T11:13:48.137Z] [Pipeline] // stage
[2020-04-20T11:13:49.646Z] [Pipeline] stage
[2020-04-20T11:13:49.673Z] [Pipeline] { (Declarative: Post Actions)
[2020-04-20T11:13:49.958Z] [Pipeline] node
[2020-04-20T11:13:51.261Z] Running on builder_serverpool_npubuilder0 in /home/jenkins_slave/workspace/nnfw/master/push-cross-runtime-test-release
[2020-04-20T11:13:51.311Z] [Pipeline] {
[2020-04-20T11:13:51.416Z] [Pipeline] script
[2020-04-20T11:13:51.545Z] [Pipeline] {
[2020-04-20T11:13:53.159Z] [Pipeline] }
[2020-04-20T11:13:53.263Z] [Pipeline] // script
[2020-04-20T11:13:53.357Z] [Pipeline] step
[2020-04-20T11:13:55.086Z] [Set GitHub commit status (universal)] FAILURE on repos [GHRepository@7a53bf1a[description=On-device Neural Engine,homepage=,name=ONE,fork=false,archived=false,size=33689,milestones={},language=C++,commits={},source=<null>,parent=<null>,responseHeaderFields={null=[HTTP/1.1 200 OK], Access-Control-Allow-Origin=[*], Access-Control-Expose-Headers=[ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset], Cache-Control=[private, max-age=60, s-maxage=60], Content-Encoding=[gzip], Content-Security-Policy=[default-src 'none'], Content-Type=[application/json; charset=utf-8], Date=[Mon, 20 Apr 2020 11:13:27 GMT], ETag=[W/"5ee9f4aa816b875177f07cd083afa40c"], Last-Modified=[Mon, 20 Apr 2020 11:07:18 GMT], OkHttp-Received-Millis=[1587381210130], OkHttp-Response-Source=[CACHE 200], OkHttp-Selected-Protocol=[http/1.1], OkHttp-Sent-Millis=[1587381209798], Referrer-Policy=[origin-when-cross-origin, strict-origin-when-cross-origin], Server=[GitHub.com], Status=[200 OK], Strict-Transport-Security=[max-age=31536000; includeSubdomains; preload], Transfer-Encoding=[chunked], Vary=[Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With], X-Accepted-OAuth-Scopes=[repo], X-Content-Type-Options=[nosniff], X-Frame-Options=[deny], X-GitHub-Media-Type=[github.v3; format=json], X-GitHub-Request-Id=[C775:57FD:2B46D7:3A3024:5E9D83D5], X-OAuth-Scopes=[admin:repo_hook, repo], X-RateLimit-Limit=[5000], X-RateLimit-Remaining=[4925], X-RateLimit-Reset=[1587382983], X-XSS-Protection=[1; mode=block]},url=https://api.github.com/repos/Samsung/ONE,id=256170081]] (sha:b7df33a) with context:cross-test
[2020-04-20T11:13:55.086Z] Setting commit status on GitHub for https://github.com/Samsung/ONE/commit/b7df33a6778db0d1ada7ad7ba9cd5b5dc62b49e0
[2020-04-20T11:13:57.128Z] [Pipeline] step


View full output

[CI] push-cross-runtime-test-debug failed!

Last 50 lines of output:

[2020-04-16T10:21:17.292Z] [Pipeline] stage
[2020-04-16T10:21:17.318Z] [Pipeline] { (CPU test)
[2020-04-16T10:21:17.390Z] [Pipeline] stage
[2020-04-16T10:21:17.415Z] [Pipeline] { (ACL_CL test)
[2020-04-16T10:21:17.487Z] [Pipeline] stage
[2020-04-16T10:21:17.511Z] [Pipeline] { (ACL_NEON test)
[2020-04-16T10:21:17.584Z] [Pipeline] stage
[2020-04-16T10:21:17.608Z] [Pipeline] { (Mixed test)
[2020-04-16T10:21:17.642Z] Stage "CPU test" skipped due to earlier failure(s)
[2020-04-16T10:21:17.714Z] [Pipeline] }
[2020-04-16T10:21:17.737Z] Stage "ACL_CL test" skipped due to earlier failure(s)
[2020-04-16T10:21:17.810Z] [Pipeline] }
[2020-04-16T10:21:17.834Z] Stage "ACL_NEON test" skipped due to earlier failure(s)
[2020-04-16T10:21:17.909Z] [Pipeline] }
[2020-04-16T10:21:17.935Z] Stage "Mixed test" skipped due to earlier failure(s)
[2020-04-16T10:21:18.013Z] [Pipeline] }
[2020-04-16T10:21:19.415Z] [Pipeline] // stage
[2020-04-16T10:21:19.502Z] [Pipeline] // stage
[2020-04-16T10:21:19.595Z] [Pipeline] // stage
[2020-04-16T10:21:19.682Z] [Pipeline] // stage
[2020-04-16T10:21:20.925Z] [Pipeline] }
[2020-04-16T10:21:20.977Z] Failed in branch CPU test
[2020-04-16T10:21:21.003Z] [Pipeline] }
[2020-04-16T10:21:21.055Z] Failed in branch ACL_CL test
[2020-04-16T10:21:21.081Z] [Pipeline] }
[2020-04-16T10:21:21.133Z] Failed in branch ACL_NEON test
[2020-04-16T10:21:21.160Z] [Pipeline] }
[2020-04-16T10:21:26.864Z] Failed in branch Mixed test
[2020-04-16T10:21:27.164Z] [Pipeline] // parallel
[2020-04-16T10:21:27.250Z] [Pipeline] }
[2020-04-16T10:21:27.337Z] [Pipeline] // stage
[2020-04-16T10:21:27.474Z] [Pipeline] stage
[2020-04-16T10:21:27.502Z] [Pipeline] { (Publish)
[2020-04-16T10:21:27.537Z] Stage "Publish" skipped due to earlier failure(s)
[2020-04-16T10:21:27.588Z] [Pipeline] }
[2020-04-16T10:21:29.133Z] [Pipeline] // stage
[2020-04-16T10:21:30.841Z] [Pipeline] stage
[2020-04-16T10:21:30.892Z] [Pipeline] { (Declarative: Post Actions)
[2020-04-16T10:21:31.153Z] [Pipeline] node
[2020-04-16T10:21:31.258Z] Running on builder_serverpool_npubuilder0 in /home/jenkins_slave/workspace/nnfw/master/push-cross-aarch64-runtime-test-debug
[2020-04-16T10:21:31.360Z] [Pipeline] {
[2020-04-16T10:21:31.464Z] [Pipeline] script
[2020-04-16T10:21:32.978Z] [Pipeline] {
[2020-04-16T10:21:33.129Z] [Pipeline] }
[2020-04-16T10:21:33.228Z] [Pipeline] // script
[2020-04-16T10:21:33.375Z] [Pipeline] step
[2020-04-16T10:21:37.354Z] [Set GitHub commit status (universal)] FAILURE on repos [GHRepository@97b8911[description=On-device Neural Engine,homepage=,name=ONE,fork=false,archived=false,size=0,milestones={},language=C++,commits={},source=<null>,parent=<null>,responseHeaderFields={null=[HTTP/1.1 200 OK], Access-Control-Allow-Origin=[*], Access-Control-Expose-Headers=[ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset], Cache-Control=[private, max-age=60, s-maxage=60], Content-Encoding=[gzip], Content-Security-Policy=[default-src 'none'], Content-Type=[application/json; charset=utf-8], Date=[Thu, 16 Apr 2020 10:21:35 GMT], ETag=[W/"b1d5bd0b5305ceb44d9853e0a7760eea"], Last-Modified=[Thu, 16 Apr 2020 10:18:44 GMT], OkHttp-Received-Millis=[1587032497351], OkHttp-Response-Source=[CONDITIONAL_CACHE 200], OkHttp-Selected-Protocol=[http/1.1], OkHttp-Sent-Millis=[1587032497034], Referrer-Policy=[origin-when-cross-origin, strict-origin-when-cross-origin], Server=[GitHub.com], Status=[200 OK], Strict-Transport-Security=[max-age=31536000; includeSubdomains; preload], Transfer-Encoding=[chunked], Vary=[Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With], X-Accepted-OAuth-Scopes=[repo], X-Content-Type-Options=[nosniff], X-Frame-Options=[deny], X-GitHub-Media-Type=[github.v3; format=json], X-GitHub-Request-Id=[E733:6A3B:49423:63F6B:5E983181], X-OAuth-Scopes=[admin:repo_hook, repo], X-RateLimit-Limit=[5000], X-RateLimit-Remaining=[4529], X-RateLimit-Reset=[1587033005], X-XSS-Protection=[1; mode=block]},url=https://api.github.com/repos/Samsung/ONE,id=256170081]] (sha:8b37f5c) with context:cross-test
[2020-04-16T10:21:37.354Z] Setting commit status on GitHub for https://github.com/Samsung/ONE/commit/8b37f5c00e00d85893cad7bff777b484f01ac754
[2020-04-16T10:21:39.123Z] [Pipeline] step


View full output

[CI] push-cross-runtime-test-debug failed!

Last 50 lines of output:

[2020-04-20T11:24:38.162Z] [Pipeline] stage
[2020-04-20T11:24:39.701Z] [Pipeline] { (CPU test)
[2020-04-20T11:24:39.785Z] [Pipeline] stage
[2020-04-20T11:24:39.812Z] [Pipeline] { (ACL_CL test)
[2020-04-20T11:24:39.895Z] [Pipeline] stage
[2020-04-20T11:24:39.922Z] [Pipeline] { (ACL_NEON test)
[2020-04-20T11:24:40.003Z] [Pipeline] stage
[2020-04-20T11:24:40.030Z] [Pipeline] { (Mixed test)
[2020-04-20T11:24:40.067Z] Stage "CPU test" skipped due to earlier failure(s)
[2020-04-20T11:24:40.148Z] [Pipeline] }
[2020-04-20T11:24:40.176Z] Stage "ACL_CL test" skipped due to earlier failure(s)
[2020-04-20T11:24:40.257Z] [Pipeline] }
[2020-04-20T11:24:40.284Z] Stage "ACL_NEON test" skipped due to earlier failure(s)
[2020-04-20T11:24:41.608Z] [Pipeline] }
[2020-04-20T11:24:41.658Z] Stage "Mixed test" skipped due to earlier failure(s)
[2020-04-20T11:24:41.740Z] [Pipeline] }
[2020-04-20T11:24:41.854Z] [Pipeline] // stage
[2020-04-20T11:24:43.234Z] [Pipeline] // stage
[2020-04-20T11:24:43.359Z] [Pipeline] // stage
[2020-04-20T11:24:44.811Z] [Pipeline] // stage
[2020-04-20T11:24:44.892Z] [Pipeline] }
[2020-04-20T11:24:44.942Z] Failed in branch CPU test
[2020-04-20T11:24:44.966Z] [Pipeline] }
[2020-04-20T11:24:45.016Z] Failed in branch ACL_CL test
[2020-04-20T11:24:45.041Z] [Pipeline] }
[2020-04-20T11:24:45.091Z] Failed in branch ACL_NEON test
[2020-04-20T11:24:45.114Z] [Pipeline] }
[2020-04-20T11:24:45.164Z] Failed in branch Mixed test
[2020-04-20T11:24:46.852Z] [Pipeline] // parallel
[2020-04-20T11:24:46.934Z] [Pipeline] }
[2020-04-20T11:24:47.017Z] [Pipeline] // stage
[2020-04-20T11:24:48.339Z] [Pipeline] stage
[2020-04-20T11:24:48.364Z] [Pipeline] { (Publish)
[2020-04-20T11:24:48.399Z] Stage "Publish" skipped due to earlier failure(s)
[2020-04-20T11:24:48.446Z] [Pipeline] }
[2020-04-20T11:24:48.546Z] [Pipeline] // stage
[2020-04-20T11:24:48.686Z] [Pipeline] stage
[2020-04-20T11:24:48.710Z] [Pipeline] { (Declarative: Post Actions)
[2020-04-20T11:24:48.842Z] [Pipeline] node
[2020-04-20T11:24:48.894Z] Running on builder_serverpool_npubuilder0 in /home/jenkins_slave/workspace/nnfw/master/push-cross-runtime-test-debug
[2020-04-20T11:24:50.252Z] [Pipeline] {
[2020-04-20T11:24:50.341Z] [Pipeline] script
[2020-04-20T11:24:50.391Z] [Pipeline] {
[2020-04-20T11:24:50.449Z] [Pipeline] }
[2020-04-20T11:24:50.514Z] [Pipeline] // script
[2020-04-20T11:24:50.598Z] [Pipeline] step
[2020-04-20T11:24:51.882Z] [Set GitHub commit status (universal)] FAILURE on repos [GHRepository@2ee969dd[description=On-device Neural Engine,homepage=,name=ONE,fork=false,archived=false,size=33689,milestones={},language=C++,commits={},source=<null>,parent=<null>,responseHeaderFields={null=[HTTP/1.1 200 OK], Access-Control-Allow-Origin=[*], Access-Control-Expose-Headers=[ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset], Cache-Control=[private, max-age=60, s-maxage=60], Content-Encoding=[gzip], Content-Security-Policy=[default-src 'none'], Content-Type=[application/json; charset=utf-8], Date=[Mon, 20 Apr 2020 11:24:48 GMT], ETag=[W/"e6996ddea1abed429cde1a585e7f7497"], Last-Modified=[Mon, 20 Apr 2020 11:14:51 GMT], OkHttp-Received-Millis=[1587381891879], OkHttp-Response-Source=[CONDITIONAL_CACHE 200], OkHttp-Selected-Protocol=[http/1.1], OkHttp-Sent-Millis=[1587381890685], Referrer-Policy=[origin-when-cross-origin, strict-origin-when-cross-origin], Server=[GitHub.com], Status=[200 OK], Strict-Transport-Security=[max-age=31536000; includeSubdomains; preload], Transfer-Encoding=[chunked], Vary=[Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With], X-Accepted-OAuth-Scopes=[repo], X-Content-Type-Options=[nosniff], X-Frame-Options=[deny], X-GitHub-Media-Type=[github.v3; format=json], X-GitHub-Request-Id=[CFE8:603B:E27E1:13348C:5E9D867F], X-OAuth-Scopes=[admin:repo_hook, repo], X-RateLimit-Limit=[5000], X-RateLimit-Remaining=[4731], X-RateLimit-Reset=[1587382983], X-XSS-Protection=[1; mode=block]},url=https://api.github.com/repos/Samsung/ONE,id=256170081]] (sha:b7df33a) with context:cross-test
[2020-04-20T11:24:51.882Z] Setting commit status on GitHub for https://github.com/Samsung/ONE/commit/b7df33a6778db0d1ada7ad7ba9cd5b5dc62b49e0
[2020-04-20T11:24:53.477Z] [Pipeline] step


View full output

[CI] push-android-runtime-build failed!

Last 50 lines of output:

Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on builder_serverpool_npubuilder1 (builder) in workspace /home/jenkins_slave/workspace/nnfw/release_1.4.0/push-android-runtime-build
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
using credential nnfw.bot
Cloning the remote Git repository
Cloning repository https://github.com/Samsung/ONE.git
 > git init /home/jenkins_slave/workspace/nnfw/release_1.4.0/push-android-runtime-build # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse origin/release_1.4.0^{commit} # timeout=10
 > git rev-parse release_1.4.0^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

View full output

[CI] push-nncc-release failed!

Last 50 lines of output:

Scanning dependencies of target angkor_test
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/TensorIndex.test.cpp.o
[ 19%] Generating requirements.txt
venv/bin/pip: 4: venv/bin/pip: import: not found
venv/bin/pip: 5: venv/bin/pip: import: not found
from: can't read /var/mail/pip
venv/bin/pip: 10: venv/bin/pip: Syntax error: "(" unexpected (expecting "then")
compiler/tf2tfliteV2-value-pbtxt-test/CMakeFiles/tf2tfliteV2_value_pbtxt_python_deps.dir/build.make:66: recipe for target 'compiler/tf2tfliteV2-value-pbtxt-test/requirements.txt' failed
make[2]: *** [compiler/tf2tfliteV2-value-pbtxt-test/requirements.txt] Error 2
make[2]: *** Deleting file 'compiler/tf2tfliteV2-value-pbtxt-test/requirements.txt'
CMakeFiles/Makefile2:13220: recipe for target 'compiler/tf2tfliteV2-value-pbtxt-test/CMakeFiles/tf2tfliteV2_value_pbtxt_python_deps.dir/all' failed
make[1]: *** [compiler/tf2tfliteV2-value-pbtxt-test/CMakeFiles/tf2tfliteV2_value_pbtxt_python_deps.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/CircleDialect.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/Shape.test.cpp.o
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/LuciNodeMixins.cpp.o
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/Module.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/Layout.test.cpp.o
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/Nodes/CircleInput.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/HWCLayout.test.cpp.o
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/Nodes/CircleOutput.cpp.o
[ 19%] Building CXX object compiler/luci/lang/CMakeFiles/luci_lang.dir/src/Nodes/CircleConst.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/CHWLayout.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/Buffer.test.cpp.o
[ 19%] Linking CXX shared library libluci_lang.so
[ 19%] Built target luci_lang
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/feature/Overlay.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/NHWCLayout.test.cpp.o
[ 19%] Linking CXX static library libtflchef_proto.a
[ 19%] Built target tflchef_proto
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/Shape.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/Layout.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/Buffer.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/Overlay.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/NCHWLayout.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/kernel/IndexEnumerator.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/Shape.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/Layout.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/Index.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/LexicalLayout.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/Buffer.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/Overlay.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/ADT/tensor/IndexEnumerator.test.cpp.o
[ 19%] Building CXX object compiler/angkor/CMakeFiles/angkor_test.dir/src/TensorShape.test.cpp.o
[ 19%] Linking CXX executable angkor_test
[ 19%] Built target angkor_test
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Build step 'Execute shell' marked build as failure

View full output

[runtime] Enable input with unknown dim

related to #56, #87

Goal

  • Run the following model:
    #0 = placeholder([None, None])
    #1 = placeholder([2, 3])
    #2 = concat (#0, #1, axis=0)
    
  • calling sequence is
    1. nnfw_compile()
    2. nnfw_apply_tensor_info(#0, [1, 3])
    3. nnfw_set_input()
    4. nnfw_run()

[oneapi] Fetching test models for `oneapi_gtest`

Currently nnfw_api_gtest(soon will be renamed to oneapi_gtest) requires just one_op_tflite model which is a sample model in our source tree, and it is simply installed with CMake.

However we need some ways to get/make test models for when we need some specific models to test.

  • Keep tflite files in a server (npuci.mooo.com)
  • Write a script that downloads tflite and convert it to nnpkg-run
  • Ensure the script is run before nnfw_api_gtest

[oneapi] Make enough test cases

Let's make some test cases for oneapi.

We may refer to Android NN's test cases.

NOTE

  • The number of negative test cases must be equal or greater than the positive ones.
    • I won't accept the commits that only contain positive tests

End of May Goals

  • Validation Tests (Total 75+) : Focus on validation with simple models
    • 30+ positive TCs
    • 45+ negative TCs
  • Model Tests (Total 8+) : Focus on different kind of models with specific scenarios
    • 3+ positive TCs
    • 5+ negative TCs

[CI] push-nncc-debug failed!

Last 50 lines of output:

   uint32_t op_idx = gd.registerBuiltinOpcode(circle::BuiltinOperator_BATCH_TO_SPACE_ND);
                        ^~~~~~~~~~~~~~~~~~~~~
[ 57%] Copying Concat_002.recipe
[ 57%] Generating Concat_002.tflite
[ 57%] Generating Concat_002.cpp
Scanning dependencies of target enco_tflite_test_Concat_002_binder
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_002_binder.dir/__/binder.cpp.o
[ 57%] Linking CXX shared library libConv2D_003.so
[ 57%] Built target enco_tflite_test_Conv2D_003_binder
[ 57%] Copying Reshape_000.recipe
[ 57%] Generating Reshape_000.tflite
[ 57%] Generating Reshape_000.cpp
Scanning dependencies of target enco_tflite_test_Reshape_000_binder
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_002_binder.dir/Concat_002.cpp.o
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Reshape_000_binder.dir/__/binder.cpp.o
compiler/luci/export/CMakeFiles/luci_export.dir/build.make:182: recipe for target 'compiler/luci/export/CMakeFiles/luci_export.dir/src/CircleOperationExporter.cpp.o' failed
make[2]: *** [compiler/luci/export/CMakeFiles/luci_export.dir/src/CircleOperationExporter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 57%] Copying Concat_001.recipe
[ 57%] Generating Concat_001.tflite
[ 57%] Generating Concat_001.cpp
Scanning dependencies of target enco_tflite_test_Concat_001_binder
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_001_binder.dir/__/binder.cpp.o
[ 57%] Building C object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_002_binder.dir/Concat_002.embed.S.o
[ 57%] Linking CXX shared library libConcat_002.so
[ 57%] Built target enco_tflite_test_Concat_002_binder
[ 57%] Copying Conv2D_000.recipe
[ 57%] Generating Conv2D_000.tflite
[ 57%] Generating Conv2D_000.cpp
Scanning dependencies of target enco_tflite_test_Conv2D_000_binder
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Conv2D_000_binder.dir/__/binder.cpp.o
make[1]: *** [compiler/luci/export/CMakeFiles/luci_export.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:14597: recipe for target 'compiler/luci/export/CMakeFiles/luci_export.dir/all' failed
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Reshape_000_binder.dir/Reshape_000.cpp.o
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Conv2D_000_binder.dir/Conv2D_000.cpp.o
[ 57%] Building CXX object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_001_binder.dir/Concat_001.cpp.o
[ 57%] Building C object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Reshape_000_binder.dir/Reshape_000.embed.S.o
[ 57%] Linking CXX shared library libReshape_000.so
[ 57%] Building C object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Concat_001_binder.dir/Concat_001.embed.S.o
[ 57%] Building C object compiler/enco/test/tflite/CMakeFiles/enco_tflite_test_Conv2D_000_binder.dir/Conv2D_000.embed.S.o
[ 57%] Linking CXX shared library libConcat_001.so
[ 57%] Built target enco_tflite_test_Reshape_000_binder
[ 57%] Linking CXX shared library libConv2D_000.so
[ 57%] Built target enco_tflite_test_Concat_001_binder
[ 57%] Built target enco_tflite_test_Conv2D_000_binder
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Build step 'Execute shell' marked build as failure

View full output

Update CMake version for compiler

CMake 3.1 which we currently use is a bit old (6 years). Is it possible to upgrade the version?
Ubuntu 18.04 LST comes with 3.10.2, which should be suitable for most developers.

BTW
Ubuntu 20.04 LTS is being released tomorrow (April 23).

@Samsung/nncc

[tflchef] Make error in case when constant is input

Conv2D_001 recipe example seems to have bug: ker operand is constant (has filled), but denoted as input as well.

$ cat res/TensorFlowLiteRecipes/Conv2D_001/test.recipe
operand {
  name: "ifm"
  type: FLOAT32
  shape { dim: 1 dim: 3 dim: 3 dim: 2 }
}
operand {
  name: "ker"
  type: FLOAT32
  shape { dim: 1 dim: 1 dim: 1 dim: 2 }
  filler {                                  // <<<< Note here
    tag: "gaussian"
    arg: "0.0"
    arg: "1.0"
  }
}
operand {
  name: "bias"
  type: FLOAT32
  shape { dim: 1 }
  filler {
    tag: "constant"
    arg: "1.1"
  }
}
operand {
  name: "ofm"
  type: FLOAT32
  shape { dim: 1 dim: 3 dim: 3 dim: 1 }
}
operation {
  type: "Conv2D"
  conv2d_options {
    padding: VALID
    stride_w: 1
    stride_h: 1
  }
  input: "ifm"
  input: "ker"
  input: "bias"
  output: "ofm"
}
input: "ifm"
input: "ker"                                // <<<< Note here
output: "ofm"

tflchef generates following
image

I would make fix PR for this.

It seems better for tflchef to generate error or warning for such case.

Download proper TensorFlow dependencies

I would like to use TensorFlow Lite kernels in luci interpreter. I do not need to build TFLite (yet), as the kernels are contained in header files. But those header files depend on eigen and gemmlowp, so I need these dependencies.

TensorFlow needs exact versions of dependencies, otherwise it will most likely fail to compile.
The dependencies are listed in tensorflow/workspase.bzl as direct links to archives. For example:

    tf_http_archive(
        name = "eigen_archive",
        build_file = clean_dep("//third_party:eigen.BUILD"),
        patch_file = clean_dep("//third_party/eigen3:gpu_packet_math.patch"),
        sha256 = "65d732985b593b553c20566e1f236f48dcc626730c418aed7b2aa1d0e3f1a0af",
        strip_prefix = "eigen-4e696901f873a2347f76d931cf2f701e31e15d05",
        urls = [
            "https://storage.googleapis.com/mirror.tensorflow.org/gitlab.com/libeigen/eigen/-/archive/4e696901f873a2347f76d931cf2f701e31e15d05/eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz",
            "https://gitlab.com/libeigen/eigen/-/archive/4e696901f873a2347f76d931cf2f701e31e15d05/eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz",
        ],
    )

It seems that the archives do not correspond to any release versions of the packages, they look more like snapshots (gemmlowp does not have releases at all).

How to properly download these dependencies? I was thinking about the following ways:

  • Modify TensorFlowSourceConfig.cmake to execute tensorflow/lite/tools/make/download_dependencies.sh, which will put required dependencies in tensorflow/lite/tools/make/downloads/ directory (easiest).
  • Modify TensorFlowSourceConfig.cmake to download dependencies manually (don't see how it is better than the previous).
  • Add TensorFlowSourceDependenciesConfig.cmake for needed TensorFlow version and make them download dependencies into externals/TENSORFLOW-x.y-DEPENDENCIES (better because some users of TensorFlow sources don't need those dependencies).
  • Download dependencies locally in the components which require them (will put dependencies source code into build directory).
  • Create eigenSourceConfig-4e696901f873a2347f76d931cf2f701e31e15d05.cmake, gemmlowpSourceConfig-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.cmake etc (arguably the best way, but I don't like the naming).

Which way is preferred? Or is there a better way?

@parjong Please help :)

[CI] push-android-runtime-build failed!

Last 50 lines of output:

  ^
/externals/gtest/googletest/include/gtest/gtest_pred_impl.h:147:28: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \
                           ^
3 errors generated.
tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/build.make:62: recipe for target 'tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/src/FourOneOpModelSetInput.cc.o' failed
make[3]: *** [tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/src/FourOneOpModelSetInput.cc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
6 errors generated.
tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/build.make:110: recipe for target 'tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/src/load_model.cc.o' failed
make[3]: *** [tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/src/load_model.cc.o] Error 1
[ 95%] Building CXX object runtime/libs/tflite/CMakeFiles/nnfw_lib_tflite.dir/src/FeatureView.cpp.o
[ 95%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/kernel/StridedSliceLayer.cc.o
[ 95%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/kernel/SubLayer.cc.o
[ 95%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/kernel/TanhLayer.cc.o
[ 95%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/kernel/TransposeLayer.cc.o
[ 96%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/kernel/UnpackLayer.cc.o
[ 96%] Building CXX object runtime/onert/backend/cpu/CMakeFiles/onert_backend_cpu.dir/operand/Tensor.cc.o
[ 96%] Building CXX object runtime/libs/tflite/CMakeFiles/nnfw_lib_tflite.dir/src/Quantization.cpp.o
[ 97%] Building CXX object runtime/libs/tflite/CMakeFiles/nnfw_lib_tflite.dir/src/TensorShapeUtils.cpp.o
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
make[2]: *** [tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:2800: recipe for target 'tests/nnfw_api/CMakeFiles/nnfw_api_gtest.dir/all' failed
[ 97%] Building CXX object runtime/libs/tflite/CMakeFiles/nnfw_lib_tflite.dir/src/interp/FunctionBuilder.cpp.o
[ 97%] Building CXX object runtime/libs/tflite/CMakeFiles/nnfw_lib_tflite.dir/src/interp/FlatBufferBuilder.cpp.o
[ 97%] Linking CXX shared library libbackend_acl_cl.so
[ 97%] Linking CXX shared library libneuralnetworks.so
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
[ 97%] Built target onert
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
[ 97%] Built target onert_backend_acl_cl
[ 97%] Linking CXX static library libnnfw_lib_tflite.a
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
[ 97%] Built target nnfw_lib_tflite
[ 97%] Linking CXX shared library libbackend_acl_neon.so
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
[ 97%] Built target onert_backend_acl_neon
[ 97%] Linking CXX shared library libbackend_cpu.so
make[3]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
[ 97%] Built target onert_backend_cpu
make[2]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
Makefile:140: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build/Product/aarch64-android.debug/obj'
make: *** [build_internal] Error 2
Makefile.template:135: recipe for target 'build_internal' failed
Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
Build step 'Execute shell' marked build as failure

View full output

[onert] Optimization items for multi-model scenarios

Let's list some items that may optimize the following scenario.

Say we have two models 1 and 2(possible more models). To make it simple, both models have only one input and one output for each. After Model 1 run, the output tensor of Model 1 is passed to Model 2 as the input tensor and Model 2 is run. We want to run these models in sequence.

Work Items

  • Memory #151
  • Reducing Copies of Input/Output #155

Compiler FE: Enable Tanh Op

Let's support Tanh Op

  • tflchef
  • tfldump (no builtin option)
  • luci.IR
  • luci.Import
  • luci.Export
  • luci.logex
  • luci.Service
  • res/TensorFlowPythonExamples (already exists)
  • res/TensorFlowLiteRecipes
  • tflite2circle (no builtin option)
  • luci.tests

Checklist for Release 1.4.0

Checklist

Compiler FE: Enable Tile Op

Lets support Tile Operation

  • tflchef
  • tfldump (has no options)
  • luci.IR
  • luci.Import
  • luci.Export
  • luci.logex
  • luci.Service
  • res/TensorFlowPythonExamples
  • res/TensorFlowLiteRecipes
  • tflite2circle
  • luci.tests

[onert] Implement ReduceProd operation in cpu backend

Implementation of ReduceProd

  • Reduce is already implemented, so adding Prod type is to be done.

Debug

[2020-04-21T05:26:51.193Z] [ RUN      ] GeneratedTests.reduce_prod_2D_float_nnfw
[2020-04-21T05:26:51.193Z] /opt/jenkins_slave/workspace/nnfw/master/pr-cross-runtime-test-pipeline-release/tests/nnapi/src/TestGenerated.cpp:146: Failure
[2020-04-21T05:26:51.193Z]       Expected: Result::NO_ERROR
[2020-04-21T05:26:51.193Z]       Which is: 4-byte object <00-00 00-00>
[2020-04-21T05:26:51.193Z] To be equal to: execution.setInput(idx, buffer, s)
[2020-04-21T05:26:51.193Z]       Which is: 4-byte object <03-00 00-00>
[2020-04-21T05:26:51.193Z] Google Test trace:
[2020-04-21T05:26:51.193Z] /opt/jenkins_slave/workspace/nnfw/master/pr-cross-runtime-test-pipeline-release/tests/nnapi/src/TestGenerated.cpp:123: 0
[2020-04-21T05:26:51.193Z] /opt/jenkins_slave/workspace/nnfw/master/pr-cross-runtime-test-pipeline-release/tests/nnapi/src/TestGenerated.cpp:235: TestCompilationCaching = 0
[2020-04-21T05:26:51.193Z] /opt/jenkins_slave/workspace/nnfw/master/pr-cross-runtime-test-pipeline-release/tests/nnapi/src/TestGenerated.cpp:153: Failure
[2020-04-21T05:26:51.193Z]       Expected: Result::NO_ERROR
[2020-04-21T05:26:51.193Z]       Which is: 4-byte object <00-00 00-00>
[2020-04-21T05:26:51.193Z] To be equal to: execution.setOutput(idx, buffer, s)
[2020-04-21T05:26:51.193Z]       Which is: 4-byte object <03-00 00-00>
[2020-04-21T05:26:51.193Z] Google Test trace:
[2020-04-21T05:26:51.193Z] /opt/jenkins_slave/workspace/nnfw/master/pr-cross-runtime-test-pipeline-release/tests/nnapi/src/TestGenerated.cpp:123: 0
execution.setInput(idx, buffer, s)
-> ANeuralNetworksExecution_setInput // execution.cc

[onert] Allocate tensor memory on starting execution

We allocate tensor memory after compilation and reuse it for every run.

However let's think about when we have multiple sessions. And even if we run just one session at once, but we still have all tensors for all sessions which will be waste of memory.

So if we can move the tensor allocation to when starting the actual runs, we can resolve this.

% Maybe we should change memory allocators of cpu_common to ACL-like, so we can remap the memory address easily. Or other solutions?

[onert] Reducing copies of models' inputs/outputs

For the scenario #152 let's find out how many copies are performed.

The current nnfw_api(oneapi) requires for users to pass input/output tensor memory.

  1. Prepare input buffer
  2. Running Model 1
    1. Copy input data from input buffer
    2. Run the model
    3. Copy output data to output buffer
  3. Run Model 2 (the output buffer above is the input buffer below)
    1. Copy input data from input buffer
    2. Run the model
    3. Copy output data to the buffer

% It turns out that there is not much difference with this scenario and running just one model

Ideas

To get rid of all 4 copies above do either one of these:

  1. Revise API setInput/setOutput to get the internal memory buffer
  2. Revise the runtime to allow using memory from outside

Constraints

This optimization is not always possible if:

  • layout mismatch
  • Internal tensor has paddings(alignment)
  • gpu memory is used
  • And some more...

Possible solutions w/ pros and cons

Based on Ideas above, let's think about its feasibility and pros/cons.

1. Revise API setInput/setOutput to get the internal memory buffer

  • Feasibility
    • Looks feasible
  • Considerations
    • If we support multiple async runs for a single session, it will be much more complicated

2. Revise the runtime to allow using memory from outside

Let's define a couple of terms.

Runtime MM(memory manager) : Runtime has a memory manager for all tensors and it passes memory handles to backends (what we want to do here)
Backend MM : Each backend has its own memory management system (As-is)

  • Feasibility
    • Need to check this is available in ACL backends
  • Considerations
    • Do we need to support both Backend MM and Runtime MM?
    • If we still keep the as-is API, the user must give enough size of output tensors as we don't know the exact size of output tensors for dynamic models(Same issue with Android NN API)
    • This is also mandatory if we want to optimize copying between backends (and possibly between subgraphs)

[CI] nnpackage-test failed!

Last 50 lines of output:

[2020-04-16T11:47:53.207Z] -- Found nnkit-run: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit/tools/run/nnkit-run
[2020-04-16T11:47:53.207Z] -- Found TF backend: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit-tf/backend/libnnkit_tf_backend.so
[2020-04-16T11:47:53.207Z] -- Found TFLITE backend: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit-tflite/backend/libnnkit_tflite_backend.so
[2020-04-16T11:47:53.207Z] -- Found TF2TFLITE: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/tf2tflite/tf2tflite
[2020-04-16T11:47:53.207Z] -- Found randomize action: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit/actions/builtin/libnnkit_randomize_action.so
[2020-04-16T11:47:53.207Z] -- Found HDF5 export action: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit/actions/HDF5/libnnkit_HDF5_export_action.so
[2020-04-16T11:47:53.207Z] -- Found HDF5 import action: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/nnkit/actions/HDF5/libnnkit_HDF5_import_action.so
[2020-04-16T11:47:53.207Z] -- Found i5diff: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/i5diff/i5diff
[2020-04-16T11:47:53.207Z] -- Found workdir: /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/tf2tflite-value-pbtxt-test
[2020-04-16T11:47:53.207Z] /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/tf2tflite-value-pbtxt-test /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/tf2tflite-value-pbtxt-test
[2020-04-16T11:47:53.207Z] /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test/build/nncc/compiler/tf2tflite-value-pbtxt-test
[2020-04-16T11:47:53.207Z] FAILED
[2020-04-16T11:47:53.207Z] - REGRESSION_0002
[2020-04-16T11:47:53.207Z] 
[2020-04-16T11:47:53.207Z] 
[2020-04-16T11:47:53.207Z] 0% tests passed, 1 tests failed out of 1
[2020-04-16T11:47:53.207Z] 
[2020-04-16T11:47:53.207Z] Total Test time (real) =  11.97 sec
[2020-04-16T11:47:53.207Z] 
[2020-04-16T11:47:53.207Z] The following tests FAILED:
[2020-04-16T11:47:53.207Z] 	 28 - tf2tflite_value_pbtxt_test (Failed)
[2020-04-16T11:47:53.207Z] Errors while running CTest
[2020-04-16T11:47:53.591Z] [Pipeline] }
[2020-04-16T11:47:54.972Z] [Pipeline] // stage
[2020-04-16T11:47:55.101Z] [Pipeline] stage
[2020-04-16T11:47:55.135Z] [Pipeline] { (build runtime)
[2020-04-16T11:47:55.180Z] Stage "build runtime" skipped due to earlier failure(s)
[2020-04-16T11:47:55.226Z] [Pipeline] }
[2020-04-16T11:47:56.747Z] [Pipeline] // stage
[2020-04-16T11:47:56.962Z] [Pipeline] }
[2020-04-16T11:47:57.054Z] [Pipeline] // node
[2020-04-16T11:47:57.169Z] [Pipeline] }
[2020-04-16T11:47:58.724Z] [Pipeline] // stage
[2020-04-16T11:47:58.862Z] [Pipeline] stage
[2020-04-16T11:47:58.885Z] [Pipeline] { (genenrate nnpackage)
[2020-04-16T11:47:58.919Z] Stage "genenrate nnpackage" skipped due to earlier failure(s)
[2020-04-16T11:47:58.968Z] [Pipeline] }
[2020-04-16T11:47:59.048Z] [Pipeline] // stage
[2020-04-16T11:48:00.540Z] [Pipeline] stage
[2020-04-16T11:48:00.587Z] [Pipeline] { (Test run)
[2020-04-16T11:48:00.621Z] Stage "Test run" skipped due to earlier failure(s)
[2020-04-16T11:48:00.668Z] [Pipeline] }
[2020-04-16T11:48:00.749Z] [Pipeline] // stage
[2020-04-16T11:48:00.871Z] [Pipeline] stage
[2020-04-16T11:48:02.203Z] [Pipeline] { (Declarative: Post Actions)
[2020-04-16T11:48:02.347Z] [Pipeline] node
[2020-04-16T11:48:02.396Z] Running on builder_serverpool_npubuilder1 in /home/jenkins_slave/workspace/nnfw/master/push-nnpackage-test
[2020-04-16T11:48:02.453Z] [Pipeline] {
[2020-04-16T11:48:02.534Z] [Pipeline] step


View full output

[runtime/acl] Some nnapi gtest fail on NCHW layout

ACL CL backend

ACL_LAYOUT="NCHW" ./infra/scripts/test_ubuntu_runtime.sh --backend acl_cl

[==========] 504 tests from 7 test cases ran. (7135 ms total)
[  PASSED  ] 497 tests.
[  FAILED  ] 7 tests, listed below:
[  FAILED  ] GeneratedTests.logical_or_broadcast_4D_2D_nnfw
[  FAILED  ] GeneratedTests.mean
[  FAILED  ] GeneratedTests.add_broadcast_4D_2D_after_nops_float_nnfw
[  FAILED  ] GeneratedTests.depthwise_conv2d_float_large_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_float_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_quant8_large_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_quant8_weights_as_inputs

ACL NEON backend

ACL_LAYOUT="NCHW" ./infra/scripts/test_ubuntu_runtime.sh --backend acl_neon

[==========] 485 tests from 7 test cases ran. (5343 ms total)
[  PASSED  ] 473 tests.
[  FAILED  ] 12 tests, listed below:
[  FAILED  ] GeneratedTests.argmax_float_1_nnfw
[  FAILED  ] GeneratedTests.argmax_int32_nnfw
[  FAILED  ] GeneratedTests.argmax_neg_axis_float_nnfw
[  FAILED  ] GeneratedTests.argmax_neg_axis_int32_nnfw
[  FAILED  ] GeneratedTests.argmax_quant8_neg_axis_nnfw
[  FAILED  ] GeneratedTests.argmax_quant8_nnfw
[  FAILED  ] GeneratedTests.add_broadcast_4D_2D_after_nops_float_nnfw
[  FAILED  ] GeneratedTests.depthwise_conv2d_float_large_2_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_float_large_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_float_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_quant8_large_weights_as_inputs
[  FAILED  ] GeneratedTests.depthwise_conv2d_quant8_weights_as_inputs

Compiler FE: Enable IF Op

Lets enable IF Op

  • tflchef
  • tfldump / circledump
  • luci.IR
  • luci.Import
  • luci.Export
  • luci.logex
  • luci.Service
  • res/TensorFlowPythonExamples
  • res/TensorFlowLiteRecipes
  • tflite2circle
  • luci.tests

IF Op requires

  • multiple outputs and multiple subgraphs.
  • unused input/output support : #263

[runtime] Enable input reshaping

related to #56

Goal:

  • Make the following case work:
    #0 = placeholder([2, 2])
    #1 = placeholder([2])
    #2 = add (#0, #1)
    
  • calling sequence of nnfw api is
    1. nnfw_apply_tensorinfo(#0, shape=[4,2]) --> this will change the shape of input
    2. nnfw_compile()
    3. nnfw_set_input()
    4. nnfw_run()

[CI] push-android-runtime-build failed!

Last 50 lines of output:

Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on builder_serverpool_npubuilder3 (builder) in workspace /home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
[WS-CLEANUP] Done
using credential nnfw.bot
Cloning the remote Git repository
Cloning repository https://github.com/Samsung/ONE.git
 > git init /home/jenkins_slave/workspace/nnfw/master/push-android-runtime-build # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/* # timeout=10
 > git rev-parse origin/master^{commit} # timeout=10
Checking out Revision 8b37f5c00e00d85893cad7bff777b484f01ac754 (origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 8b37f5c00e00d85893cad7bff777b484f01ac754 # timeout=10
Commit message: "Initial commit"
 > git rev-list --no-walk ab1a04a7e4f2eab15eea9f16eb4c49f988733211 # timeout=10
[push-android-runtime-build] $ /bin/bash /tmp/jenkins1012469928961045901.sh
2020-04-16 19:22:29 URL:http://npu.mooo.com/archive/rootfs/master/android-ndk-r20.tar.gz [857664120/857664120] -> "tools/cross/ndk/r20/android-ndk-r20.tar.gz" [1]
2020-04-16 19:22:48 URL:http://npu.mooo.com/archive/prebuilt/libarmcl-v19.11-android.tar.gz [13217744/13217744] -> "prebuilt/acl/libarmcl-v19.11-android.tar.gz" [1]
Using docker image nnas:1804
bash: ./infra/scripts/build_android_runtime_release.sh: No such file or directory
Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
Build step 'Execute shell' marked build as failure

View full output
@STAR/nncc

[tflitefile_tool] select_operator.py does not support unknown shape

select_operator.py seemingly does not support unknown shape.

For example,

Operator 29: RESHAPE
	Fused Activation: NONE
	Input Tensors[482, 489]
		Tensor  482 : buffer  483 |  Empty | FLOAT32 | Memory 4.0B   | Shape Scalar (...)
		Tensor  489 : buffer  490 |  Empty | INT32   | Memory 8.0B   | Shape [2] (...)
	Output Tensors[490]
		Tensor  490 : buffer  491 |  Empty | FLOAT32 | Memory 4.0B   | Shape Scalar (...)

It succeed to generate one-op tflite. But tflite interpreter fails during running the generated tflite.

ERROR: tensorflow/lite/kernels/reshape.cc:66 num_input_elements != num_output_elements (1 != 416)
ERROR: Node number 0 (RESHAPE) failed to invoke.

[CI] push-nncc-release failed!

Last 50 lines of output:

Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on builder_serverpool_npubuilder1 (builder) in workspace /home/jenkins_slave/workspace/nnfw/release_1.4.0/push-nncc-release
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
using credential nnfw.bot
Cloning the remote Git repository
Cloning repository https://github.com/Samsung/ONE.git
 > git init /home/jenkins_slave/workspace/nnfw/release_1.4.0/push-nncc-release # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/Samsung/ONE.git # timeout=10
Fetching upstream changes from https://github.com/Samsung/ONE.git
using GIT_ASKPASS to set credentials 
Setting http proxy: 10.112.1.178:8080
 > git fetch --tags --progress https://github.com/Samsung/ONE.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse origin/release_1.4.0^{commit} # timeout=10
 > git rev-parse release_1.4.0^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

View full output

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.