<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kubeflow – Katib v1alpha3</title>
    <link>/docs/reference/katib/v1alpha3/</link>
    <description>Recent content in Katib v1alpha3 on Kubeflow</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	  <atom:link href="/docs/reference/katib/v1alpha3/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Katib</title>
      <link>/docs/reference/katib/v1alpha3/katib/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/reference/katib/v1alpha3/katib/</guid>
      <description>
        
        
        &lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#apiproto&#34;&gt;api.proto&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#algorithmsetting&#34;&gt;AlgorithmSetting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#algorithmspec&#34;&gt;AlgorithmSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#deleteobservationlogreply&#34;&gt;DeleteObservationLogReply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#deleteobservationlogrequest&#34;&gt;DeleteObservationLogRequest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#earlystoppingspec&#34;&gt;EarlyStoppingSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#experiment&#34;&gt;Experiment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#experimentspec&#34;&gt;ExperimentSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#experimentspecparameterspecs&#34;&gt;ExperimentSpec.ParameterSpecs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#feasiblespace&#34;&gt;FeasibleSpace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#getobservationlogreply&#34;&gt;GetObservationLogReply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#getobservationlogrequest&#34;&gt;GetObservationLogRequest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#getsuggestionsreply&#34;&gt;GetSuggestionsReply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#getsuggestionsreplyparameterassignments&#34;&gt;GetSuggestionsReply.ParameterAssignments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#getsuggestionsrequest&#34;&gt;GetSuggestionsRequest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#graphconfig&#34;&gt;GraphConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#metric&#34;&gt;Metric&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#metriclog&#34;&gt;MetricLog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#nasconfig&#34;&gt;NasConfig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#nasconfigoperations&#34;&gt;NasConfig.Operations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#objectivespec&#34;&gt;ObjectiveSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#observation&#34;&gt;Observation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#observationlog&#34;&gt;ObservationLog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#operation&#34;&gt;Operation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#operationparameterspecs&#34;&gt;Operation.ParameterSpecs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#parameterassignment&#34;&gt;ParameterAssignment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#parameterspec&#34;&gt;ParameterSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#reportobservationlogreply&#34;&gt;ReportObservationLogReply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#reportobservationlogrequest&#34;&gt;ReportObservationLogRequest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trial&#34;&gt;Trial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trialspec&#34;&gt;TrialSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trialspecparameterassignments&#34;&gt;TrialSpec.ParameterAssignments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trialstatus&#34;&gt;TrialStatus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#validatealgorithmsettingsreply&#34;&gt;ValidateAlgorithmSettingsReply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#validatealgorithmsettingsrequest&#34;&gt;ValidateAlgorithmSettingsRequest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#objectivetype&#34;&gt;ObjectiveType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#parametertype&#34;&gt;ParameterType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#trialstatustrialconditiontype&#34;&gt;TrialStatus.TrialConditionType&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#earlystopping&#34;&gt;EarlyStopping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#manager&#34;&gt;Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#suggestion&#34;&gt;Suggestion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#scalar-value-types&#34;&gt;Scalar Value Types&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.ObjectiveType&#34;&gt;ObjectiveType&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterType&#34;&gt;ParameterType&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.TrialStatus.TrialConditionType&#34;&gt;TrialStatus.TrialConditionType&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.EarlyStopping&#34;&gt;EarlyStopping&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.Manager&#34;&gt;Manager&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#api.v1.alpha3.Suggestion&#34;&gt;Suggestion&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#scalar-value-types&#34;&gt;Scalar Value Types&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;api.proto&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align=&#34;right&#34;&gt;&lt;a href=&#34;#top&#34;&gt;Top&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;apiproto&#34;&gt;api.proto&lt;/h2&gt;
&lt;p&gt;Katib API v1alpha3&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.AlgorithmSetting&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;algorithmsetting&#34;&gt;AlgorithmSetting&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.AlgorithmSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;algorithmspec&#34;&gt;AlgorithmSpec&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;algorithm_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;algorithm_setting&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.AlgorithmSetting&#34;&gt;AlgorithmSetting&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;early_stopping_spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.EarlyStoppingSpec&#34;&gt;EarlyStoppingSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.DeleteObservationLogReply&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;deleteobservationlogreply&#34;&gt;DeleteObservationLogReply&lt;/h3&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.DeleteObservationLogRequest&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;deleteobservationlogrequest&#34;&gt;DeleteObservationLogRequest&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;trial_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.EarlyStoppingSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;earlystoppingspec&#34;&gt;EarlyStoppingSpec&lt;/h3&gt;
&lt;p&gt;TODO: This feature is not yet fully implemented.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Experiment&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;experiment&#34;&gt;Experiment&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Name of Experiment. This is unique in DB.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ExperimentSpec&#34;&gt;ExperimentSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ExperimentSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;experimentspec&#34;&gt;ExperimentSpec&lt;/h3&gt;
&lt;p&gt;Spec of a Experiment. Experiment represents a single optimization run over a feasible space.
Each Experiment contains a configuration describing the feasible space, as well as a set of Trials.
It is assumed that objective function f(x) does not change in the course of a Experiment.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;parameter_specs&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ExperimentSpec.ParameterSpecs&#34;&gt;ExperimentSpec.ParameterSpecs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;objective&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ObjectiveSpec&#34;&gt;ObjectiveSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;algorithm&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.AlgorithmSpec&#34;&gt;AlgorithmSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;trial_template&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;metrics_collector_spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;parallel_trial_count&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;max_trial_count&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nas_config&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.NasConfig&#34;&gt;NasConfig&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ExperimentSpec.ParameterSpecs&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;experimentspecparameterspecs&#34;&gt;ExperimentSpec.ParameterSpecs&lt;/h3&gt;
&lt;p&gt;List of ParameterSpec&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;parameters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterSpec&#34;&gt;ParameterSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.FeasibleSpace&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;feasiblespace&#34;&gt;FeasibleSpace&lt;/h3&gt;
&lt;p&gt;Feasible space for optimization.
Int and Double type use Max/Min.
Discrete and Categorical type use List.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;max&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Max Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;min&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Minimum Value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;list&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;List of Values.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;step&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Step for double or int parameter&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GetObservationLogReply&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;getobservationlogreply&#34;&gt;GetObservationLogReply&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;observation_log&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ObservationLog&#34;&gt;ObservationLog&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GetObservationLogRequest&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;getobservationlogrequest&#34;&gt;GetObservationLogRequest&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;trial_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;metric_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;start_time&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;The start of the time range. RFC3339 format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;end_time&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;The end of the time range. RFC3339 format&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GetSuggestionsReply&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;getsuggestionsreply&#34;&gt;GetSuggestionsReply&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;parameter_assignments&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GetSuggestionsReply.ParameterAssignments&#34;&gt;GetSuggestionsReply.ParameterAssignments&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;algorithm&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.AlgorithmSpec&#34;&gt;AlgorithmSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GetSuggestionsReply.ParameterAssignments&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;getsuggestionsreplyparameterassignments&#34;&gt;GetSuggestionsReply.ParameterAssignments&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;assignments&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterAssignment&#34;&gt;ParameterAssignment&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GetSuggestionsRequest&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;getsuggestionsrequest&#34;&gt;GetSuggestionsRequest&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;experiment&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Experiment&#34;&gt;Experiment&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;trials&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Trial&#34;&gt;Trial&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;all completed trials owned by the experiment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;request_number&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;The number of Suggestion you request at one time. When you set 3 to request_number, you can get three Suggestions at one time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.GraphConfig&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;graphconfig&#34;&gt;GraphConfig&lt;/h3&gt;
&lt;p&gt;GraphConfig contains a config of DAG&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;num_layers&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Number of layers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;input_sizes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;Dimensions of input size&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;output_sizes&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#int32&#34;&gt;int32&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;Dimensions of output size&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Metric&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;metric&#34;&gt;Metric&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.MetricLog&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;metriclog&#34;&gt;MetricLog&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;time_stamp&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;RFC3339 format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;metric&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Metric&#34;&gt;Metric&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.NasConfig&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;nasconfig&#34;&gt;NasConfig&lt;/h3&gt;
&lt;p&gt;NasConfig contains a config of NAS job&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;graph_config&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GraphConfig&#34;&gt;GraphConfig&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Config of DAG&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;operations&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.NasConfig.Operations&#34;&gt;NasConfig.Operations&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;List of Operation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.NasConfig.Operations&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;nasconfigoperations&#34;&gt;NasConfig.Operations&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;operation&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Operation&#34;&gt;Operation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ObjectiveSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;objectivespec&#34;&gt;ObjectiveSpec&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;type&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ObjectiveType&#34;&gt;ObjectiveType&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;goal&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#double&#34;&gt;double&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;objective_metric_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;additional_metric_names&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;This can be empty if we only care about the objective metric.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Observation&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;observation&#34;&gt;Observation&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;metrics&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Metric&#34;&gt;Metric&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ObservationLog&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;observationlog&#34;&gt;ObservationLog&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;metric_logs&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.MetricLog&#34;&gt;MetricLog&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Operation&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;operation&#34;&gt;Operation&lt;/h3&gt;
&lt;p&gt;Config for operations in DAG&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;operation_type&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Type of operation in DAG&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;parameter_specs&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Operation.ParameterSpecs&#34;&gt;Operation.ParameterSpecs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Operation.ParameterSpecs&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;operationparameterspecs&#34;&gt;Operation.ParameterSpecs&lt;/h3&gt;
&lt;p&gt;List of ParameterSpec&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;parameters&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterSpec&#34;&gt;ParameterSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ParameterAssignment&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;parameterassignment&#34;&gt;ParameterAssignment&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;value&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ParameterSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;parameterspec&#34;&gt;ParameterSpec&lt;/h3&gt;
&lt;p&gt;Config for a Hyper parameter.
Katib will create each Hyper parameter from this config.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Name of the parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;parameter_type&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterType&#34;&gt;ParameterType&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Type of the parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;feasible_space&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.FeasibleSpace&#34;&gt;FeasibleSpace&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;FeasibleSpace for the parameter.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ReportObservationLogReply&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;reportobservationlogreply&#34;&gt;ReportObservationLogReply&lt;/h3&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ReportObservationLogRequest&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;reportobservationlogrequest&#34;&gt;ReportObservationLogRequest&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;trial_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;observation_log&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ObservationLog&#34;&gt;ObservationLog&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Trial&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;trial&#34;&gt;Trial&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.TrialSpec&#34;&gt;TrialSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;status&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.TrialStatus&#34;&gt;TrialStatus&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.TrialSpec&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;trialspec&#34;&gt;TrialSpec&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;experiment_name&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;objective&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ObjectiveSpec&#34;&gt;ObjectiveSpec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;parameter_assignments&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.TrialSpec.ParameterAssignments&#34;&gt;TrialSpec.ParameterAssignments&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;run_spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;metrics_collector_spec&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.TrialSpec.ParameterAssignments&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;trialspecparameterassignments&#34;&gt;TrialSpec.ParameterAssignments&lt;/h3&gt;
&lt;p&gt;List of ParameterAssignment&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;assignments&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ParameterAssignment&#34;&gt;ParameterAssignment&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;repeated&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.TrialStatus&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;trialstatus&#34;&gt;TrialStatus&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;start_time&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;RFC3339 format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;completion_time&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#string&#34;&gt;string&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;RFC3339 format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;condition&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.TrialStatus.TrialConditionType&#34;&gt;TrialStatus.TrialConditionType&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;observation&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Observation&#34;&gt;Observation&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;The best observation in logs.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ValidateAlgorithmSettingsReply&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;validatealgorithmsettingsreply&#34;&gt;ValidateAlgorithmSettingsReply&lt;/h3&gt;
&lt;p&gt;Return INVALID_ARGUMENT Error if Algorithm Settings are not Valid&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ValidateAlgorithmSettingsRequest&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;validatealgorithmsettingsrequest&#34;&gt;ValidateAlgorithmSettingsRequest&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Label&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;experiment&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.Experiment&#34;&gt;Experiment&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ObjectiveType&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;objectivetype&#34;&gt;ObjectiveType&lt;/h3&gt;
&lt;p&gt;Direction of optimization. Minimize or Maximize.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Number&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;UNKNOWN&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Undefined type and not used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MINIMIZE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Minimize&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MAXIMIZE&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Maximize&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.ParameterType&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;parametertype&#34;&gt;ParameterType&lt;/h3&gt;
&lt;p&gt;Types of value for HyperParameter.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Number&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;UNKNOWN_TYPE&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Undefined type and not used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DOUBLE&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Double float type. Use &amp;quot;Max/Min&amp;quot;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;INT&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Int type. Use &amp;quot;Max/Min&amp;quot;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DISCRETE&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Discrete number type. Use &amp;quot;List&amp;quot; as float.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CATEGORICAL&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Categorical type. Use &amp;quot;List&amp;quot; as string.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.TrialStatus.TrialConditionType&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;trialstatustrialconditiontype&#34;&gt;TrialStatus.TrialConditionType&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Number&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CREATED&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RUNNING&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SUCCEEDED&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;KILLED&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FAILED&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UNKNOWN&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.EarlyStopping&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;earlystopping&#34;&gt;EarlyStopping&lt;/h3&gt;
&lt;p&gt;TODO: This feature is not yet fully implemented.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method Name&lt;/th&gt;
&lt;th&gt;Request Type&lt;/th&gt;
&lt;th&gt;Response Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Manager&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;manager&#34;&gt;Manager&lt;/h3&gt;
&lt;p&gt;Service for Main API for Katib
For each RPC service, we define mapping to HTTP REST API method.
The mapping includes the URL path, query parameters and request body.
&lt;a href=&#34;https://cloud.google.com/service-infrastructure/docs/service-management/reference/rpc/google.api#http&#34;&gt;https://cloud.google.com/service-infrastructure/docs/service-management/reference/rpc/google.api#http&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method Name&lt;/th&gt;
&lt;th&gt;Request Type&lt;/th&gt;
&lt;th&gt;Response Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ReportObservationLog&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ReportObservationLogRequest&#34;&gt;ReportObservationLogRequest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ReportObservationLogReply&#34;&gt;ReportObservationLogReply&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Report a log of Observations for a Trial. The log consists of timestamp and value of metric. Katib store every log of metrics. You can see accuracy curve or other metric logs on UI.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GetObservationLog&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GetObservationLogRequest&#34;&gt;GetObservationLogRequest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GetObservationLogReply&#34;&gt;GetObservationLogReply&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Get all log of Observations for a Trial.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeleteObservationLog&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.DeleteObservationLogRequest&#34;&gt;DeleteObservationLogRequest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.DeleteObservationLogReply&#34;&gt;DeleteObservationLogReply&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Delete all log of Observations for a Trial.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a name=&#34;api.v1.alpha3.Suggestion&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;suggestion&#34;&gt;Suggestion&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Method Name&lt;/th&gt;
&lt;th&gt;Request Type&lt;/th&gt;
&lt;th&gt;Response Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GetSuggestions&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GetSuggestionsRequest&#34;&gt;GetSuggestionsRequest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.GetSuggestionsReply&#34;&gt;GetSuggestionsReply&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ValidateAlgorithmSettings&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ValidateAlgorithmSettingsRequest&#34;&gt;ValidateAlgorithmSettingsRequest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&#34;#api.v1.alpha3.ValidateAlgorithmSettingsReply&#34;&gt;ValidateAlgorithmSettingsReply&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;scalar-value-types&#34;&gt;Scalar Value Types&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;.proto Type&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;th&gt;C++ Type&lt;/th&gt;
&lt;th&gt;Java Type&lt;/th&gt;
&lt;th&gt;Python Type&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;double&#34; /&gt; double&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;double&lt;/td&gt;
&lt;td&gt;double&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;float&#34; /&gt; float&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;int32&#34; /&gt; int32&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.&lt;/td&gt;
&lt;td&gt;int32&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;int64&#34; /&gt; int64&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.&lt;/td&gt;
&lt;td&gt;int64&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;uint32&#34; /&gt; uint32&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding.&lt;/td&gt;
&lt;td&gt;uint32&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;uint64&#34; /&gt; uint64&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding.&lt;/td&gt;
&lt;td&gt;uint64&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;sint32&#34; /&gt; sint32&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.&lt;/td&gt;
&lt;td&gt;int32&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;sint64&#34; /&gt; sint64&lt;/td&gt;
&lt;td&gt;Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.&lt;/td&gt;
&lt;td&gt;int64&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;fixed32&#34; /&gt; fixed32&lt;/td&gt;
&lt;td&gt;Always four bytes. More efficient than uint32 if values are often greater than 2^28.&lt;/td&gt;
&lt;td&gt;uint32&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;fixed64&#34; /&gt; fixed64&lt;/td&gt;
&lt;td&gt;Always eight bytes. More efficient than uint64 if values are often greater than 2^56.&lt;/td&gt;
&lt;td&gt;uint64&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;sfixed32&#34; /&gt; sfixed32&lt;/td&gt;
&lt;td&gt;Always four bytes.&lt;/td&gt;
&lt;td&gt;int32&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;sfixed64&#34; /&gt; sfixed64&lt;/td&gt;
&lt;td&gt;Always eight bytes.&lt;/td&gt;
&lt;td&gt;int64&lt;/td&gt;
&lt;td&gt;long&lt;/td&gt;
&lt;td&gt;int/long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;bool&#34; /&gt; bool&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;bool&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;td&gt;boolean&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;string&#34; /&gt; string&lt;/td&gt;
&lt;td&gt;A string must always contain UTF-8 encoded or 7-bit ASCII text.&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;String&lt;/td&gt;
&lt;td&gt;str/unicode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a name=&#34;bytes&#34; /&gt; bytes&lt;/td&gt;
&lt;td&gt;May contain any arbitrary sequence of bytes.&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;ByteString&lt;/td&gt;
&lt;td&gt;str&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
  </channel>
</rss>
