// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/framework/cost_graph.proto

module tensorflow.cost_graph;

import google.protobuf;
import tensorflow.tensor_shape;
import tensorflow.types;

enum protocVersion = 3012004;

class CostGraphDef
{
    @Proto(1) CostGraphDef.Node[] node = protoDefaultValue!(CostGraphDef.Node[]);

    static class Node
    {
        @Proto(1) string name = protoDefaultValue!(string);
        @Proto(2) string device = protoDefaultValue!(string);
        @Proto(3) int id = protoDefaultValue!(int);
        @Proto(4) CostGraphDef.Node.InputInfo[] inputInfo = protoDefaultValue!(CostGraphDef.Node.InputInfo[]);
        @Proto(5) CostGraphDef.Node.OutputInfo[] outputInfo = protoDefaultValue!(CostGraphDef.Node.OutputInfo[]);
        @Proto(6) long temporaryMemorySize = protoDefaultValue!(long);
        @Proto(7) bool isFinal = protoDefaultValue!(bool);
        @Proto(8, Wire.none, Yes.packed) int[] controlInput = protoDefaultValue!(int[]);
        @Proto(9) long computeCost = protoDefaultValue!(long);
        @Proto(10) long hostTempMemorySize = protoDefaultValue!(long);
        @Proto(11) long deviceTempMemorySize = protoDefaultValue!(long);
        @Proto(12) long persistentMemorySize = protoDefaultValue!(long);
        @Proto(14) long computeTime = protoDefaultValue!(long);
        @Proto(15) long memoryTime = protoDefaultValue!(long);
        @Proto(16) long devicePersistentMemorySize = protoDefaultValue!(long);
        @Proto(17) bool inaccurate = protoDefaultValue!(bool);

        static class InputInfo
        {
            @Proto(1) int precedingNode = protoDefaultValue!(int);
            @Proto(2) int precedingPort = protoDefaultValue!(int);
        }

        static class OutputInfo
        {
            @Proto(1) long size = protoDefaultValue!(long);
            @Proto(2) long aliasInputPort = protoDefaultValue!(long);
            @Proto(3) TensorShapeProto shape = protoDefaultValue!(TensorShapeProto);
            @Proto(4) DataType dtype = protoDefaultValue!(DataType);
        }
    }
}