1ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# 2ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# Copyright (C) 2018 The Android Open Source Project 3ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# 4ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# Licensed under the Apache License, Version 2.0 (the "License"); 5ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# you may not use this file except in compliance with the License. 6ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# You may obtain a copy of the License at 7ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# 8ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# http://www.apache.org/licenses/LICENSE-2.0 9ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# 10ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# Unless required by applicable law or agreed to in writing, software 11ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# distributed under the License is distributed on an "AS IS" BASIS, 12ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# See the License for the specific language governing permissions and 14ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# limitations under the License. 15ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# 16ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 17ad1af843de16e98b215782f881985d08f0b03b98Michael Butlermodel = Model() 18ad1af843de16e98b215782f881985d08f0b03b98Michael Butleri1 = Input("input", "TENSOR_FLOAT32", "{2, 3, 4, 5}") 19ad1af843de16e98b215782f881985d08f0b03b98Michael Butlerperms = Parameter("perms", "TENSOR_INT32", "{4}", [2, 0, 1, 3]) 20ad1af843de16e98b215782f881985d08f0b03b98Michael Butleroutput = Output("output", "TENSOR_FLOAT32", "{4, 2, 3, 5}") 21ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 22ad1af843de16e98b215782f881985d08f0b03b98Michael Butlermodel = model.Operation("TRANSPOSE", i1, perms).To(output) 23ad1af843de16e98b215782f881985d08f0b03b98Michael Butlermodel = model.RelaxedExecution(True) 24ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 25ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# Example 1. Input in operand 0, 26ad1af843de16e98b215782f881985d08f0b03b98Michael Butlerinput0 = {i1: # input 0 27ad1af843de16e98b215782f881985d08f0b03b98Michael Butler [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 28ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 29ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 30ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 31ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 32ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 33ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 34ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 35ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 36ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119]} 37ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 38ad1af843de16e98b215782f881985d08f0b03b98Michael Butleroutput0 = {output: # output 0 39ad1af843de16e98b215782f881985d08f0b03b98Michael Butler [0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 40, 41, 42, 43, 44, 40ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 60, 61, 62, 63, 64, 80, 81, 82, 83, 84, 100, 101, 102, 103, 104, 41ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 5, 6, 7, 8, 9, 25, 26, 27, 28, 29, 45, 46, 47, 48, 49, 42ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 65, 66, 67, 68, 69, 85, 86, 87, 88, 89, 105, 106, 107, 108, 109, 43ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 10, 11, 12, 13, 14, 30, 31, 32, 33, 34, 50, 51, 52, 53, 54, 44ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 70, 71, 72, 73, 74, 90, 91, 92, 93, 94, 110, 111, 112, 113, 114, 45ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 15, 16, 17, 18, 19, 35, 36, 37, 38, 39, 55, 56, 57, 58, 59, 46ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 75, 76, 77, 78, 79, 95, 96, 97, 98, 99, 115, 116, 117, 118, 119]} 47ad1af843de16e98b215782f881985d08f0b03b98Michael Butler 48ad1af843de16e98b215782f881985d08f0b03b98Michael Butler# Instantiate an example 49ad1af843de16e98b215782f881985d08f0b03b98Michael ButlerExample((input0, output0)) 50