sentence_input_batch.cc 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. #include "dragnn/io/sentence_input_batch.h"
  2. #include "syntaxnet/sentence.pb.h"
  3. namespace syntaxnet {
  4. namespace dragnn {
  5. void SentenceInputBatch::SetData(
  6. const std::vector<string> &stringified_sentence_protos) {
  7. for (const auto &stringified_proto : stringified_sentence_protos) {
  8. std::unique_ptr<Sentence> sentence(new Sentence);
  9. std::unique_ptr<WorkspaceSet> workspace_set(new WorkspaceSet);
  10. CHECK(sentence->ParseFromString(stringified_proto))
  11. << "Unable to parse string input as syntaxnet.Sentence.";
  12. SyntaxNetSentence aug_sentence(std::move(sentence),
  13. std::move(workspace_set));
  14. data_.push_back(std::move(aug_sentence));
  15. }
  16. }
  17. const std::vector<string> SentenceInputBatch::GetSerializedData() const {
  18. std::vector<string> output_data;
  19. output_data.resize(data_.size());
  20. for (int i = 0; i < data_.size(); ++i) {
  21. data_[i].sentence()->SerializeToString(&(output_data[i]));
  22. }
  23. return output_data;
  24. }
  25. } // namespace dragnn
  26. } // namespace syntaxnet