|
- /* Copyright 2021 Tianshu AI Platform. All Rights Reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://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.
- ============================================================= */
-
- syntax = "proto3";
-
- package oneflow;
-
- import "oneflow/customized/utils/node_def.proto";
- //import "tensorflow/core/framework/function.proto";
- import "oneflow/customized/utils/versions.proto";
-
- // Represents the graph of operations
- message GraphDef {
- repeated NodeDef node = 1;
-
- // Compatibility versions of the graph. See core/public/version.h for version
- // history. The GraphDef version is distinct from the TensorFlow version, and
- // each release of TensorFlow will support a range of GraphDef versions.
- VersionDef versions = 4;
-
- // Deprecated single version field; use versions above instead. Since all
- // GraphDef changes before "versions" was introduced were forward
- // compatible, this field is entirely ignored.
- int32 version = 3 [deprecated = true];
-
- // EXPERIMENTAL. DO NOT USE OR DEPEND ON THIS YET.
- //
- // "library" provides user-defined functions.
- //
- // Naming:
- // * library.function.name are in a flat namespace.
- // NOTE: We may need to change it to be hierarchical to support
- // different orgs. E.g.,
- // { "/google/nn", { ... }},
- // { "/google/vision", { ... }}
- // { "/org_foo/module_bar", { ... }}
- // map<string, FunctionDefLib> named_lib;
- // * If node[i].op is the name of one function in "library",
- // node[i] is deemed as a function call. Otherwise, node[i].op
- // must be a primitive operation supported by the runtime.
- //
- //
- // Function call semantics:
- //
- // * The callee may start execution as soon as some of its inputs
- // are ready. The caller may want to use Tuple() mechanism to
- // ensure all inputs are ready in the same time.
- //
- // * The consumer of return values may start executing as soon as
- // the return values the consumer depends on are ready. The
- // consumer may want to use Tuple() mechanism to ensure the
- // consumer does not start until all return values of the callee
- // function are ready.
- //FunctionDefLibrary library = 2;
- };
|