1829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# 2829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# Copyright (C) 2018 The Android Open Source Project 3829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# 4829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# Licensed under the Apache License, Version 2.0 (the "License"); 5829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# you may not use this file except in compliance with the License. 6829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# You may obtain a copy of the License at 7829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# 8829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# http://www.apache.org/licenses/LICENSE-2.0 9829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# 10829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# Unless required by applicable law or agreed to in writing, software 11829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# distributed under the License is distributed on an "AS IS" BASIS, 12829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# See the License for the specific language governing permissions and 14829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# limitations under the License. 15829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# 16829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang 17829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangmodel = Model() 18829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangin0 = Input("op1", "TENSOR_FLOAT32", "{2, 2}") 19829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangweights = Parameter("op2", "TENSOR_FLOAT32", "{1, 2}", [2, 4]) 20829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangbias = Parameter("b0", "TENSOR_FLOAT32", "{1}", [1]) 21829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangout0 = Output("op3", "TENSOR_FLOAT32", "{2, 1}") 22829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangact = Int32Scalar("act", 0) 23829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangmodel = model.Operation("FULLY_CONNECTED", in0, weights, bias, act).To(out0) 24829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang 25829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# Example 1. Input in operand 0, 26829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wanginput0 = {in0: # input 0 27829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang [1, 2, 2, 1]} 28829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wangoutput0 = {out0: # output 0 29829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang [11, 9]} 30829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang 31829a18d4c706c5562931ad05d1d62c3aac9fb618Miao Wang# Instantiate an example 32829a18d4c706c5562931ad05d1d62c3aac9fb618Miao WangExample((input0, output0)) 33