1aba934df113efb34d727796b3ae959aebb9eb080leozwang#
2aba934df113efb34d727796b3ae959aebb9eb080leozwang# Copyright (C) 2017 The Android Open Source Project
3aba934df113efb34d727796b3ae959aebb9eb080leozwang#
4aba934df113efb34d727796b3ae959aebb9eb080leozwang# Licensed under the Apache License, Version 2.0 (the "License");
5aba934df113efb34d727796b3ae959aebb9eb080leozwang# you may not use this file except in compliance with the License.
6aba934df113efb34d727796b3ae959aebb9eb080leozwang# You may obtain a copy of the License at
7aba934df113efb34d727796b3ae959aebb9eb080leozwang#
8aba934df113efb34d727796b3ae959aebb9eb080leozwang#      http://www.apache.org/licenses/LICENSE-2.0
9aba934df113efb34d727796b3ae959aebb9eb080leozwang#
10aba934df113efb34d727796b3ae959aebb9eb080leozwang# Unless required by applicable law or agreed to in writing, software
11aba934df113efb34d727796b3ae959aebb9eb080leozwang# distributed under the License is distributed on an "AS IS" BASIS,
12aba934df113efb34d727796b3ae959aebb9eb080leozwang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aba934df113efb34d727796b3ae959aebb9eb080leozwang# See the License for the specific language governing permissions and
14aba934df113efb34d727796b3ae959aebb9eb080leozwang# limitations under the License.
15aba934df113efb34d727796b3ae959aebb9eb080leozwang#
165848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan
175848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfanmodel = Model()
18d3cfaf40ef8a4723fa1e6d707420f0abda4ad586gfanin0 = Input("op1", "TENSOR_FLOAT32", "{3, 1}")
19297c580a2d2da2839d936437bf4e3a4c64034950I-Jui (Ray) Sungweights = Parameter("op2", "TENSOR_FLOAT32", "{1, 1}", [2])
20297c580a2d2da2839d936437bf4e3a4c64034950I-Jui (Ray) Sungbias = Parameter("b0", "TENSOR_FLOAT32", "{1}", [4])
21d3cfaf40ef8a4723fa1e6d707420f0abda4ad586gfanout0 = Output("op3", "TENSOR_FLOAT32", "{3, 1}")
225848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfanact = Int32Scalar("act", 0)
235848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfanmodel = model.Operation("FULLY_CONNECTED", in0, weights, bias, act).To(out0)
245848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan
255848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan# Example 1. Input in operand 0,
265848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfaninput0 = {in0: # input 0
27297c580a2d2da2839d936437bf4e3a4c64034950I-Jui (Ray) Sung          [2, 32, 16]}
285848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfanoutput0 = {out0: # output 0
295848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan               [8, 68, 36]}
305848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan
315848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfan# Instantiate an example
325848acc8c9ebb25acfcdcefeba6ec8aeb600e072gfanExample((input0, output0))
33