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