main.cc
// Given the output of a model run, and the name of a file containing the labels
// this prints out the top five highest-scoring values.
Given the output of a model run, and the name of a file containing the labels
this prints out the top five highest-scoring values.
Given the output of a model run and the name of a file containing the labels this prints out the top five highest - scoring values .
Status PrintTopLabels(const std::vector<Tensor> &outputs,
                      const string &labels_file_name) {
  std::vector<string> labels;
  size_t label_count;
  Status read_labels_status =
      ReadLabelsFile(labels_file_name, &labels, &label_count);
  if (!read_labels_status.ok()) {
    LOG(ERROR) << read_labels_status;
    return read_labels_status;
  }
  const int how_many_labels = std::min(5, static_cast<int>(label_count));
  Tensor indices;
  Tensor scores;
  TF_RETURN_IF_ERROR(GetTopLabels(outputs, how_many_labels, &indices, &scores));
  tensorflow::TTypes<float>::Flat scores_flat = scores.flat<float>();
  tensorflow::TTypes<int32>::Flat indices_flat = indices.flat<int32>();
  for (int pos = 0; pos < how_many_labels; ++pos) {
    const int label_index = indices_flat(pos);
    const float score = scores_flat(pos);
    LOG(INFO) << labels[label_index] << " (" << label_index << "): " << score;
  }
  return Status::OK();
}
Status PrintTopLabels ( const std :: vector < Tensor > & outputs , const string & labels_file_name ) { std :: vector < string > labels ; size_t label_count ; Status read_labels_status = ReadLabelsFile ( labels_file_name , & labels , & label_count ) ; if ( ! read_labels_status . ok ( ) ) { LOG ( ERROR ) << read_labels_status ; return read_labels_status ; } const int how_many_labels = std :: min ( 5 , static_cast < int > ( label_count ) ) ; Tensor indices ; Tensor scores ; TF_RETURN_IF_ERROR ( GetTopLabels ( outputs , how_many_labels , & indices , & scores ) ) ; tensorflow :: TTypes < float > :: Flat scores_flat = scores . flat < float > ( ) ; tensorflow :: TTypes < int32 > :: Flat indices_flat = indices . flat < int32 > ( ) ; for ( int pos = 0 ; pos < how_many_labels ; ++ pos ) { const int label_index = indices_flat ( pos ) ; const float score = scores_flat ( pos ) ; LOG ( INFO ) << labels [ label_index ] << " " << label_index << " " << score ; } return Status :: OK ( ) ; }
Given the output of a model run, and the name of a file containing the labels
this prints out the top five highest-scoring values.
Given the output of a model run and the name of a file containing the labels this prints out the top five highest - scoring values .