1syntax = "proto3"; 2 3package tensorflow; 4option cc_enable_arenas = true; 5option java_outer_classname = "ControlFlowProtos"; 6option java_multiple_files = true; 7option java_package = "org.tensorflow.framework"; 8 9// Control flow context related protocol buffers. 10 11// Protocol buffer representing the values in ControlFlowContext. 12message ValuesDef { 13 // Value names that have been seen in this context. 14 repeated string values = 1; 15 16 // Value names referenced by but external to this context. 17 map<string, string> external_values = 2; 18} 19 20// Protocol buffer representing a CondContext object. 21message CondContextDef { 22 // Name of the context. 23 string context_name = 1; 24 25 // Name of the pred tensor. 26 string pred_name = 2; 27 28 // Name of the pivot tensor. 29 string pivot_name = 3; 30 31 // Branch prediction. 0 or 1. 32 int32 branch = 4; 33 34 // Values and external values in control flow context. 35 ValuesDef values_def = 5; 36} 37 38// Protocol buffer representing a WhileContext object. 39message WhileContextDef { 40 // Name of the context. 41 string context_name = 1; 42 43 // The number of iterations allowed to run in parallel. 44 int32 parallel_iterations = 2; 45 46 // Whether backprop is enabled for this while loop. 47 bool back_prop = 3; 48 49 // Whether GPU-CPU memory swap is enabled for this loop. 50 bool swap_memory = 4; 51 52 // Name of the pivot tensor. 53 string pivot_name = 5; 54 55 // Name of the pivot_for_pred tensor. 56 string pivot_for_pred_name = 6; 57 58 // Name of the pivot_for_body tensor. 59 string pivot_for_body_name = 7; 60 61 // List of names for exit tensors. 62 repeated string loop_exit_names = 8; 63 64 // List of names for enter tensors. 65 repeated string loop_enter_names = 10; 66 67 // Values and external values in control flow context. 68 ValuesDef values_def = 9; 69 70 // Optional name of the maximum_iterations tensor. 71 string maximum_iterations_name = 11; 72 73 // Next available id: 12. 74} 75