16b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# 26b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# Copyright (C) 2017 The Android Open Source Project 36b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# 46b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# Licensed under the Apache License, Version 2.0 (the "License"); 56b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# you may not use this file except in compliance with the License. 66b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# You may obtain a copy of the License at 76b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# 86b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# http://www.apache.org/licenses/LICENSE-2.0 96b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# 106b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# Unless required by applicable law or agreed to in writing, software 116b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# distributed under the License is distributed on an "AS IS" BASIS, 126b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# See the License for the specific language governing permissions and 146b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# limitations under the License. 156b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# 166b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 176b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# model 186b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenmodel = Model() 196b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 206b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chend0 = 2 21e68d924a02511200be6186c947359dee7bb58f23Jean-Luc Brouilletd1 = 64 22e68d924a02511200be6186c947359dee7bb58f23Jean-Luc Brouilletd2 = 64 236b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chend3 = 2 246b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 256b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Cheni0 = Input("input", "TENSOR_QUANT8_ASYMM", "{%d, %d, %d, %d}, 1.f, 128" % (d0, d1, d2, d3)) 266b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 276b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenoutput = Output("output", "TENSOR_QUANT8_ASYMM", "{%d, %d, %d, %d}, 1.f, 128" % (d0, d1, d2, d3)) 286b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 296b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenmodel = model.Operation("RELU1", i0).To(output) 306b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 316b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# Example 1. Input in operand 0, 326b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenrng = d0 * d1 * d2 * d3 336b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Cheninput_values = (lambda r = rng: [x % 256 for x in range(r)])() 346b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Cheninput0 = {i0: input_values} 356b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenoutput_values = [127 if x < 127 else 129 if x > 129 else x for x in input_values] 366b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chenoutput0 = {output: output_values} 376b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen 386b884675d482221ebd6f73af5a127b9c02ab5fb1Dong Chen# Instantiate an example 396b884675d482221ebd6f73af5a127b9c02ab5fb1Dong ChenExample((input0, output0)) 40