61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
|
/*******************************************************************************
|
||
|
* Copyright (c) 2015-2018 Skymind, Inc.
|
||
|
*
|
||
|
* 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.
|
||
|
*
|
||
|
* 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 "node.fbs";
|
||
|
include "config.fbs";
|
||
|
include "variable.fbs";
|
||
|
include "utils.fbs";
|
||
|
include "result.fbs";
|
||
|
include "request.fbs";
|
||
|
include "array.fbs";
|
||
|
|
||
|
namespace nd4j.graph;
|
||
|
|
||
|
table UpdaterState {
|
||
|
paramName:string; //Name of the parameter the updater state is for
|
||
|
updaterStateKeys:[string]; //Name of the updater state key (for example: "M" or "V" for Adam updater)
|
||
|
updaterStateValues:[FlatArray]; //Value of corresponding updater state key (for example: array for "M" updater state in Adam updater)
|
||
|
}
|
||
|
|
||
|
table FlatGraph {
|
||
|
id:long; // id of the graph
|
||
|
variables:[FlatVariable]; // list of variables
|
||
|
nodes:[FlatNode]; // list of nodes
|
||
|
outputs:[IntPair]; // list of output variables or nodes, in format of IntPair.first is node Id, IntPair.second is output index of the node
|
||
|
configuration:FlatConfiguration; // optional execution configuration
|
||
|
placeholders:[string]; //Placeholders. Used for SameDiff serialization/deserialization
|
||
|
lossVariables:[string]; //Variables that are marked as losses. Used for training.
|
||
|
trainingConfig:string; //JSON representation of training configuration. JSON used for custom functionality
|
||
|
updaterState:[UpdaterState]; //Updater state
|
||
|
}
|
||
|
|
||
|
|
||
|
table FlatDropRequest {
|
||
|
id:long; // id of the graph to be droppoed
|
||
|
}
|
||
|
|
||
|
table FlatResponse {
|
||
|
status:int; // status of operation
|
||
|
}
|
||
|
|
||
|
rpc_service GraphInferenceServer {
|
||
|
RegisterGraph(FlatGraph):FlatResponse;
|
||
|
ForgetGraph(FlatDropRequest):FlatResponse;
|
||
|
ReplaceGraph(FlatGraph):FlatResponse;
|
||
|
InferenceRequest(FlatInferenceRequest):FlatResult;
|
||
|
}
|
||
|
|
||
|
root_type FlatGraph;
|