/* ****************************************************************************** * * * This program and the accompanying materials are made available under the * terms of the Apache License, Version 2.0 which is available at * https://www.apache.org/licenses/LICENSE-2.0. * * See the NOTICE file distributed with this work for additional * information regarding copyright ownership. * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * * SPDX-License-Identifier: Apache-2.0 ******************************************************************************/ include "array.fbs"; include "utils.fbs"; namespace sd.graph; // Variable type for variables enum VarType:byte { VARIABLE, CONSTANT, ARRAY, PLACEHOLDER } table FlatVariable { id:IntPair; // ID of the Variable, in format of IntPair.first is node Id, IntPair.second is output index of the node name:string; // symbolic ID of the Variable (if defined) dtype:DType; shape:[long]; // shape is absolutely optional. either shape or ndarray might be set ndarray:FlatArray; device:int; // default is -1, which means _auto_ variabletype:VarType; controlDeps:[string]; controlDepForOp:[string]; controlDepsForVar:[string]; } root_type FlatVariable;