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